医院住院信息系统数据库设计.doc

上传人:文库蛋蛋多 文档编号:2300465 上传时间:2023-02-10 格式:DOC 页数:10 大小:23KB
返回 下载 相关 举报
医院住院信息系统数据库设计.doc_第1页
第1页 / 共10页
医院住院信息系统数据库设计.doc_第2页
第2页 / 共10页
医院住院信息系统数据库设计.doc_第3页
第3页 / 共10页
医院住院信息系统数据库设计.doc_第4页
第4页 / 共10页
医院住院信息系统数据库设计.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《医院住院信息系统数据库设计.doc》由会员分享,可在线阅读,更多相关《医院住院信息系统数据库设计.doc(10页珍藏版)》请在三一办公上搜索。

1、 医院住院信息系统数据库设计 小组成员 摘要近年来,随着我国人民生活水平的迅速提高,科学技术的进一步发展,医院对医院管理信息系统的需求越来越迫切,一套好的信息系统在全面提高医院的医疗、教学、科研水平,提高医院整体工作效率,为病人提供方便快捷全面的服务等方面都能发挥出重要作用。本课题主要研究医院住院信息管理系统的数据库构建过程。该数据库涵盖了住院过程中的基本信息,主要包括病人、医生、护士基本信息资料,办理出入院手续,医生、护士的分配,医生诊断 据病人所就诊的医科给病人安排床位,将病人的信息录入并进行相应的维护和管理。(2)病人住院期间,医生会对病人作出诊断,护士每天会定时的对病房及病人情况进行检

2、查。(3)当病人想要出院时,需先征得主治医师的同意,然后就可办理出院手续。 2、 用户对系统的要求(1)病人信息:首先是病人的基本信息,主要包括病人的姓名、性别、年龄、家庭住址、联系方式等;然后是病人的住院信息,主要包括入院时间、所在病区、病房号、床位号、主治医师、诊断记录、出院时间等。(2)医生信息:主要包括医生的姓名,性别、年龄、家庭住址、联系方式、医生编号、所在科室、工龄、职称、负责病人、诊断记录等。(3)护士信息:主要包括护士的姓名,性别、年龄、家庭住址、联系方式、护士编号、所在科室、工龄、负责病房等。 3、 基本功能医院住院管理系统数据库需要完成的基本功能如下:(1) 病房管理:对医

3、院的病房基本情况进行管理,包括病房入住情况等,允许相关人员查询和修改;(2) 职工管理:对医院职工的基本情况进行管理,包括所在部门。负责病人情况等,允许相关人员查询;(3) 入院、出院登记管理:对医院的住院病人进行入院、出院登记管理,包括病人的基本信息等级、病房入住、住院日期、出院日期等,允许相关人员查询及修改; 二、 业务流程医院住院信息系统具体包括住院、出院手续的办理,治疗和护理四大业务流程。(1) 住院手续的办理主要以病人为数据流,首先提出住院申请,然后查询病人记录,并加入本次记录,根据病人信息给病人分配病房及床位。住院手续的数据流图如图2.1所示。 图2.1 住院手续数据流图 (2)

4、治疗主要以病人为数据流。医生给病人检查,然后根据检查情况及病人的病例给出治疗方案,并告知病人。治疗处理的数据流图如图2.2所示。 图2.2 治疗数据流图 (3) 护士主要以护士为数据流。护士每天定时检查病房内情况以及各个病人的情况,如果病人有什么突发状况,则立刻通知医生,若没有,则正常记录当天情况。护士例行检查的数据流图如图2.3所示。 图2.3 护理数据流图 (4) 出院手续的办理主要以病人为数据流。病人向护士申请出院,护士向该病人的主治医师请示。得到主治医师的同意后,将病人此次住院的病历归档,然后就可允许病人出院。出院手续的数据流图如图2.4所示。 图2.4 出院手续数据流图 三、 概念设

