์ธ๋ฑ์ค ์ค๊ณ
์ ํธ๋ฆฌ๋ทฐํธ์ ํํ์ด ๋ง์ด ์กด์ฌํ๊ณ ์์ดํ ๊ฐ๋ค์ด ๋ง์ 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.DOCNOM, GOP.OPER_PAT_ID, OP.OPER_DATE, OP.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_NAME, PT.PROTECT_NAME, PT.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_NAME, D.DOC_NAME, N.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_ID, P.PAT_NAME, B.ROOMNO, B.IN_DATE, B.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๋
์ฐจ ์ ๊ณต์๊ฐ ์ ์ผํ ๋ณ์์ด ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ์ค์ฆ์ธ์ํ์๋ฅผ ํ์ฅ์์๋ถํฐ ์ต๋ํ ๋นจ๋ฆฌ ์ฒ์นํ๋ฉด์ ์ด์ก ์ค ์ ์ ํ ์ด๊ธฐ ์น๋ฃ๋ฅผ ์ ๊ณตํ๊ณ ์ต๋จ ์๊ฐ ๋ด ์์ ์ ์น๋ฃ๊น์ง ์ด์ด์ง๋ ๊ฒ ๊ฒ์ ๊ตญ๊ฐ์ ์ผ๋ก ์ค์ฆ์ธ์์์คํ ์ ๊ตฌ์ถํ์ฌ ์ค์ฆ์ธ์ํ์๋ค์ ์์กด๋ฅ ์ ํฅ์์ํค๋๋ฐ ๊ฐ์ฅ ์ค์ํ ์์๋ค ์ค ํ๋์ธ ๊ฒ์ด๋ค.
์ฐ๋ฆฌ๋ ์์ ๊ฐ์ ์ธ๋ ฅ๋ ๋ฌธ์ ๋ฅผ ๋์ฑ ์ต์ ํ๋ ์์คํ ์ผ๋ก ํ์์๊ฒ ์ ์ํ ์น๋ฃ๋ฅผ ์ ๊ณตํ๊ณ ์ ๊ธฐ์กด์ ๋ณ์ ์์คํ ์ด ์๋ ๊ถ์ญ์๊ธ์ธ์์ผํฐ์ ๋ง์ถฐ ์ต์ ํ๋์ด์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํ์ฌ ๋น ๋ฅธ ์๊ฐ ๋ด ์์คํ ์ฌ์ฉ์๋ค์ด ์ํ๊ณ ์ ํ๋ ์ ๋ณด๋ฅผ ์ค์๊ฐ์ผ๋ก ํ์ธํ๊ณ ์์ ํ ์ ์๋๋ก ํ์๋ค. ์ด๋ฅผ ํตํด ์น๋ฃ์๊ฐ์ ๋์ฑ ๋จ์ถ์์ผ ํ์์ ์์กด๋ฅ ์ ๋์ด๋๋ฐ ๊ธฐ์ฌํ๊ณ ๋ํ๋ฏผ๊ตญ์ ์๋ฃ์ฌ๊ฐ์ง๋๋ฅผ ํด์ํ๊ณ ์ ํ์๋ค.
'ํ๋ก์ ํธ > ๊ถ์ญ์ธ์์ผํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ ์ค๊ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์ฃผ๋ํ๊ต ๊ถ์ญ์๊ธ์ธ์์ผํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค - ๋ ผ๋ฆฌ์ ์ค๊ณ (0) | 2020.12.27 |
---|---|
์์ฃผ๋ํ๊ต ๊ถ์ญ์๊ธ์ธ์์ผํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค - ๊ฐ๋ ์ ์ค๊ณ (0) | 2020.12.21 |