病人住院大数据库系统.docx
- 文档编号:24280122
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:32
- 大小:495.34KB
病人住院大数据库系统.docx
《病人住院大数据库系统.docx》由会员分享,可在线阅读,更多相关《病人住院大数据库系统.docx(32页珍藏版)》请在冰豆网上搜索。
病人住院大数据库系统
职业教育学院
《数据库课程设计》论文
题目:
住院信息管理系统
学号:
专业班级:
姓名:
指导老师:
完成日期:
1.需求分析…………………………………………………….4
1.1处理对象及组织……………………………………………………4
1.1.1住院部门的业务活动情况…………………………………..4
1.1.2用户对系统的要求…………………………………………...4
1.2可行性分析…………………………………………………4
1.2.1技术可行性…………………………………………………...4
1.2.2经济可行性…………………………………………………...4
1.2.3社会可行性…………………………………………………...4
1.3系统功能分析………………………………………………4
1.4数据流程图…………………………………………………5
1.5数据字典…………………………………………………...7
2.数据库结构设计……………………………………………..8
2.1概念结构设计………………………………………………………8
2.1.1E-R图的建立…………………………………………………8
2.2逻辑结构设计………………………………………………………10
2.2.1建立关系模式…………………………………………………10
2.2.2关系模式规化处理…………………………………………11
2.2.3用户子模式的建立……………………………………………11
2.2.4关系模式逻辑结构定义………………………………………11
3.物理结构设计………………………………………………..12
3.1数据存储位置………………………………………………………12
3.2数据库、表及相关的索引、触发器和存储过程…………………13
4.数据库的实施和维护………………………………………17
4.1数据库及数据库对象建立………………………………………....17
4.2数据入库………………………………………………………….18
4.3数据库测试………………………………………………………….21
5.总结……………………………………………………………24
摘要
随着人们生活水平的提高以及医学技术的发展,人们的健康意识越来越强,因此医院的人流量越来越大,而患者的要求也越来越高。
住院人员数量的增加给医院住院管理带来了巨大的压力,住院部是最能反应一所医院服务质量的窗口,但因工作量的加大,住院部也是医院里效率最低,错误率最高的部门。
一套好的住院信息管理系统在全面提高医院的办事效率上发挥着重要的作用。
本数据库涵盖了住院过程中的基本信息,主要包括病人、医生、护士基本信息资料,办理出入院手续,医生、护士的分配,医生诊断容的录入,以及护士每天的例行检察信息等。
使用的数据库为SQLSevere2008,画图工具是忆图。
关键字:
住院信息管理系统;数据库;SQLSevere2008;
引言
然而近年来,随着我国人民生活水平的迅速提高,科学技术的进一步发展,根据调查,在西方发达国家,几乎绝大部分的医院都已经采用数据库管理系统。
然而在国,许多小型医院还是完全依靠手工操作在管理病人和医院员工的一切信息,这不仅劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,对其所掌握的信息也无法很好地统计应用起来,这样既无法提高医院自身的医疗水平,同时又无法很好地为病人服务,这些都不利于医院的发展和管理。
采用计算机管理信息系统已成为医院管理科学化和现代化的标志,给医院带来了明显的经济效益和社会效益。
极大的提高了医务人员的工作效率,加快了病人就诊的速度,根除了“三长一短”的弊端,有效的解决了住院不方便的问题。
因此设计的住院信息管理系统要能很好的解决这些问题。
系统需要具备如下功能:
(1)方便记录和分析数据,减少工作强度。
能快速的查找数据,满足医院的管理要求。
(2)提高计算机处理数据的效率及准确度,使系统操作更简单、方便。
(3)系统能适应不同规模医院的需求,维护简单。
同时具备一定的安全性。
一、需求分析
1.1处理对象及组织
1.1.1住院部门的业务活动情况
病人需要登记基本信息,然后住院处根据病人所就诊的医科给病人安排床位,将病人的信息录入并进行相应的维护和管理。
病人住院期间,医生会对病人作出诊断,护士每天会定时对病人进行相应检查和管理。
1.1.2用户对系统的要求
病人信息:
病人的基本信息应包括:
、性别、年龄、家庭住址、联系方式等;然后是病人的住院信息,主要包括:
入院时间、病房号、床位号、主治医师、诊断记录、出院时间等。
医生信息:
包括医生、性别、年龄、联系方式、医生编号、所在科室等。
护士信息:
包括护士、性别、年龄、联系方式、编号、负责病房等。
1.2可行性分析
1.2.1技术可行性
硬件、软件要求不高,目前市场上的一般计算机软硬件资源均能满足系统开发需要。
数据库采用SQLSevere2008。
维护工作方便,后台的操作十分便捷,操作人员可以在短时间完全掌握系统的维护工作。
1.2.2经济可行性
对于每个住院部门,可以根据自己需要,配置性能一般的计算机,能过本机可以向服务器存储数据或查询数据。
这些电脑的费用对整个住院系统来说并不是一个很重的负担。
1.2.3社会可行性
由于医院住院病人数量众多,因而通过电脑化操作可以减少纸的使用,同时由于数据直接通过局域网传输,可以减少信息传递时间,提高效率,同时也方便医生,病人搜查相关住院信息,提高医院工作人员的工作效率。
1.3系统功能分析
由于每个医院住院管理业务都一样,包括病人信息、入住病房、医生信息、出院管理等,十分复杂,为了解决最关键的问题,根据医院现有的情况,在本系统设计过程中,主要包含以下功能模块:
1.病人入院、出院管理:
病人办理入院、出院登记管理,包括病人基本信息、入住病房、住、出院日期等。
并对出院的病人的病床进行回收,并进行收费确认,并生成收费清单。
2.病房管理:
对医院病房基本情况进行管理,包括病房入住情况等。
3.职工管理:
提供对各科室的医生、护士信息数据的输入,查询。
1.4数据流程图
顶层数据流图如下:
第一层数据流图如下:
第二层数据流图如下:
1.5数据字典
由于数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
而数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑容。
它能将数据流程图中全部数据流及组成部分描述清楚,便于后续工作一系列的设计。
本系统的数据字典如下:
数据结构:
表1.1
数据结构编号
数据结构名
数据结构含义
组成
DS-1
PInfo
病人信息表
PNo,PName,PSex,PTel,Page,PId,HouNo,BedNo,DNo,InHosp,OutHosp,Fees
DS-2
HouInfo
病房信息表
HouNo,BedSum,KName
DS-3
DInfo
医生信息表
DNo,DName,DSex,DTel,KName
DS-4
NInfo
护士信息表
NNo,NName,NSex,NTel
DS-5
ZhiLiao
治疗表
PNo,DNo,JieGuo,YaoFang,YFees,Time
DS-6
HuLi
护理表
PNo,NNo,HResult
数据项:
表1.2
数据项名
数据项含义
存储结构
PNo
病案号
char(10)
PName
病人
char(10)
PSex
病人性别
char
(2)
PAge
病人年龄
char
(2)
PTel
病人
char(20)
PId
病人住址
char(20)
HouNo
病房编号
char(10)
BedSum
病床数
int
BedNo
床位号
char(10)
KName
科室名
char(10)
DNo
医生编号
char(10)
DName
医生
char(10)
DSex
医生性别
char
(2)
DTel
联系方式
char(20)
NNo
护士编号
char(10)
NName
护士
char(10)
NSex
护士性别
char
(2)
NTel
联系
char(20)
InHosp
入院时间
Date
OutHosp
出院时间
Date
JieGuo
诊断结果
char(20)
Fees
住院费用
int
Time
诊断时间
Date
YaoFang
药方
char(60)
YFees
药费
int
HResult
护理结果
char(20)
二、数据库结构设计
2.1概念结构设计
一位病人可能有多位治疗医生,而每一位医生又可能给多名病人治病。
每一个病房可能住多位病人,而每一位病人只能住在一间病房中。
一位病人可能有多个住院登记,而一份住院登记只能有一个病人。
病房中有多个床位、一个床位只能在一个病房中。
一个床位可以出现在不同的住院登记上,而一份住院登记只能给病人分配一病床。
因此可以得出该系统的实体-联系图(E-R图)如下:
2.1.1E-R图的建立:
分E-R图的建立主要是根据数据流图中描述,将数据从数据字典中抽取出来,标定相应的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型,在全局E-R图的创建过程中主要需要将多个分E-R图进行集成。
分E-R图的建立
全局E-R图:
2.2逻辑结构设计
概念设计中得到的E-R图是由实体,属性和联系组成的,而关系数据库逻辑设计的结果是一组关系模式的集合,所以将E-R图转换为关系模型实际上就是将实体,属性和联系转换成关系模式,在转换中要遵循以下原则:
(1)一个实体转化为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。
(2)一个联系转换为一个关系模式,与该联系相连的各实体的键以及联系的属性均转换为该关系的属性。
该关系的键有三种情况:
1.如果联系为1:
1,则每个实体的码都是关系的候选码。
2.如果联系为1:
n,则n端实体的码是关系的码。
3.如果联系为n:
m,则各实体码的组合是关系的码。
2.2.1建立关系模式
再把其中联系转换为关系模式,由联系转换得到的关系模式的属性集中,转换的关系模式如下:
(1)病人(病案号,,性别,年龄,联系方式,家庭住址,医生编号,病房号,床位号,住院时间,出院时间,住院费)
(2)医生(医生编号,,性别,联系方式,科室名)
(3)护士(护士编号,,性别,联系方式)
(4)病房(病房号,科室名,病床数)
(5)治疗(病案号,医生编号,诊断时间,诊断结果,药方,药费)
(6)护理(病案号,护士编号,护理结果)
根据E-R图得出以上几个表,其中,有下划线的键表示是主键。
2.2.2关系模式规化处理
根据数据库应用系统的性能对数据模型进行规化的处理,首先需要确定数据依赖,对各模式之间的数据依赖进行极小化处理,消除冗余联系。
消除数据依赖中的不合适的部分,解决数据插入,删除时发生的异常现象。
既存在完全函数依赖,又存在部分函数依赖和传递函数依赖,种情况往往在数据库中是不允许的。
也正是关系中存在着复杂的函数依赖,才导致数据操作中出现了种种弊端。
克服这种弊端的方法是用投影运算将关系分解,去掉过于复杂的函数依赖关系,向更高一级的式进行转换。
第三式的定义:
如果关系模式R属于2NF,且每个非主属性都不传递依赖于R的每个关系键,则称R属于第三式。
BCN式的定义:
如果关系模式R属于1NF,且所有的函数依赖X->Y,决定因素X都包含了R的一个侯选键,则称R属于BCN式。
分析上面的七个关系模式可看出,每个关系模式中,既不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,也没有主属性对键的部分依赖。
因此,这些关系模式都是BCN式。
2.2.3用户子模式建立
子模式:
病人信息表(病案号,,性别,年龄,联系方式,家庭住址,医生编号,病房号,床位号,住院时间,出院时间,住院费)
医生信息表(医生编号,,性别,联系方式,科室名)
护士信息表(护士编号,,性别,联系方式)
病房信息表(病房号,科室名,病床数)
治疗信息表(病案号,医生编号,诊断时间,诊断结果,药方,药费)
护理信息表(病案号,护士编号,护理结果)
2.2.4关系模式逻辑结构定义
PInfo(病人表)
表2.1
列名
含义
类型
PNo
病案号
char(10)
PName
病人
char(10)
PSex
病人性别
char
(2)
PAge
病人年龄
Int
PId
病人地址
char(20)
PTel
病人
char(20)
DNo
医生编号
char(10)
HouNo
病房编号
char(10)
BedNo
床位号
char(10)
InHosp
入院时间
Date
OutHosp
出院时间
Date
Fees
住院费
Int
HouInfo(病房表)
表2.2
列名
含义
类型
HouNo
病房编号
char(10)
KName
所属科室
char(10)
BedSum
病床数
int
NInfo(护士表)
表2.3
列名
含义
类型
NNo
护士编号
char(10)
NName
护士
char(10)
NSex
性别
char
(2)
NTel
联系
char(20)
DInfo(医生表)
表2.4
列名
含义
类型
DNo
医生编号
char(10)
DName
医生
char(10)
DSex
医生性别
char
(2)
DTel
联系方式
char(20)
KName
科室名
char(10)
ZhiLiao(治疗表)
表2.5
列名
含义
类型
PNo
病案号
char(10)
DNo
医生编号
char(10)
JieGuo
诊断结果
char(20)
Time
诊断时间
Date
YaoFang
药方
char(60)
YFees
药费
Int
HuLi(护理表)
表2.6
列名
含义
类型
PNo
病案号
char(10)
NNo
护士编号
char(10)
HResult
护理结果
char(20)
三、物理结构设计
该数据库使用SQLSevere2008数据库来实现。
3.1数据存储位置:
数据名称
存储位置
文件格式
DInfo
2010036213\...
.xls
HouInfo
2010036213\...
.xls
HuLi
2010036213\...
.xls
NInfo
2010036213\...
.xls
PInfo
2010036213\...
.xls
ZhiLiao
2010036213\...
.xls
3.2数据库、表及相关的索引、触发器和存储过程。
1.创建数据库
createdatabase住院管理系统数据库
2.建表
createtablePInfo(
PNochar(10)primarykey,
PNamechar(10),
PSexchar
(2),
PAgeint,
PTelchar(20),
PIdchar(20),
HouNochar(10),
BedNochar(10),
DNochar(10),
InHospDate,
OutHospDate,
Feesint
)
createtableDInfo(
DNochar(10)primarykey,
DNamechar(10),
DSexchar
(2),
DTelchar(20),
KNamechar(10)
)
createtableNInfo(
NNochar(10)primarykey,
NNamevarchar(10),
NSexchar
(2),
NTelchar(20)
)
createtableHouInfo(
HouNochar(10)primarykey,
KNamechar(10),
BedSumint
)
createtableZhiLiao(
PNochar(10),
DNochar(10),
TimeDate,
JieGuochar(20),
YaoFangchar(60),
YFeesint
primarykey(PNo,DNo,Time)
)
createtableHuLi(
PNochar(10)primarykey,
NNochar(10),
HResultchar(20)
)
3.建视图
createviewF_PInfo
As
SelectPNo,PName,Fees
FromPInfo
WhereFees>=1000;
(建立一个住院费大于1000的病人的视图)
createviewN_P(PNo,PName,PSex,Page,HouNo,BedNo,NNo)
As
SelectPInfo.PNo,PName,PSex,Page,HouNo,BedNo,NNo
FromPInfo,HuLi
WherePInfo.PNo=HuLi.PNo;
(建立一个护士护理病人的视图,包括病人的一个基本信息及护士编号)
4.建索引
createindexHuNoONHuLi(NNo);
(在HuLi表的NNo上建立一个聚簇索引,将表中记录按NNo的值升序存放)
CreateindexZLNoONZhiLiao(DNo);
(在ZhiLiao表的DNo上建立一个聚簇索引,将表中记录按DNo的值升序存放)
5.存储过程
CREATEPROCEDURED_PInfo
AS
SELECTPNo,PName,PSex,PTel,Page,PId,HouNo,BedNo
FROMPInfo
WHEREDNo='D005'
(查询编号为D005的医生所诊断过的病人的信息,列出病人的病案号、、性别、、住址、入、出院时间)
6.触发器
CreatetriggerT_PF
onPInfo
afterinsert,update
As
updatePInfo
setFees=1500
fromPInfo,inserted
whereinserted.PNo=PInfo.PNoandPInfo.Fees>1500;
(定义一个触发器,为病人信息表定义完整性规则“病人住院费不得高于1500,如果高于1500,自动改为1500,超过部份国家会进行补贴”)
四、数据库的实施和维护
4.1数据库及数据库对象建立
在数据库对象的创建过程中共创建了六个表格:
图4-1
创建了关于多个表查询的视图:
图4-2
4.2数据入库
将各个表中的数据根据所建立表之间的联系录入。
病人信息表数据:
图4-3
医生信息表数据:
图4-4
病房信息表数据:
图4-5
护士信息表数据
图4-6
护理信息表数据:
图4-7
治疗信息表数据:
图4-8
4.3数据库测试
在测试过程中主要包含对数据中视图的测试,存储过程,以及触发器的测试。
1.视图测试结果
图4-9为住院费用大于1000元的病人的病案号、及住院费
图4-10为一个护士护理病人的视图,包括病人的一个基本信息及护士编号
图4-9
图4-10
2.查询测试结果
(1)输出住院日期在2012-3-11日后男性病人的信息
答:
select*
fromPInfo
wherePSex='男'andInHosp>'2012-4-21'
(2)以住院号升序、病床号降序输出病人的所有记录
答:
select*
fromPInfo
orderbyInHosp,BedNodesc
3.
触发器测试结果
当修改病案号为P108号病人的住院费为2500时,会触发触发器,将住院费自动改为1500元
五、总结
在这次数据库实习过程中,通过对医院住院管理系统的设计,我真的是益匪浅,学到很多知识。
在实习中,我通过积极查阅资料和调查,在指导老师的帮助下完成了这个系统的设计。
在医院住院管理系统的设计中,刚开始在设计时就遇到了很多的困难,特别是在刚开始的需求分析过程中先创建数据流程图,然后在创建数据字典,由于对于系统设计的目标不是很明确造成了对数据流图的反复修改。
然后在同学和老师的帮助下,我掌握了数据库设计的基本方法,使得在后续的数据库设计阶段能够得心应手,基本上完成了预期的要求。
通过这次实习,我进一步加深了对基础知识的理解,加强了专业知识的学习,并且对书写课程设计的论文格式排版也掌握的不错了。
在这次实习过程中我也感受到了时间的压力,因为在实习的过程中还有好几门的考试也在紧的备战过程中,时间安排的很紧迫,设计的进度也比较慢。
但是,在这两周的课程设计和复习备考过程中,我感觉这两周都过的挺充实的,虽然累了点但是感觉我付出了努力就一定会有很大的收获的。
在此也感这两周来指导老师对我的帮助。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 病人 住院 数据库 系统