5、计(1)实体及其属性分析根据需求分析室提供的数据流图,可找到以下实体:病人、医生、护士、科室、病床。对于这些实体,他们的实体及属性图如图3.1所示。 图3.1 各实体及其属性 (2)基本E-R设计根据主要业务规则,设计实体与实体之间的联系如图3.2所示。(为使实体与实体之间的联系更加清晰,在基本E-R图中采用属性“基本信息”代替原实体中的属性“姓名”、“性别”、“年龄”、“联系方式”、“家庭住址”。同时,考虑到特殊情况,此处工龄指在相应科室的工作时间。) 图3.2 医院住院系统数据库基本E-R图 四、 逻辑设计根据E-R图得出以下表:(1) 病人(住院号,病人姓名,病人性别,病人年龄,病人联系

6、方式,病人家庭住址) (2) 医生(医生编号,职称,医生姓名,医生性别,医生年龄,医生联系方式, (3) 医生家庭住址)(4) 护士(护士编号,护士姓名,护士性别,护士年龄,护士联系方式, (5) 护士家庭住址)(6) 科室(科室名,主任编号,护士长编号) (7) 病房(病房号,病区,病床数)(8) 治疗(住院号,医生编号,诊断,诊断时间,主治医师编号)(医生_病人关联表)(9) 住院(住院号,病房号,床位号,住院时间,出院时间)(病人_病房关联表)(10) 科室_病房(科室名,病房号) (科室_病房关联表) (11) 护理(住院号,护士编号,护理时间) (护士_病人关联表) (12) 医生工

7、龄(医生编号,科室名,工龄) (医生_科室关联表) (13) 护士工龄(护士编号,科室名,工龄) (护士_科室关联表) 得到的数据库关系图如图4所示。 图4 数据关系图 五、 规范化分析1. 属于第一范式的关系模式为:R(病人姓名,病人性别,病人年龄,病人联系方式,病人家庭住址,住院号,病房号,病区,科室名,床位号,医生编号,医生姓名,医生性别,医生年龄,医生工龄,医生联系方式,医生家庭住址,诊断,诊断时间,主任医师,住院日期,出院日期,护士编号,护士姓名,护士性别,护士年龄,护士工龄,护士联系方式,护士家庭住址,护理时间)2. 确定数据依赖 住院号病人信息,病房号,床位号,主治医师,住院日期

8、,出院日期 病房号科室名,病床数,病区 科室名主任,护士长,病区 医生编号职称,医生信息 护士编号护士信息 护士编号,科室名护士工龄 护士编号,住院号护理时间 医生编号,住院号,诊断时间诊断 医生编号,科室名医生工龄3.4. 确定关系模式R的主码 消除部分依赖,将关系模式R分解为:址,病区,病房号,床位号,病床数,主治医师,科室名,主任,护士长,住院日期,出院日期)Rb(医生编号,职称,医生姓名,医生性别,医生年龄,医生联系方式,医生家庭住址)Rc(护士编号,护士姓名,护士性别,护士年龄,护士联系方式,护士家庭住址)Rd(医生编号,住院号,诊断时间,诊断)Re(护士编号,住院号,护理时间)Rf

