|
** 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 액세스 버전(95,97,2000,2002):2002
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):xp
3. CPU (486,PentiumI/II/III/IV...):p-4
4. RAM (32,64,128,256,512MB,1G...): 786
* 아래줄에 질문을 작성하세요 >>
여기서부터 아래 하단부까지는 지난번에 올렸던 글이구요...여기에 추가적으로 질문을 드리고 싶어서 다시한번, 더 구체적인 질문을 드립니다.
---------------------------------------------------------------------------------------------------------------------------------------
일단은 이 글을 읽어주신 분께 감사를^^;; 참 정말이지 access로 데이터베이스화 하는데 도전을 해본지 2주정도밖에 안됐는데 정말 쉽지가 않네요. 특히 자신의 문제를 데이터베이스화를 통해서 체계화한다는게 어려운듯 합니다.
긴글이 될듯 하니 , 혹시 시간이 없으시거나 피곤하신분들은 얼른 다른 페이지로 ^^;;ㅎㅎㅎ
제 수준은 dbabc사이트 운영자님께서 지으신 책을 비롯해서 두세권의 초보를 위한 책을 읽고, 또 나름대로 제가 원하는 의학정보들의 데이터베이스화를 위해 디자인도 해보고 머 이정도 수준입니다. 제가 질문을 올리는 것은 마지막.. 20퍼센트 정도의... 어려운 점을 해결하고자 이렇게 글을 올리게 되었습니다. 아마도 고수님들께서는 몇줄로써 저의 지적 목마름(^^;;)을 해결해 주실수도 있을것 같아서요. 부디부디....
제가 지금 데이터베이스화 하려는 내용중 핵심은
1. 환자-처방 에 관한 데이터를 쉽고 간편하게 다루고
2. 계속 추가되는 정보(환자나 처방)에 대해서 업데이트를 할수 있고
3. 기존의 환자정보나 처방정보에 대해서 검색기능이 좋아야합...
이정도 입니다^^
1번과 2번의 경우는 데이터를 정리할수 있을듯 합니다. 할만하더라구요
ㅎㅎ 그런데 문제는 3번에 있습니다.
저는 한의대 생입니다. 따라서 제가 원하는 처방정보의 정리는 이런식이 됩니다.
1번 테이블 2번테이블(처방)
a약제 00001 a처방 000001
b약제 00002 b처방 000002
c약제 00003 c처방 000003
.... .....
3번테이블(처방과 구성약제)
처방 약제
000001 00001
000001 00002
000001 00003
000002 00001
000002 00003
000003 00001
.
.
.
이런식으로 테이블을 만들어 구성하면 먼~ 훗날까지 많은 약제와 처방명이 추가된다고 하더라도 계속해서 업뎃이 쉬울듯 했습니다. 그런데 문제는 3번테이블에서 ...
만약에 1번 or 3번 약제를 가진 처방을 찾으려고 하면 쉽겠지만
1번 and 3번 약제를 가진 처방을 찾으려고 한다면
어떻게 해야하나요?
그러니까 확인하는의미에서 예를 들자면요
3번테이블에서 보면 알수있듯이
1번 or 3번약제를 가진 처방은 1,2,3번 처방 모두가 되지만
1번 and 3번 약제를 가진 처방은 3번을 제외한 1,2번 처방이 되겠죠.
저는 1번 and 3번 약제를 모두가진 처방은? 이라는 검색을 더 많이 이용할것 같은데 정말이지 쉽지가 않습니다.
예전에 제가 정말이지 책한권도 안읽고 데이터베이스화를 하려고 했을때는
처방명 field1 field2 field3 field4 field5 field6 field7
00001 00001 00003 00002
00002 00001 00003
00003 00001
이런식으로 만든 다음에 SQL을 이용해서 필드1~7까지 ...머 이런식으로 검색을 하려고 하였으나 투자하는 시간에 비해서 훗날 데이터베이스를 이용하는 효율성은 정말 너무너무떨어지는것 같아서....
DBABC사이트 운영자님의 데이터베이스강의를 읽고 머리를 짜내봤는데 아무리 해봐도 제가 만든 테이블에서는 1번 약제와 2번약제를 모두 포함하는 처방명...을 찾는 쿼리나 SQL은 만들기가 힘드네요.
제 질문이 정확했는지 모르겠습니다.
제 생각에 예전에 혹시 의원이나 병원에서의 데이터베이스를 구성해 보셨던 분이라면 의외로 쉽게 풀어주실수 있을거 같아서 여쭤봅니다.
제 나름대로는 길게보고 조금씩 환자나 처방이나 특별한 CASE들을 잘 정리해 보려고 시작한 일인데, 항상 고수님들의 바짓가랭이 잡고 늘어지는 거 같아 항상 죄송합니다^^부디 고수님들의 명쾌한 한 줄 기대해 봅니다 .
------------------==============================================
여기까지가 지난번에 올렸던 글입니다. 그래서 어떤님께서 어두운 구름사이 한줄기 빛같은 해결책을 주셨습니다.
그해결방법은...
3번테이블의 사본을 만들어서...
쿼리에는...
herbcode herbcode herbname
3번테이블 3번테이블사본 1번테이블
2(2번허브) 3(3번허브)
이렇게 하면 2번과 3번허브를 모두 포함하고 있는 처방을 찾아낼수 있게됩니다. 그런데 이 방법의 문제점은 , 동시에 검색하려고 하는 허브의 종류가 많을수록 사본을 많이 만들게 되고, 만약에 데이터베이스의 용량이 커질수록 검색하는 속도도 많이 늦어질거 같고... 암튼 문제점이 있는것 같습니다. 소규모데이터베이스일 경우는 차이가 없겠지만... 커질수록, 그리고 동시에 가지고 있어야 하는 약재(허브)의 수가 많을수록 사본의 개수도 많아지니까 컴도 힘들어 지겠죠. ^^다른해결방법좀 주세요~ 한줄의 코멘트가 이 컴맹의 한맺힌 설움을..앗...죄송합니다....암튼...고수님의 도움을...^^부탁드립니다. |
|