ν”„λ‘œμ νŠΈ/κΆŒμ—­μ™Έμƒμ„Όν„° λ°μ΄ν„°λ² μ΄μŠ€ λͺ¨λΈ 섀계

μ•„μ£ΌλŒ€ν•™κ΅ κΆŒμ—­μ‘κΈ‰μ™Έμƒμ„Όν„° λ°μ΄ν„°λ² μ΄μŠ€ - 물리적 섀계

mmin.h 2020. 12. 27. 12:55

물리적섀계

인덱슀 섀계

μ• νŠΈλ¦¬λ·°νŠΈμ™€ νŠœν”Œμ΄ 많이 μ‘΄μž¬ν•˜κ³  μƒμ΄ν•œ 값듀이 λ§Žμ€ PATIENT (ν™˜μž) ν…Œμ΄λΈ”μ— 검색을 보닀 λΉ λ₯΄κ²Œ ν•˜κΈ° μœ„ν•΄μ„œ REGIST_NUM(μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ)λ₯Ό 인덱슀둜 μƒμ„±ν•˜μ˜€λ‹€.

CHART(차트) ν…Œμ΄λΈ” λ˜ν•œ ν™˜μžλ§ˆλ‹€ μ°¨νŠΈκ°€ μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έμ— μƒμ΄ν•œ 값듀이 λ§Žμ•„ PATIENT_ID(ν™˜μž ID)둜 인덱슀λ₯Ό μƒμ„±ν•˜μ˜€λ‹€.

이 두 ν…Œμ΄λΈ”μ„ μ œμ™Έν•œ λ‹€λ₯Έ ν…Œμ΄λΈ”λ“€μ€ 기본인덱슀λ₯Ό μ œμ™Έν•œ λ‹€λ₯Έ μ• νŠΈλ¦¬λ·°νŠΈλŠ” 인덱슀λ₯Ό 지정할 만 ν•œ 후보 μ• νŠΈλ¦¬λ·°νŠΈκ°€ μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜ 데이터가 ν¬μ§€μ•Šμ•„ 인덱슀λ₯Ό μƒμ„±ν•˜μ§€ μ•Šμ•˜λ‹€.

 

 

λ·° 섀계

PATIENTS_ROOMλ¦΄λ ˆμ΄μ…˜ 에 λŒ€ν•΄μ„œ 각 λ³‘μ‹€μ˜ λ³‘μ‹€λ²ˆν˜Έ, μ΅œλŒ€ 수용 ν™˜μž 인원, ν˜„μž¬ 수용 ν™˜μž μΈμ›μœΌλ‘œ μ •μ˜λœ λ·°λ₯Ό μ •μ˜ν•΄λ³΄μ•˜λ‹€. μ•„λž˜μ˜ 뷰의 μ •μ˜μ—λŠ” 뷰의 μ• νŠΈλ¦¬λ·°νŠΈλ“€μ„ λ³„λ„λ‘œ λͺ…μ‹œν–ˆκΈ° λ•Œλ¬Έμ— λ·°μ—λŠ” ROOM_NUM, MAX_PATIENT_NUM, CUR_PATIENT_NUM의 μ„Έ μ• νŠΈλ¦¬λ·°νŠΈκ°€ ν¬ν•¨λœλ‹€.

 

CREATE VIEW PATIENTS_COUNT (ROOM_NUM, MAX_PATIENT_NUM, CUR_PATIENT_NUM)

AS SELECT ROOM_NUM, MAX_PATIENT_NUM, CUR_PATIENT_NUM

FROM PATIENTS_ROOM;

 

UPDATE PATIENTS_ROOM

SET CUR_PATIENT_NUM = (SELECT COUNT(STAY_PAT)

                        FROM BE_HOSPITALIZED B, PATIENTS_ROOM PR

                        WHERE B.ROOMNO = PR.ROOM_NUM AND ROOMNO=7

                        GROUP BY ROOM_NUM )

WHERE ROOM_NUM =7;

 