9、(医生编号,科室名,医生工龄)Rg(护士编号,科室名,护士工龄) 其中Ra属于第二范式但不属于第三范式,Rb、Rc、Rd、Re、Rf、Rg均属于BC范式。 主码(住院号,医生编号,护士编号,诊断时间) Ra(住院号,病人姓名,病人性别,病人年龄,病人联系方式,病人家庭住5. 消除关系模式Ra中的传递依赖,将关系模式Ra继续分解Ra(住院号,病人姓名,病人性别,病人年龄,病人联系方式,病人家庭住址,病房号,床位号,主治医师,住院日期,出院日期)Rb(病房号,科室名,病床数)Rc(科室名,病区,护士长,主任)经检验,Ra、 Rb、 Rc均属于第三范式,且不存在主属性对码的部分函数依赖,故Ra、 R

10、b、 Rc均为BC范式。6. 经过以上推断,可得出属于BC范式的关系模式为R1(住院号,病人姓名,病人性别,病人年龄,病人联系方式,病人家庭住址,病房号,床位号,主治医师,住院日期,出院日期)R2(病房号,科室名,病床数)R3(科室名,病区,护士长,主任)R4(医生编号,职称,医生姓名,医生性别,医生年龄,医生联系方式,医生家庭住址)R5(护士编号,护士姓名,护士性别,护士年龄,护士联系方式,护士家庭住址)R6(医生编号,住院号,诊断时间,诊断)R7(护士编号,住院号,护理时间)R8(医生编号,科室名,医生工龄)R9(护士编号,科室名,护士工龄) 六、 物理设计使用DDL实现其物理设计。1、

11、创建数据库create database 医院住院管理系统数据库 2、 建表use 医院住院管理系统数据库create table 病人(住院号int primary key,病人姓名varchar(30),病人性别varchar(5),病人年龄int,病人联系方式varchar(50),病人家庭住址varchar(50),病房号int,病床号int,主治医师编号int,住院日期datetime,出院日期datetime) create table 医生(医生编号int primary key, 职称varchar(10),医生姓名varchar(30),医生性别varchar(5),医生年龄

12、int,医生联系方式varchar(50), 医生家庭住址varchar(50), ) create table 护士(护士编号int primary key, 护士姓名varchar(30),护士性别varchar(5),护士年龄int,护士联系方式varchar(50), 护士家庭住址varchar(50), ) create table 病房(病房号int primary key, 科室名varchar(30),病区varchar(10),病床数int) create table 科室(科室名varchar(30) primary key, 主任编号int,护士长编号int) creat

13、e table 诊断(住院号int,医生编号int,诊断varchar(60),诊断时间datetime,primary key(住院号,医生编号,诊断时间) ) create table 医生工龄(科室名varchar(30),医生编号int,工龄int,primary key(科室名,医生编号) ) create table 护士工龄(科室名varchar(30),护士编号int,工龄int,primary key(科室名,护士编号) ) create table 护理(住院号int,护士编号int,护理时间datetime,primary key(住院号,护士编号) ) 3、 添加外键约

14、束ALTER TABLE 病人ADD CONSTRAINT b_bFOREIGN KEY (病房号)REFERENCES 病房(病房号) ALTER TABLE 病房ADD CONSTRAINT b_kFOREIGN KEY (科室名)REFERENCES 科室(科室名) ALTER TABLE 病人ADD CONSTRAINT b_zFOREIGN KEY (主治医师编号)REFERENCES 医生(医生编号) ALTER TABLE 科室ADD CONSTRAINT k_yFOREIGN KEY (主任编号)REFERENCES 医生(医生编号) ALTER TABLE 科室ADD CON

15、STRAINT k_hFOREIGN KEY (护士长编号)REFERENCES 护士(护士编号) 通过执行DDL语句可以得到各表之间的数据关系图,如图6所示。 图6 满足BC范式的数据关系图 七、 SQL部分(1)列出所有处于不同科室,但具有相同出院日期的病人,要求输出病人的住院号和姓名答:select a.住院号,a.病人姓名,b.住院号,b.姓名from 病人 a join 病人 b on a.科室!=b.科室where datediff(day,a.出院日期,b.出院日期)=0(2)输出至少有十名住院日期在2011-11-11日后男性病人的科室答:select 科室from ( sel

16、ect 科室from 病人 where 病人性别=男 and datediff(day,住院日期,2011-11-11)<0 ) as 男病人group by 科室having count(科室)>=10(3)列出所有姓白的护士姓名答:select 护士姓名from 护士where 护士姓名 like 白%(4)以住院号升序、病床号降序输出病人的所有记录答:select *from 病人order by 住院号,病床号 desc(5)输出未出院病人中最早的和最晚的住院日期答:select max(住院日期),min(住院日期)from ( select 住院日期from 病人whe

17、re 出院日期 is null)(6)显示医生人数多于5人的科室答: select 科室名from 医生 join 科室 on 医生.医生编号 = 科室.医生编号 group by(科室名)having count(科室名)>5(7)输出已经出院的病人的主治医师答:select 主治医师from 病人where 出院日期 is not null(8)显示担任两个以上病人的主治医师的医生编号答:select 医生编号from 病人 join 医生 on 病人.主治医师编号=医生.医生编号 group by 医生编号having count(医生编号)>2(9)在2011年10月出院的人数答:select count(*)from 病人where datediff(day,出院日期,2011-9-30)<0and datediff(day,出院日期,2011-11-1)>0(10)输出211病房的病人流动情况(显示住院号,住院日期,出院日期) 答:select 住院号,住院日期,出院日期from 病人where 病房号=211

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号