医院住院部管理系统2推荐文档.docx
《医院住院部管理系统2推荐文档.docx》由会员分享,可在线阅读,更多相关《医院住院部管理系统2推荐文档.docx(13页珍藏版)》请在冰豆网上搜索。
医院住院部管理系统2推荐文档
课题:
医院住院部管理系统
用于实现对住院部的管理,系统主要功能包括:
1、员工信息:
提供员工信息的基本管理,包括员工信息的输入、查询、删除和修改等操作;
2、病人信息:
提供病人信息的基本管理,包括病人信息的输入、查询和修改等操作;
3、病床信息:
提供病床信息的基本管理,包括病床信息的输入、查询和修改等操作;
4、住院管理:
提供住院、出院信息的管理。
请根据上述功能要求为“住院部管理系统”设计数据库,说明该库应包含的数据表,各表之间的关系,每个表的结构等内容。
第一部分相关要求
1、选定实验题目:
医院住院部管理系统
2、撰写设计报告(提交打印版和电子版)
3、编写SQL代码(提交电子版)
第二部分数据库设计报告模板
医院住院部管理系统
一、需求分析
分析清楚系统用户、功能、涉及的数据
二、概念结构设计
绘制E-R图确定实体、属性和联系
三、逻辑结构设计
将E-R图转换为数据模型;关系规范化;设计视图(根据需要确定)
四、数据库物理结构设计
对各表进行详细设计,包括字段名、数据类型、长度、是否为空、默认值、索引、约束
五、数据库实施
编写SQL代码创建数据库、数据表、加载数据
六、总结
第三部分设计报告示例
医院住院部管理系统
一、需求分析
1、系统目标:
实现一个医院住院部管理系统,完成病人信息管理,医生信息管理,床位信息管理。
2、系统功能需求:
本系统的用户分为病人用户和医生用户两类,病人用户的作用是来医院看病,医生用户的作用是给病人看病,包括对病人信息,医生个人信息,病床床位信息的录入,修改,查询,删除等。
(1)功能划分
用户通过身份验证后进入主界面。
主界面为用户提供3项选择:
病人信息管理,医生信息管理,病床床位信息管理。
(2)功能描述
●●病人信息管理
给出所有病人的列表,用户可以实现增加,修改,查找,删除病人信息,维护指定病人所有个人信息,为指定病人设定看病和住院等功能。
在维护指定病人信息功能中,用户可以实现增加,修改,删除病人信息,察看某一病人看病情况。
在指定病人看病功能中,以表格形式列出病人所有看病的信息,实现为一个病人增加或删除看病的功能。
●●医生信息管理
给出所有医生的列表,用户可以增加,修改,删除,查找病人信息,察看某个病人看病情况,为病人修改看病信息等功能;并且医生也可以查看所有医生的信息,可以通过每个医生的看病次数查看那个医生的医疗水平高等,并确定选那个医生就诊。
●●病床信息管理
用于添加,修改,删除病床纪录,查看某病人的选床情况,查询指定的医生以及病人信息,并让医生和病人之间联系跟密切,使病人更了解自己的病情,让自己很快好转,尽快出院让出紧缺的床位。
3、开发工具
该综合教务系统的数据库采用了SQLgzsrver2005简体中文企业版,前台应用程序采用了ASP编写,提供了Web界面方便学生从网上使用。
由于采用了ADO数据库接口,因此很容易修改为支持ORACLE,SYBAgzs,DB2等数据库,该系统的结构为B/S结构,即浏览器/服务器结构。
二、概念结构设计
1、系统概念模型
图1选课系统概念模型E-R图
2、详细说明
(1)系统涉及的实体集
●★病人实体集:
具有属性病人号码、姓名、性别、年龄、科室。
●★医生实体集:
具有属性医生号码、姓名、性别、年龄、科室。
●★床位实体集:
具有属性床位号码。
(2)系统涉及的联系
●☻一个医生可以有多个病人,一个病人也可以有多个医生,所以医生和病人之间的联系为M:
N的联系。
●☻一个病人在一段时间可以有多个床位,一个床位在一段时间可以有多个病人入住,所以病床床位和病人之间的联系为M:
N的联系。
三、逻辑结构设计
将E-R模型转换为关系模式
(1)病人实体集可以转换为关系
patient(pno,pname,pgzsx,page,pdept)
pno表示病人的号码,pname表示病人的姓名,pgzsx表示病人的性别,page表示病人的年龄,pdept表示病人的科室。
(2)医生实体集可以转换为关系
doctor(dno,dname,dgzsx,dage,ddept)
dno表示医生的号码,dname表示医生的姓名,dgzsx表示医生的性别,dage表示医生的年龄,ddept表示医生的科室。
(3)床位实体集可以转换为关系
bed(bedno,dno,pno)
bedno表示床位号码,dno表示医生号,pno表示病人号。
(4)病人和医生之间的看病联系是N:
M的联系
SeekTime(pno,DTime)
Pno表示病人的号码,DTime表示医生看病的时间。
(5)病人和床位之间的住院联系可以转换为关系
HospitalizedTime(pno,HTime)
Pno表示病人的号码,HTime表示病人人住院的时间。
四、数据库物理结构设计
1、把关系模型转化为表结构
(1)病人信息表(patient):
包含所有的病人信息。
表1-病人信息表结构
域名
含义
数据类型
例子
备注
pno
病人号
字符类型
01001
主码
pname
病人姓名
字符类型
李平
pgzsx
病人性别
字符类型
男
page
病人年龄
数值类型
2
pdept
病人科室
字符类型
内科
(2)医生信息表(doctor):
包含所有医生的个人信息。
表2-医生信息表结构
域名
含义
数据类型
例子
备注
dno
医生号
字符类型
101
主码
dname
医生姓名
字符类型
韩翠翠
dage
医生年龄
数值类型
56
dgzsx
医生性别
字符类型
女
ddept
医生科室
字符类型
妇科
(3)病床信息表(bed):
包含所有病床信息。
表3-病床信息表结构
域名
含义
数据类型
例子
备注
bedno
病床号
字符类型
1001
主码
pname
病人姓名
字符类型
李平
外码
dname
医生姓名
字符类型
韩翠翠
外码
(4)病人看病表(Seek):
包含所有病人的看病信息。
表4-病人看病表结构
域名
含义
数据类型
例子
备注
Pno
病人号
字符类型
01001
外码
SeekTime
看病时间
数值类型
3
(5)病人住院表(Hospitalized):
包含所有病人住院信息。
表5-病人住院表结构
域名
含义
数据类型
例子
备注
Pno
病人号
字符类型
01001
外码
HospitalizedTime
住院时间
数值类型
2
2、实现数据完整性
可以通过各种约束,缺省值,规则和触发器实现数据的完整性。
由于教务系统的重要性,以及各个数据之间的复杂相关性,保证数据的完整性显得更为重要。
不能让用户随意进行删除、修改数据。
(1)CHECK约束保证在每位医生都有病人情况下,才可出现医生所看病人的人数有所偏差。
(2)各种外码约束保证数据的完整性,不能随意删除。
外码的设置在上面数据库建表时已经提到。
(3)主码约束保证实体的完整性,主码的设置在上面数据表的设计时已提到了。
(4)创建规则保证医生的年龄在20岁到65岁之间(出生日期在1974-1-1到19-12-31日之间),不会输入错误数据。
(5)创建触发器,保证在添加医生信息的时候,自动将该医生的信息添加到doctor表中。
五、数据库实施
USEmaster
CREATEDATABASEgzs_st
ONPRIMARY
(
NAME=gzs_st_data,
FILENAME='D:
\gzs_st.mdf',
SIZE=10MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=1MB
)
LOGON
(
NAME=gzs_st_log,
FILENAME='D:
\gzs_st.ldf',
SIZE=2MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=1MB
)
GO
USEgzs_st
CREATETABLEpatient
(
pnochar(5)notnullprimarykey,
pnamechar(8),
psexchar
(2),
pagetinyint,
pdeptchar(10)
)
CREATETABLEdoctor
(
dnochar(3)notnullprimarykey,
dnamechar(12),
dsexchar
(2),
dagetinyint,
ddeptchar(10)
)
CREATETABLEbed
(
pnochar(5),
dnochar(3),
bednochar(4),
PrimaryKey(pno,dno),
ForeignKey(pno)Referencespatient(pno),
ForeignKey(dno)Referencesdoctor(dno)
)
CREATETABLESeek
(
pnochar(5),
dnochar(3),
SeekTimedatetime,
PrimaryKey(pno,dno),
ForeignKey(pno)Referencespatient(pno),
ForeignKey(dno)Referencesdoctor(dno)
)
CREATETABLEHospitalized
(
pnochar(5),
dnochar(3),
bednochar(4),
Seektimechar(20),
HospitalizedTimechar(20),
)
USEgzs_st
insertpatientvalues('01001','李平','男',2,'内科')
insertpatientvalues('01002','周灵','女',45,'外科')
insertpatientvalues('01003','李芳','女',24,'牙科')
insertpatientvalues('01004','刘小冬','男',41,'眼科')
insertpatientvalues('01005','刘岳','男',102,'眼科')
insertpatientvalues('01006','吴京','男',55,'外科')
insertpatientvalues('01007','王芳','女',63,'妇科')
insertpatientvalues('01008','黄明明','女',74,'神经科')
insertpatientvalues('01009','赵飞','男',83,'口腔科')
insertpatientvalues('01010','刘冰','男',25,'外科')
insertpatientvalues('02001','孙雨','男',81,'牙科')
insertpatientvalues('02002','韩雨晴','女',75,'骨科')
insertpatientvalues('02003','张天一','男',41,'神经科')
insertpatientvalues('02004','李伟','男',88,'眼科')
insertpati