【正文】
reg_way(39。(13)在Patient_Register查詢某病人的掛號方式create or replace procedure reg_way(v_pno varchar,v_rway out varchar) isbegin select rway into v_rway from Patient_Register where pno=v_pno。beginpay(39。(12)在BillDetail查詢某一病人的收費總和(=掛號+取藥)create or replace procedure pay(v_pno varchar,v_total out number) isbegin select sum(bmoney) as total into v_total from BillDetail where pno=v_pno group by pno。beginmedpay(39。||v_bmoney)。(11)在BillDetail查詢某病人購買的藥品總價create or replace procedure medpay(v_pno varchar,v_Bway out varchar,v_bmoney out varchar) isbegin select Bway,bmoney into v_bway,v_bmoney from BillDetail where pno=v_pno and Bway=39。beginp_Med(39。 (10)在Patient_Med查詢某病人購買的藥品create or replace procedure p_Med(v_pno varchar,v_mname out varchar) isbegin select mname into v_mname from Patient_Med where pno=v_pno。beginp_Diag(39。(9)在Patient_Diag查詢某一病人的診斷結(jié)果create or replace procedure p_Diag(v_pno varchar,v_iname out varchar) isbegin select iname into v_iname from Patient_Diag where pno=v_pno。 end Diag_p。 exit when c1%notfound。(8)在Patient_Diag查詢患感冒的病人姓名create or replace procedure Diag_p(pname out varchar) iscursor c1 is select pname from Patient_Diag where iname=39。c varchar(20)。declaref varchar(20):=39。||page)。||pname||39。 loop fetch c1 into pno,pname,psex,page。begin p_doctor(f,a,b,c,d,e)。b varchar(20)。end p_doctor。 39。 39。begin Dept_Doc(a,b)。 close c1。 (Dp_name||39。(5)在Dept_Doctor查詢醫(yī)院門診部各個科室的醫(yī)生人數(shù)create or replace procedure Dept_Doc(Dp_name out varchar,rs out number) iscursor c1 is select Dp_name,COUNT(dno) as rs from Dept_Doctor group by Dp_name。beginchange_med(39。end。Dp01139。(3)修改某一科室的電話create or replace procedure change_tel(v_dp_no varchar,v_Dp_tel varchar) isbegin update Department set dp_tel=v_Dp_tel where Dp_no=v_dp_no。,39。(2)插入一條藥品信息create or replace procedure MedicineInsert(mno varchar,mname varchar,mprice float,mquantity int)isbegin insert into Medicine values(Mno,Mname,Mprice,Mquantity)。,18,39。,39。,39。begin addpatient(39。掛號收費39。數(shù)據(jù)庫對象分為基本表、視圖、存儲過程等。藥品收費39。藥品收費39。下面分別列出相關(guān)代碼。這一階段主要的任務(wù)是確定數(shù)據(jù)庫的物理結(jié)構(gòu),并不斷的進行優(yōu)化處理,主要建立索引、觸發(fā)器、存儲過程。在本系統(tǒng)中,所有建立的關(guān)系模式都符合三范式。處方單、收費單和藥品之間的聯(lián)系為三元的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨立的關(guān)系模式。病人和掛號單的關(guān)系為1:1(一對一),將其之間的聯(lián)系與任意一端實體合并。(2)一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。一個實體型轉(zhuǎn)換為一個關(guān)系模式。圖21 分ER圖2. 診斷分ER圖圖23 分ER圖 全局/整體ER圖根據(jù)上述列出的分ER圖,消除其中存在的沖突、冗余,建立全局ER圖(詳見圖24),并列出所有實體和聯(lián)系屬性的屬性ER圖(詳見圖25)圖24 總ER圖圖25 屬性ER圖 邏輯設(shè)計邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本ER圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。逐一設(shè)計分ER圖,再將所有的分ER圖綜合成系統(tǒng)的總ER圖。 概念設(shè)計概念設(shè)計階段的任務(wù)是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)(概念模型)的過程。處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)項是不可再分的數(shù)據(jù)單位。再根據(jù)這個物理模型要抽象出信息流,將物理模型轉(zhuǎn)化成邏輯模型,反映信息在系統(tǒng)中的流動、處理和存儲情況,在整個過程中,所得到的數(shù)據(jù)流程圖可如下圖11至圖15所示,分為頂層數(shù)據(jù)流圖、第一層數(shù)據(jù)流圖和第二層數(shù)據(jù)流圖。并完成業(yè)務(wù)流程圖和數(shù)據(jù)流程圖。1. 需求分析需求分析階段就是分析用戶的需求,是數(shù)據(jù)庫設(shè)計的起點。例如:檢索迅速、查找方便、可靠性高、存儲量大等。傳統(tǒng)的人工管理手段在高速發(fā)展的今天,已經(jīng)不再體現(xiàn)其優(yōu)勢,繁復(fù)和大量的手工記錄和計算給管理帶來了更多的重復(fù)工作,如果能將復(fù)雜的各類管理過程封裝在一個操作中,執(zhí)行每個管理步驟時使用相對應(yīng)的功能,那就能給管理者帶來更大的便捷。12級軟件工程專業(yè)1班數(shù)據(jù)庫應(yīng)用系統(tǒng)課程設(shè)計課程論文醫(yī)院門診管理系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計課程設(shè)計論文隨著社會不斷的進步,醫(yī)院等基礎(chǔ)服務(wù)機構(gòu),早已成為了人們生活必不可少的一部分,在很大程度上方便了人們的生活。而方便有效的管理手段已經(jīng)成為了所有管理部門管理的有力工具。作為計算機應(yīng)用的一部分,使用計算機對醫(yī)院門診信息進行管理,具有比手工管理所無法比擬的優(yōu)點。以滿足門診管理者對各類數(shù)據(jù)的管理,以現(xiàn)代化的思維模式去經(jīng)營維護。通過查詢資料和分析當前的醫(yī)院門診部服務(wù)狀況,明確病患的需求而進行設(shè)計。通過數(shù)據(jù)流程圖,抽象現(xiàn)實世界的數(shù)據(jù)到醫(yī)院門診管理的物理模型。數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯5個部分。數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方也是數(shù)據(jù)流的來源和去向之一。數(shù)據(jù)項編號數(shù)據(jù)項名數(shù)據(jù)項含義與其他數(shù)據(jù)項關(guān)系類型長度取值范圍DI011Pno病人編號主鍵varchar20DI012Pname病人姓名varchar20not nullDI013Psex性別varchar20DI014Page年齡int0150DI015Dno醫(yī)生號外鍵varchar20DI021Dno醫(yī)生號主鍵varchar20DI022Dname醫(yī)生姓名varchar20not nullDI023Dtitle職稱varchar20DI024Dtel電話varchar20DI025Dp_no科室編號外鍵varchar20DI031Dp_no科室編號主鍵varchar20DI032Dp_name科室名稱varchar20not nullDI033Dp_tell聯(lián)系方式varchar20DI041Mno藥品編號主鍵varchar20DI042Mname藥品名稱varchar20not nullDI043Mprice藥品價格floatDI044Mquantity藥品庫存余量intDI051Rno掛號單號主鍵varchar20DI052Rdate掛號日期dateDI053Bno收費單號外鍵varchar20DI054Pno病人編號外鍵varchar20DI055Dno醫(yī)生編號外鍵varchar20DI056Rway掛號方式varchar20DI061Bno收費單號主鍵varchar20DI062Bdate日期dateDI063Bmoney金額floatDI064Bwa