OPERATION κ³Ό GET_OPER λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” μ˜μ‚¬μ•„μ΄λ””, μˆ˜μˆ μ‹€μ— μžˆλŠ” ν™˜μž 아이디, 수술 λ‚ μ§œ, 수술 μ‹œκ°„μœΌλ‘œ 이루어진 λ·°λ₯Ό μ •μ˜ν•˜μ˜€λ‹€. 뷰의 μ• νŠΈλ¦¬λ·°νŠΈλ“€μ„ λ³„λ„λ‘œ λͺ…μ‹œν•˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— 뷰에 μ†ν•˜λŠ” μ• νŠΈλ¦¬λ·°νŠΈλ“€μ˜μ΄λ¦„μ€ κΈ°λ³Έ λ¦΄λ ˆμ΄μ…˜μ˜ μ• νŠΈλ¦¬λ·°νŠΈλ“€μ˜ 이름과 κ°™κ³  κ²°κ΅­ λ·°μ—λŠ” DOCNOM, OPER_PAT_ID, OPER_DATE, OPER_TIME의 λ„€κ°€μ§€μ˜ μ• νŠΈλ¦¬λ·°νŠΈκ°€ ν¬ν•¨λœλ‹€. OPERATION λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” OPER_NUM, OPER_DATE, OPER_TIMEκ³ΌGET_OPER λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” OPERNO, OPER_DATE, OPER_TIME을 λ™λ“±μ‘°μΈν•œλ‹€. λ™λ“±μ‘°μΈν•œ OPERATIONκ³Ό, GET_OPERμ—μ„œDOCNOM, OPER_PAT_ID, OPER_DATE, OPER_TIME을 SELECT문을 μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό κ²€μƒ‰ν•œλ‹€. VIEWλ₯Ό μ‚¬μš©ν•˜μ—¬ κ°„λ‹¨ν•˜κ²Œ 질의λ₯Ό ν‘œν˜„ν•  수 μžˆλ‹€.

 

CREATE VIEW OPER_SCHEDULE

AS SELECT OP.DOCNOMGOP.OPER_PAT_IDOP.OPER_DATEOP.OPER_TIME

FROM OPERATION OP, GET_OPER GOP

WHERE OP.OPER_NUM = GOP.OPERNO AND OP.OPER_DATE = GOP.OPER_DATE AND OP.OPER_TIME = GOP.OPER_TIME;

WHERE PP.PAT_ID = PT.PATNO;   


PATIENT와 PROTECTOR λ¦΄λ ˆμ΄μ…˜μ— λŒ€ν•΄μ„œ ν™˜μž 이름, ν™˜μžμ˜ 보호자의 이름, ν™˜μžμ˜ 보호자의 ν•Έλ“œν° 번호둜 이루어진 뷰에 λŒ€ν•΄μ„œ μ •μ˜ν•˜μ˜€λ‹€. μ•„λž˜μ˜ 뷰의 μ •μ˜μ—λŠ” 뷰의 μ• νŠΈλ¦¬λ·°νŠΈλ“€μ„ λ³„λ„λ‘œ λͺ…μ‹œν•˜μ˜€κΈ° λ•Œλ¬Έμ— λ·°μ—λŠ” PATIENT, PROTECTOR, PHONE_NUM의 μ„Έ μ• νŠΈλ¦¬λ·°νŠΈκ°€ ν¬ν•¨λœλ‹€.

 

CREATE VIEW PROTECTOR_INFO (PATIENT, PROTECTOR, PHONE_NUM)

AS SELECT PP.PAT_NAMEPT.PROTECT_NAMEPT.PHONE_NUM

FROM PATIENT PP, PROTECTOR PT

WHERE PP.PAT_ID = PT.PATNO;   

 


DOCTOR , DOC_TITLE_SECTION λ¦΄λ ˆμ΄μ…˜μ— λŒ€ν•˜μ—¬  μ˜μ‚¬μ΄λ¦„, 전곡λͺ…, μ§κΈ‰μœΌλ‘œ 이루어진 뷰에 λŒ€ν•΄μ„œ μ •μ˜ν•˜μ˜€λ‹€. μ•„λž˜μ˜ 뷰의 μ •μ˜μ—λŠ” 뷰의 μ• νŠΈλ¦¬λ·°νŠΈλ“€μ„ λ³„λ„λ‘œ λͺ…μ‹œν•˜μ˜€κΈ° λ•Œλ¬Έμ— λ·°μ—λŠ” DOC_NAME, SEC_NAME, TITLE의 μ„Έ μ• νŠΈλ¦¬λ·°νŠΈκ°€ ν¬ν•¨λœλ‹€.

 

