医院信息管理系统
设
计
姓名:
学号:
学院:
专业:
医院信息管理系统
一、分析:人类进入21世纪,医院作为一个极其重要的服务部门,其发展应适应计算机技术的发展。
我国的医疗体制正在进行改革,需要医疗市场的进一步规范化,这就利用现代化的工具对医院进行有效的管理,有利于提高医疗水平和服务质量,更好的服务于社会。
鉴于此目的,我利用SQL Server 2000技术设计了此医院管理数据库系统,以利用计算机完成病人入院后,对其基本信息、主治医师以及入住病房等信息进行数据库管理,有利于提高入院手续的办理速度以及对医院资源管理的效率。
同时可以落实责任,方便信息的集中化管理及应用。
本数据库系统是一个小型数据库管理系统,施以款专门用于医院管理系统的软件,具有良好的用户界面,风格独特的设计。
二、整体分析:
1、病人入院过程
2、系统构成
三、ER图
1、局部ER图
1-1、病人信息管理系统ER图
1-2.医务人员管理系统ER图
1-3.病房信息管理系统ER图
2、全局ER图
四、转换关系模型分析范式级别
第一步:把四个实体类型转换成四个模式:
医生(职工号,姓名,性别,年龄,职称)
病人(入院号,姓名,性别,年龄)
科室(科室名,电话)
病房(病房号,床位数)
第二步:对于1:1联系“主管”,可在“科室”模式中加入医生职工号(职工号为外键)。
对于1:N联系“入住”,可以在“病人”模式中加入病房号属性(病房号为外键)。
对于1:N联系“属于”,可以在“病房”模式中加入科室名属性(科室号为外键)。
对于1:N联系“聘用”,可以在“医生”模式中加入科室名和聘期两个属性(科室名为外键)。
这样第一步得到的三个模式的形式如下:
医生(职工号,姓名,性别,年龄,职称,聘期,科室号)
病人(入院号,姓名,性别,年龄,病房号)
科室(科室名,科长职工号,电话)
病房(病房号,床位数,科室号)
第三步:对于M:N联系“主治”则生成一个新的关系模式:
主治(职工号,住院号)
这样转换成的五个模式如下:
医生(职工号,姓名,性别,年龄,职称,聘期,科室号)
病人(入院号,姓名,性别,年龄,病房号)
科室(科室名,科长职工号,电话)
病房(病房号,床位数,科室名)
主治(职工号,住院号)
分析,关系模式的每个关系都是不可再分的原子值,即为第一范式,又因为每个非主属性都不传递依赖于模式的候选键,因此该模式集为第三范式。
五、数据字典
doctor
patient
office
sickroom
cure
六、编写代码
创建数据库hospital
create database hospital
创建基本表:
(1)创建doctor表
create table doctor
(
dno int primary key,
dname char(16)
sex char(2),
age smallint,
title char(10),
check (age<150),
check (employ<100),
)
(2)创建office表
(
oname char(16) primary key,
dno int foreign key references doctor(dno),
tel char(8),
)
(3)修改doctor表的外键
ALTER TABLE doctor add oname char(16) foreign key references
office(oname)
(4)创建sickroom表
create table office
(
sno int primary key,
num smallint,
oname char(16) foreign key references office(oname) on update cascade )
(5)创建patient表
create table patient
(
pno char(9) primary key,
pname char(16)
sex char(2),
age smallint,
sno int foreign key references sickroom(sno)
check (age<150),
(6)创建crue表
(
dno int
pno char(9)
primary key(dno,pno),
foreign key (dno) references doctor(sno),
foreign key (pno) references patient(pno),
)
(8)创建视图
视图一:主治医师使用视图doc_pat
create view doc_pat as
select patient.pno, patient.pname, doctor.dno, doctor.dname from doctor,patient,crue
where patient.pno=cure.pno and doctor.dno=crue.dno
运行:
select *
from doc_pat
视图二:住院部视图room
create view room as
select sickroom.sno,num,oname,count(pno) as in_num from sickroom, patient
where patient.sno=sickroom.sno
group by sickroom.sno,num,oname
运行
Select *
from room
(9)查询:
1.select dno,dname
from doctor
where sex=’男’
2.
select crue.dno,dname,count(crue.dno) as 接诊人数,oname from crue,doctor
where crue.dno=doctor.dno
group by crue.dno,dname ,oname
七、上机运行
create database hospital
第一步:创建doctor表(未加外键及对应属性)第二步:创建office表
第三步:修改doctor表的外键第四步:创建sickroom表
第五步:创建patient表
第六步:创建cure表
七、创建视图
创建视图视图一:主治医师使用视图doc_pat 运行结果
视图二:住院部视图room 运行结果
八、查询:
1.
2.。