醫(yī)院病房信息管理系統(tǒng)
發(fā)布時間:2020-07-24 來源: 調(diào)研報告 點擊:
醫(yī)院病房信息管理系統(tǒng)
編制
精選 管理方案 審核
批準
生效日期
地址:
電話:
傳真:
郵編:
目錄
第一章 需求分析 .............................................. 錯誤! 未指定書簽。
醫(yī)院管理系統(tǒng)模塊圖 ...................................... 錯誤! 未指定書簽。
醫(yī)院管理系統(tǒng)流程圖 ...................................... 錯誤! 未指定書簽。
第二章 概念結(jié)構(gòu)設(shè)計 .......................................... 錯誤! 未指定書簽。
醫(yī)生實體子 E-R 圖 ........................................ 錯誤! 未指定書簽。
病人實體子 E-R 圖 ........................................ 錯誤! 未指定書簽。
科室實體子 E-R 圖 ........................................ 錯誤! 未指定書簽。
病房實體子 E-R 圖 ........................................ 錯誤! 未指定書簽。
全局 E-R 圖 ............................................... 錯誤! 未指定書簽。
第三章 邏輯結(jié)構(gòu)設(shè)計 .......................................... 錯誤! 未指定書簽。
第四章
物理實現(xiàn) ............................................. 錯誤! 未定義書簽。
數(shù)據(jù)庫的創(chuàng)建 .......................................... 錯誤! 未指定書簽。
表對象的創(chuàng)建與操作 ...................................... 錯誤! 未指定書簽。
醫(yī)生表 doctor 創(chuàng)建與操作 ............................. 錯誤! 未指定書簽。
病人表 patient 創(chuàng)建與操作 ............................. 錯誤! 未指定書簽。
科室表 office 創(chuàng)建與操作 .............................. 錯誤! 未指定書簽。
醫(yī)院病房管理系統(tǒng)數(shù)據(jù)表之間的關(guān)系圖 ................... 錯誤! 未定義書簽。
視 圖 .................................................. 錯誤! 未指定書簽。
表的 T-SQL 語句 ........................................... 錯誤! 未指定書簽。
聚合函數(shù)——分類聚合 .................................... 錯誤! 未指定書簽。
存儲過程 ............................................... 錯誤! 未指定書簽。
觸發(fā)器 .................................................. 錯誤! 未指定書簽。
第五章 總結(jié) .................................................. 錯誤! 未指定書簽。
致謝 ......................................................... 錯誤! 未指定書簽。
參考文獻 ..................................................... 錯誤! 未指定書簽。
第一章
需求分析 醫(yī)院信息管理系統(tǒng)就是對醫(yī)院的醫(yī)生、病人、等信息的管理。為了方便當今我國的醫(yī)療體制正在進行改革,需要醫(yī)療市場的進一步規(guī)范化,這就利用現(xiàn)代化的工具對醫(yī)院進行有效的管理,有利于提高醫(yī)療水平和服務(wù)質(zhì)量,更好的服務(wù)于社會。
所以我們利用 SQL server 2000 技術(shù)設(shè)計了此醫(yī)院管理數(shù)據(jù)庫系統(tǒng),以利用計算機完成病人入院后,對其基本信息、主治醫(yī)師以及入住病房等信息進行數(shù)據(jù)庫管理,有利于提高入院手續(xù)的辦理速度以及對醫(yī)院資源管理的效率。
醫(yī)院管理系統(tǒng)模塊圖
用戶登錄后,進入總的模板控制塊,然后根據(jù)子模板控制塊的選擇,進行查詢、修改、插入、刪除。所以信息管理系統(tǒng)功能模塊圖設(shè)計如下:
醫(yī)院管理系統(tǒng)流程圖
醫(yī)院管理的基本業(yè)務(wù)流程如圖
第二章
概念結(jié)構(gòu)設(shè)計 通常,把每一類數(shù)據(jù)對象的個體稱為實體,而每一類對象的集合稱為“實體集”。而 E—R 模型的主要成分是實體、聯(lián)系和屬性。如果用矩形框表示實體集,用帶半圓的矩形表示屬性,用線段連接實體集與屬性,當一個屬性或?qū)傩越M合指定為主碼時,在實體集與屬性的連接上標記一斜線,則可以表示實體集及每個實體集涉及的屬性,實體集之間存在各種關(guān)系,通常把這種關(guān)系稱為“聯(lián)系”。聯(lián)系有三類:一對一的聯(lián)系(1:1);一對多的聯(lián)系(1:n);多對多的聯(lián)系(m:n)。
例如: 此醫(yī)院系統(tǒng)中“科室”與“病人”,“ 科室”與“病房”,“病人”與“病房”等之間存在的是一對多的聯(lián)系(1:n);一個醫(yī)生屬于一個科室,負責(zé)多個病人的診治,一個科室有多個病房,多個醫(yī)生,一個病房屬于一個科室 所以,此學(xué)生信息系統(tǒng)中實體集與實體集的聯(lián)系,E—R 模型如下:
醫(yī)生實體子 E E- -R R 圖
病人實體子 E E- -R R 圖
科室實體子 E E- -R R 圖
病房實體子 E E- -R R 圖
全局 E E- -R R 圖
第三章
邏輯結(jié)構(gòu)設(shè)計 E-R 圖到關(guān)系模式的轉(zhuǎn)換:
用 E-R 圖 描述了醫(yī)院病房系統(tǒng)中實體集與實體集的聯(lián)系,目的以 E-R 圖為工具,設(shè)計關(guān)系型的數(shù)據(jù)庫,即確定應(yīng)用系統(tǒng)所使用的數(shù)據(jù)庫包含那些表,以及每個表的結(jié)構(gòu)是怎么樣的。
對于(1:n)聯(lián)系既可單獨對應(yīng)一個關(guān)系模式,也可以不單獨對應(yīng)一個關(guān)系模式,如果聯(lián)系是單獨對應(yīng)一個關(guān)系模式,則由聯(lián)系的各實體集的主碼屬性構(gòu)成關(guān)系模式,n 端的主碼作為該關(guān)系模式的主碼;如果聯(lián)系不單獨對應(yīng)一個關(guān)系模式,則由聯(lián)系的屬性及 1 端的主碼加入 n 端實體集對應(yīng)關(guān)系模式中,主碼仍是 n 端的主碼。本系統(tǒng)采用的是單獨對應(yīng)一個關(guān)系模式。
所以各實體的 E-R 圖轉(zhuǎn)換其關(guān)系模式的如下:
醫(yī)生表(工作證號,姓名,性別,職稱,聯(lián)系電話,出生日期)
病人表(身份證號,姓名,性別,年齡,聯(lián)系方式)
科室表(科室號,科名,科地址,聯(lián)系電話)
病房表(病房號,床位號)
第四章
物理實現(xiàn) 數(shù)據(jù)庫是 SQL Server 2000 存儲和管理的對象,從邏輯上看,SQL Server 2000 數(shù)據(jù)庫由存放數(shù)據(jù)的表以及支持這些數(shù)據(jù)庫的存儲、檢索、安全性和完整性的對象所組成;從物理上看,SQL Server 2000 物理數(shù)據(jù)庫指用于存儲數(shù)據(jù)對象的文件及文件組。數(shù)據(jù)庫創(chuàng)建有二個途徑:一是通過企業(yè)管理器,二是查詢語句。
本醫(yī)院病房信息管理系統(tǒng)的建立是通過查詢語句建立,創(chuàng)建如下:
數(shù)據(jù)字典
doctor offfice sickroom patient
數(shù)據(jù)庫的創(chuàng)建
數(shù)據(jù)庫是 SQL Server 2000 存儲和管理的對象 查詢分析器:
create database
hospital on (name="hospital_data", Filename="e:\", Size=5mb, Maxsize=20mb, Filegrowth=10% ) Log on (name="hospital_log", Filename="e:\", Size=2mb, Maxsize=5mb, Filegrowth=1mb ) Go 結(jié)果顯示窗格:
CREATE DATABASE 進 程 正 在 磁 盤 "hospital_data" 上分配
MB 的空間。
CREATE DATABASE 進 程 正 在 磁 盤 "hospital_log" 上分配
MB 的空間。
表對象的創(chuàng)建與操作
建立數(shù)據(jù)庫最重要的一步就是創(chuàng)建其中的數(shù)據(jù)表,即決定數(shù)據(jù)庫包括哪些表,每個表中的包含哪些字段,每個字段的數(shù)據(jù)類型等。創(chuàng)建表有二種途徑,一是企業(yè)管理創(chuàng)建,二是查詢語句,此設(shè)計用的是第二種。
字段名稱 字段含義 數(shù)據(jù)類型 是否為主鍵 約束條件 dno 工作證號 varchar(20) 是 非空
dname 姓名 varchar(16)
dsex 性別 bit
默認為 0 birthday 出生日期 datetime
非空 tel 聯(lián)系電話 char(20)
title 職稱 char(10)
ono 所屬科室號 varchar(16)
字段名稱 字段含義 數(shù)據(jù)類型 是否為主鍵 約束條件 ono 科室號 varchar(16) 是 非空
oname 科名 varchar(16)
address 科地址 varchar(16)
tel 聯(lián)系電話 char(20)
字段名稱 字段含義 數(shù)據(jù)類型 是否為主鍵 約束條件 sno 病房號 varchar(16) 是 非空
num 床位數(shù) varchar(20)
字段名稱 字段含義 數(shù)據(jù)類型 是否為主鍵 約束條件 pno 身份證號 varchar(20) 是 非空
pname 姓名 varchar(16)
psex 性別 bit
默認為 0 birthday 出生日期 datetime
非空 sno 病房號 varchar(20)
dno 主治醫(yī)生號 varchar(20)
對表的插入、修改和刪除可用查詢語句或界面操作來操作,但通過用查詢語句操作表數(shù)據(jù)更為靈活,功能更為強大。
醫(yī)生表 r doctor 創(chuàng)建與操作 use hospital create table doctor/*醫(yī)生表 doctor 信息的創(chuàng)建*/ ( dno
varchar(20) primary key,
dname
varchar(16), dsex
bit not null default(0), birthday
datetime
not null, tel
char (20) , title
char(10), ono
varchar(16) ) 結(jié)果顯示窗口:
/*醫(yī)生表 doctor 信息的插入*/ insert into doctor values (‘ 結(jié)果顯示窗格:
/*醫(yī)生表 doctor 信息的修改*/ update doctor set birthday ="1989-11-5", title =’門診醫(yī)師’ where dno ="00001" 結(jié)果顯示窗格:
/**醫(yī)生表 doctor 信息的刪除*/ delete doctor where dno ="00001" 結(jié)果顯示窗格:
use hospital
create table patient /*創(chuàng)建病人表 patient*/ ( pno
varchar(20)
primary key,
pname
varchar(16), psex
bit
not null default(0), birthday
datetime
not null, tel
char (20) , sno
varchar(16), dno
varchar(20) ono
varchar(16) ) 結(jié)果顯示窗格:
/*病人表 patient 信息的插入*/ Insert into patient values
(,’’,‘李冰’, ‘1’, ‘1981-10-23’ ‘‘,’301’, ‘00002 ‘, ‘0222’) 結(jié)果顯示窗格:
/*病人表 patient 信息的修改*/ update patient set dno =254
where pno =’’ 結(jié)果顯示窗格:
/*病人表 patient 信息的刪除*/
結(jié)果顯示窗格:
use hospital create table office ( ono
varchar(16)
primary key,
oname
varchar(16), address
varchar(16), tel
char(20)
) 結(jié)果顯示窗口:
/*科室表 office 信息的插入*/ insert
into office values
(‘0020’, ‘手足科‘, ‘北區(qū) 6 號樓’, ‘’)
結(jié)果顯示窗格:
/*科室表 office 信息的修改*/ ’0020’ 結(jié)果顯示窗格:
/*科室表 office 信息的刪除*/ delete office where ono ="0020" 結(jié)果顯示窗格:
/*病房表 sickroom 創(chuàng)建與操作*/ create table
sickroom ( sno
varchar(16)
primary key,
num
varchar(20) ) 結(jié)果顯示窗口:
/*病房表 sickroom 信息的插入*/ insert
into sickroom values(’304’,’3’)
結(jié)果顯示窗格:
/*病房表 sickroom 信息的修改*/ update sickroom set num =5 where sno =’304’ 結(jié)果顯示窗格:
/*病房表 sickroom 信息的刪除*/ delete sickroom where sno ="304" 結(jié)果顯示窗格:
視
圖
視圖是由一個或多個基本表(或視圖)導(dǎo)出的數(shù)據(jù)信息,可根據(jù)用戶的不同建立不同的視圖。
如下三個視圖以及視圖的 T-SQL 語句:
創(chuàng)建一個視圖 vw1 ,通過該視圖可以看到每個病人的身份證號,姓名,年齡,和聯(lián)系電話 create view vw1(身份證號,姓名,年齡,聯(lián)系電話) as select pno,pname,year(getdate())-year(birthday),tel from patient select * from vw1 結(jié)果顯示:
create view vw2 as select * from patient where psex="1" select * from vw2 create view vw3(身份證號,姓名,所住病房號,所屬科室名,主治醫(yī)生) as select pno,pname,,oname,dname
from patient,doctor,sickroom,office where = and =
and =
and year(getdate())-year>30 select * from vw3 表的 T T- -L SQL 語句
查詢是數(shù)據(jù)庫的核心操作,是數(shù)據(jù)庫的其他操作(如插入、修改、刪除等)的基礎(chǔ)。T-SQL 語句對數(shù)據(jù)庫的查詢使用 select 語句。select 語句具有靈活的使用方式和強大的功能。
如下是對醫(yī)院病房數(shù)據(jù)庫進行的各種查詢:
簡單查詢 (1)select * from doctor where title="主治醫(yī)師"
/*查詢主治醫(yī)師的信息*/ 結(jié)果顯示窗格:
(2)select * from patient where year(getdate())-year(birthday)<20 /*查詢年齡<20 病人信息*/ 結(jié)果顯示窗格:
模糊查詢 /*查詢姓王的病人的所有信息*/ select * from patient where pname like "王%" 嵌套查詢 (1)查詢所有病情屬于牙科的病人的所有信息。
select * from patient where ono in (select ono from office where oname="牙科") (2)查詢所有被張青醫(yī)生主治的男病人的姓名和病情所屬科室號。
select pname,ono from patient where dno in
(select dno from doctor where dname="張青") and psex="0"
連接查詢 (1)查詢所有病情屬于牙科的病人的所有信息。
select * from patient,office
where = and oname="牙科" (2)查詢所有被張青醫(yī)生主治的男病人的姓名和病情所屬科室號。
select pname,patient,ono from patient,doctor
where = and psex="0" and dname="張青"
聚合函數(shù) —— 分類聚合
(1)統(tǒng)計女病人的總?cè)藬?shù) select 女病人人數(shù)=count(*) from
patient
where psex=1
(2)男性主治醫(yī)生的人數(shù) select 主治醫(yī)生的人數(shù)=count(*) from doctor where dsex=0 and title="主治醫(yī)師" (3)20 歲以上的男女醫(yī)生人數(shù) select dsex as 性別,人數(shù)=count(*)from doctor where year(getdate())-year(birthday)>20 group by dsex
存儲過程
在 SQL Server 中,存儲過程是數(shù)據(jù)庫對象之一,它有執(zhí)行速度快、確保數(shù)據(jù)庫的安全和自動完成需要預(yù)先執(zhí)行的任務(wù)等優(yōu)點,本設(shè)計創(chuàng)建兩個個存儲過程,一個功能是創(chuàng)建一個存儲過程 prcs1, 通過該存儲過程可以查看所有病人的信息。另一個功能是創(chuàng)建一個存儲過程 prcs2,通過輸入醫(yī)生職稱,可以查看有該職稱的醫(yī)生人數(shù)。
存儲過程的創(chuàng)建和調(diào)用如下:
存儲過程:
。1)創(chuàng)建一個存儲過程 prcs1,通過該存儲過程可以查看所有病人的信息。
create proc prcs1 as select * from patient (2)創(chuàng)建一個存儲過程 prcs2,通過輸入醫(yī)生職稱,可以查看有該職稱的醫(yī)生人數(shù)。
create proc prcs2 @title varchar(16),@n int output as if exists (select * from doctor where title=@title) (select @n=count(*) from doctor ) else print"沒有該職稱" declare @name1 varchar(20),@n1 int set @name1="主治醫(yī)師" exec prcs2 @name1,@n1 output select @name1 as 職稱,@n1 as 人數(shù)
觸發(fā)器
觸發(fā)器是一類特殊的存儲過程。觸發(fā)器與表的關(guān)系密切,可用于維護表中的數(shù)據(jù)。當有數(shù)據(jù)影響到觸發(fā)器維護的數(shù)據(jù)時,觸發(fā)器自動執(zhí)行。
如下是系統(tǒng)觸發(fā)器的創(chuàng)建和執(zhí)行:
創(chuàng)建一個觸發(fā)器把醫(yī)生表中工作證號為 0006 的職稱由’實習(xí)醫(yī)生’改為’主治醫(yī)生’ create trigger
trgs on doctor for update as begin declare @no varchar(20) select @no=dno from deleted update doctor set title="主治醫(yī)生"
where dno=0006 end update doctor set
title="主治醫(yī)生" where dno=0006 select *from doctor
/* update 操作之前,工作證號為 0006 的職稱,部分信息如下*/ /* update 操作之后,工作證號為 0006 的職稱,部分信息如下*/ 第五章
總結(jié) 由醫(yī)院信息管理系統(tǒng)的需求設(shè)計出發(fā),得出“醫(yī)生”、“病人”、“病房”、“科室”、四個實體集的四個表以及表的設(shè)計。表的 E-R 模型、表的關(guān)系模式以及它們之間的相互轉(zhuǎn)換,以此來顯示表之間的關(guān)系,通過這讓我們熟練掌握其思想。
通過做課程設(shè)計,有幾點感想,歸納如下。
1. 扎實的理論基礎(chǔ)。如果不掌握它們,很難寫出高水平的程序。而這一點又是我們所缺乏的。
2. 不鉆牛角尖。當遇到障礙的時候,暫時遠離電腦,當重新開始工作的時候,也許會發(fā)現(xiàn)那些難題現(xiàn)在竟然可以迎刃而解。
3. 多與別人交流。三人行必有我?guī)煛?/p>
4. 良好的編程風(fēng)格。注意養(yǎng)成良好的習(xí)慣,代碼的縮進編排,變量的命名規(guī)則要始終保持一致。如果注釋和代碼不一致,那就更加糟糕。
5.具體到程序的實現(xiàn),我發(fā)現(xiàn)比較集中的問題就在于控件和數(shù)據(jù)庫的連接上,有的時候比較簡單,有的時候又比較迷茫,最后在和同學(xué)的討論下才順利完成。
致謝 本設(shè)計是在劉書影老師的悉心指導(dǎo)下完成的。通過我們的設(shè)計選題、資料查找,劉老師修改等方面對我進行了悉心的指導(dǎo)和鼓勵。劉老師淵博的知識、嚴謹?shù)闹螌W(xué)態(tài)度、求實的工作作風(fēng)、平易近人的待人方式將是我以后工作和學(xué)習(xí)的榜樣。值此設(shè)計完成之際,謹向指導(dǎo)老師劉老師致以最衷心的感謝和最崇高的敬意! 通過我們組的努力做出了這個醫(yī)院信息管理系統(tǒng),我們組六個同學(xué)在這次課程設(shè)計中不僅加深了對數(shù)據(jù)庫的理解,還加強了我們團隊合作的能力,我想這對我們今后的學(xué)習(xí)生活也是有著無比重要的意義。當我們看到我們的勞動成果,無比的開心,在這一個星期中,我們不分晝夜的工作,雖然參考了大量資料,但是大部分的工作還是要靠自己完成。通過這次的 SQL Server 課程設(shè)計,我們系統(tǒng)的復(fù)習(xí)了 SQL 的指令用法,深入了解了SQL 數(shù)據(jù)庫的功能,對 SQL 命令熟練運用,讓我更加加深了它的語句思想!讓我從這次課程設(shè)計中獲得了好多知識,獲益匪淺!
參考文獻 [1] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論(第三版). 北京:高等教育出版社,2000. [2] 齊治昌,譚慶平,寧洪.軟件工程(第二版).北京:高等教育出版社,2004.
[3] 錢雪忠.數(shù)據(jù)庫原理應(yīng)用(第二版). 北京:北京郵電大學(xué)出版社,2008.
相關(guān)熱詞搜索:病房 信息管理系統(tǒng) 醫(yī)院
熱點文章閱讀