CREATE VIEW DOC_INFO (DOC_NAME, SEC_NAME, TITLE, PHONE)

AS SELECT DOC_NAME, SEC_NAME, TITLE, PHONE_NUM

FROM DOCTOR DD, DOC_TITLE DT, SECTION S

WHERE DD.DOC_ID=DT.DOCNO AND DT.SEC_NO = S.SEC_NUM;

 

PATIENT, DOCTOR, NURSE λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” ν™˜μž 이름, μ˜μ‚¬ 이름, κ°„ν˜Έμ‚¬ μ΄λ¦„μœΌλ‘œ 이루어진 λ·°λ₯Ό μ •μ˜ν•œλ‹€. 이 λ•Œ 두 κ°œμ΄μƒμ˜ λ¦΄λ ˆμ΄μ…˜μ—μ„œ κ°€μ Έμ˜¨μ• νŠΈλ¦¬λ·°νŠΈλ“€μ˜ 이름이 κ°™μ•„μ„œ λ·°μ—μ„œ 두 κ°œμ΄μƒμ˜ μ• νŠΈλ¦¬λ·°νŠΈλ“€μ˜ 이름이 κ°™κ²Œ 될 수 있기 λ•Œλ¬Έμ— λͺ¨λ“  μ• νŠΈλ¦¬λ·°νŠΈλ“€μ˜ 이름을 μ§€μ •ν–ˆλ‹€.

뷰의 μ •μ˜μ—μ„œ 뷰의 μ• νŠΈλ¦¬λ·°νŠΈλ“€μ„ λ³„λ„λ‘œ λͺ…μ‹œν–ˆκΈ° λ•Œλ¬Έμ— λ·°μ—λŠ” PATIENT_NAME, DOCTOR, NURSE의 μ„Έ μ• νŠΈλ¦¬λ·°νŠΈκ°€ ν¬ν•¨λœλ‹€.PATIENT λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” CHAR_DOCκ³Ό DOCTOR λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” DOC_IDλ₯Ό 동등쑰인 ν•˜κ³ , PATIENT λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” CHARGE_NURκ³ΌNURSE λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” NUR_IDλ₯Ό λ™λ“±μ‘°μΈν•œλ‹€.  λ™λ“±μ‘°μΈν•œ PATIENT, DOCTOR, NURSE λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” PAT_NAME, DOC_NAME,NUR_NAME값을 SELECT문을 μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό κ²€μƒ‰ν•œλ‹€. μ΄λŸ¬ν•œ SELECT 문은 VIEWλ₯Ό μ‚¬μš©ν•˜μ—¬ κ°„λ‹¨ν•˜κ²Œ 질의λ₯Ό ν‘œν˜„ν•  수 μžˆλ‹€.

 

CREATE VIEW CHARGE(PATIENT_NAME, DOCTOR, NURSE)

AS SELECT P.PAT_NAMED.DOC_NAMEN.NUR_NAME

FROM PATIENT P, DOCTOR D, NURSE N

WHERE P.CHARGE_DOC = D.DOC_ID AND P.CHARGE_NUR = N.NUR_ID;

 

BE_HOSPITALIZED, PATIENT λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” ν™˜μž 아이디, ν™˜μž 이름, μž…μ›λ°© 번호, μž…μ› λ‚ μ§œ, μž…μ›μ‹œκ°„μœΌλ‘œ 이루어진 λ·°λ₯Ό μ •μ˜ν•œλ‹€.

뷰의 μ •μ˜μ—μ„œ 뷰의 μ• νŠΈλ¦¬λ·°νŠΈλ“€μ„ λ³„λ„λ‘œ λͺ…μ‹œν–ˆκΈ° λ•Œλ¬Έμ— λ·°μ—λŠ” PAT_ID, PAT_NAME, ROOM, IN_DATE, OUT_DATE의 λ‹€μ„―κ°œμ˜μ• νŠΈλ¦¬λ·°νŠΈκ°€ ν¬ν•¨λœλ‹€.  BE_HOSPITALIZED λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” STAY_PATκ³Ό PATIENT λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” PAT_IDλ₯Ό λ™λ“±μ‘°μΈν–ˆλ‹€.

λ™λ“±μ‘°μΈν•œ BE_HOSPITALIZED, PATIENT λ¦΄λ ˆμ΄μ…˜μ— μžˆλŠ” PAT_ID, PAT_NAME, ROOMNO, IN_DATE, OUT_DATE 값을 SELECT문으둜 κ²€μƒ‰ν•œλ‹€. 이것을 VIEWλ₯Ό μ‚¬μš©ν•˜μ—¬ κ°„λ‹¨ν•˜κ²Œ 질의λ₯Ό ν‘œν˜„ν•  수 μžˆλ‹€.

 

CREATE VIEW LOCATION_PAT (PAT_ID, PAT_NAME, ROOM, IN_DATE, OUT_DATE)

AS SELECT P.PAT_IDP.PAT_NAMEB.ROOMNOB.IN_DATEB.OUT_DATE

FROM BE_HOSPITALIZED B, PATIENT P

WHERE B.STAY_PAT = P.PAT_ID;

κ²°λ‘ 

μ€‘μ¦μ™Έμƒν™˜μžλ₯Ό 치료 κ°€λŠ₯ν•œ λ³‘μ›μœΌλ‘œ λΉ λ₯΄κ²Œ μ΄μ†‘ν•˜λŠ” 것은 병원 μ „ 단계λ₯Ό ν¬ν•¨ν•œ μ€‘μ¦μ™Έμƒν™˜μž 치료 체계에 μžˆμ–΄μ„œ κ°€μž₯ μ€‘μš”ν•œ 뢀뢄이닀. μ‹¬ν˜ˆκ΄€κ³„μ§ˆν™˜, λ‡Œν˜ˆκ΄€μ§ˆν™˜, 산과적 μ§ˆν™˜ λ“±μ˜ 응급 μ§ˆν™˜ 뿐 μ•„λ‹ˆλΌ 특히 쀑증외상 ν™˜μžλ“€μ˜ 이솑에 μžˆμ–΄μ„œ 헬리μ½₯ν„° 등을 μ΄μš©ν•œ 항곡 μ΄μ†‘μ€ν™˜μžκ°€ λ°œμƒν•œ ν˜„μž₯μ—μ„œ λ°”λ‘œ 치료 κ°€λŠ₯ν•œ λ³‘μ›μœΌλ‘œ μ΄μ†‘ν•˜κ±°λ‚˜ ν•˜κΈ‰μ‘κΈ‰μ˜λ£ŒκΈ°κ΄€μœΌλ‘œλΆ€ν„° μƒκΈ‰μ‘κΈ‰μ˜λ£ŒκΈ°κ΄€κΉŒμ§€μ˜ 전원 이솑 μ‹œκ°„μ„ λ‹¨μΆ•ν•˜κ³  μ˜λ£Œμ§„μ„ 빨리 접촉할 수 μžˆλ‹€λŠ” μ μ—μ„œ ν™˜μžμ˜μ˜ˆν›„μ— μ€‘μš”ν•œ 역할을 ν•˜κ³  μžˆλ‹€κ³  μ•Œλ €μ Έ μžˆλ‹€.

λ˜ν•œ 2019λ…„ κΈ°μ€€ OECD λ³΄κ±΄μ§€ν‘œλ₯Ό 보게되면 ν•œ λͺ…이 일 λ…„κ°„ 병원을 찾은 νšŸμˆ˜λŠ” OECD νšŒμ›κ΅­ 쀑 κ°€μž₯ 많으며, λ³‘μƒμ˜ μˆ˜λŠ” 일본에 이어 2μœ„λ‘œ λ§Žμ•˜λ‹€.
ν•˜μ§€λ§Œ 병원을 μ°ΎλŠ” ν™˜μž μˆ˜λŠ” λ§Žμ€ 데 λΉ„ν•΄ OECD λŒ€λΉ„ μš°λ¦¬λ‚˜λΌμ˜ μ˜λ£Œμ§„ μˆ˜λŠ” λΆ€μ‘±ν•œ νŽΈμ΄λ‹€. κ·Έ 쀑 μ™Έκ³Όμ˜λŠ”  2018λ…„ κΈ°μ€€ μ™Έκ³Ό μ „κ³΅μ˜ 정원은 180λͺ…인데 148λͺ…이 지원해 μΆ©μ›μœ¨μ€ 82%에 κ·Έμ³€λ‹€. 이ꡭ쒅 κ΅μˆ˜κ°€ μ†Œμ†λœ μ•„μ£ΌλŒ€λ³‘μ›μ€ μ§€λ‚œν•΄μ— 이어 μ˜¬ν•΄λ„ μ™Έκ³Ό μ „κ³΅μ˜ λͺ¨μ§‘에 μ‹€νŒ¨ν•΄ 외과에 3λ…„μ°¨ μ „κ³΅μ˜κ°€ μœ μΌν•œ 병원이 됐닀.

결둠적으둜 μ€‘μ¦μ™Έμƒν™˜μžλ₯Ό ν˜„μž₯μ—μ„œλΆ€ν„° μ΅œλŒ€ν•œ 빨리 μ²˜μΉ˜ν•˜λ©΄μ„œ 이솑 쀑 μ μ ˆν•œ 초기 치료λ₯Ό μ œκ³΅ν•˜κ³  μ΅œλ‹¨ μ‹œκ°„ λ‚΄ 수술적 μΉ˜λ£ŒκΉŒμ§€ μ΄μ–΄μ§€λŠ” 것 것은 κ΅­κ°€μ μœΌλ‘œ μ€‘μ¦μ™Έμƒμ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•˜μ—¬ μ€‘μ¦μ™Έμƒν™˜μžλ“€μ˜ 생쑴λ₯ μ„ ν–₯μƒμ‹œν‚€λŠ”λ° κ°€μž₯ μ€‘μš”ν•œ μš”μ†Œλ“€ 쀑 ν•˜λ‚˜μΈ 것이닀.

μš°λ¦¬λŠ” μœ„μ™€ 같은 인λ ₯λ‚œ 문제λ₯Ό λ”μš± μ΅œμ ν™”λœ μ‹œμŠ€ν…œμœΌλ‘œ ν™˜μžμ—κ²Œ μ‹ μ†ν•œ 치료λ₯Ό μ œκ³΅ν•˜κ³ μž 기쑴의 병원 μ‹œμŠ€ν…œμ΄ μ•„λ‹Œ κΆŒμ—­μ‘κΈ‰μ™Έμƒμ„Όν„°μ— 맞좰 μ΅œμ ν™”λ˜μ–΄μžˆλŠ” λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ„€κ³„ν•˜μ—¬ λΉ λ₯Έ μ‹œκ°„ λ‚΄ μ‹œμŠ€ν…œ μ‚¬μš©μžλ“€μ΄ μ›ν•˜κ³ μž ν•˜λŠ” 정보λ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ ν™•μΈν•˜κ³  μˆ˜μ •ν•  수 μžˆλ„λ‘ ν•˜μ˜€λ‹€. 이λ₯Ό 톡해 μΉ˜λ£Œμ‹œκ°„μ„ λ”μš± λ‹¨μΆ•μ‹œμΌœ ν™˜μžμ˜ 생쑴λ₯ μ„ λ†’μ΄λŠ”λ° κΈ°μ—¬ν•˜κ³  λŒ€ν•œλ―Όκ΅­μ˜ μ˜λ£Œμ‚¬κ°μ§€λŒ€λ₯Ό ν•΄μ†Œν•˜κ³ μž ν•˜μ˜€λ‹€.