医院门诊管理系统的后台数据库设计.docx
- 文档编号:744752
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:56
- 大小:669.25KB
医院门诊管理系统的后台数据库设计.docx
《医院门诊管理系统的后台数据库设计.docx》由会员分享,可在线阅读,更多相关《医院门诊管理系统的后台数据库设计.docx(56页珍藏版)》请在冰点文库上搜索。
《数据库管理系统》
课程设计报告
题 目:
医院门诊管理系统的后台数据库设计院(系):
信息科学与工程学院
专业班级:
学生姓名:
学 号:
指导教师:
2013年1月7日至2013年1 月18日
数据库管理系统 课程设计任务书
一、设计(调查报告/论文)题目
医院门诊管理系统的后台数据库设计
二、设计(调查报告/论文)主要内容
内容:
门诊管理涵盖了医院对门诊患者进行诊疗的全过程,实现门诊日常信息交互工作的电子化、信息化,全面有效的管理医院门诊的日常业务。
基本功能与要求:
1.实现门诊挂号管理,支持挂号、科室、医生表维护和多种收费结算方式
2.门诊病案的生成与管理等功能;
3.实现门诊划价、收费功能;
4.按年份月份统计医院各科室的门诊情况。
三、原始资料
1.《数据库管理系统课程设计》指导书
2.数据库系统设计课件
四、要求的设计(调查/论文)成果
1.课程设计报告
2.课程设计作品
2
五、进程安排
六、主要参考资料
[1] 顾兵.数据库技术与应用(SQLServer).北京:
清华大学出版社,2010.
[2] 马晓梅.SQLServer实验指导.第3版.北京:
清华大学出版社,2009.
[3] 范立南等.SQLServer2005实用教程.北京:
清华大学出版社,2009.
[4] 李丹.SQLServer2005数据库管理与开发.北京:
机械工业出版社,2010.
指导教师(签名):
20
年
月
日
序号
课程设计内容
学时分配
备注
1
选题、需求分析
1天
2
数据库设计
2天
3
数据库表及相关约束、视图实现
2天
4
数据库的存储过程、触发器实现
2天
5
数据库后台功能测试
2天
6
验收答辩、撰写课程设计报告
1天
合计
10天
目 录
1需求分析 1
1.1系统的基本构成 1
1.2主要业务流图分析 1
1.2.1门诊挂号 2
1.2.2门诊退号 3
1.2.3门诊就医 4
1.2.4门诊收费 5
1.3数字字典 6
2.概念结构设计 16
3.逻辑结构设计 19
3.1关系模式的转化 19
3.2实际的数据模型 19
4.物理结构设计 22
5.数据库物理实现 23
5.1医院门诊数据库的建立 23
5.2建立数据表 23
5.3向个表中插入数据 26
5.4对表建约束 40
5.5创建视图 41
5.6.建索引 43
5.7建存储过程 44
5.8建触发器 45
6.系统后台功能测试 48
7.总结 51
4
1需求分析
1.1系统的基本构成
医院门诊管理系统 :
主要是对医院门诊部门挂号和收费,药房以及医生就诊进行管理
主要功能模块有如下四个:
(1)门诊挂号:
作为医院对病人的第一个门面,主要是针对病人挂号,查询病人的挂号信息和交款信息,统计挂号科室,医生,挂号员工作量,挂号病人的报表。
(2)门诊收费:
作为医院对病人在医院看病的费用进行缴费部门,主要作用是门诊收费,收费查询,统计报表。
(3)药房管理:
主要功能是医院对药物进行入库,盘点,库存,以及对病人的取药,退药查询,合理用药的咨询。
统计药房工作人员的工作量,药品日用量的报表。
(4)门诊医生:
的主要功能是通过病人的先主诉病情,然后对病人进行诊治,给病人进行查询,检查,手术,住院申请,申请单将自动传到收费处和医技科室,可以查询病人的信息,对病人的退费,退该处方要求进行审核,处理。
1.2主要业务流图分析
52
医院门诊管理系
统
门
诊挂号
门
诊收费
药
方管理
医
生管理
退
号管理
1.2.1门诊挂号
1-1系统总功能图
病人首先可以预约挂号:
到医院挂号后,先确定是不是急诊,病人有没有磁卡,有先读取磁卡的信息;为病人选择科室,病人选择医生的级别,医院为该病人指派医生(查询该级别该科室各医生当前门诊数,选择门诊数最少的医生),对该病人收取挂号费用,登记挂号信息。
如图1-2所示
挂号人数
查询该级别医生的门诊数
打印
磁卡
账目单
选择门诊数最少的医生
入院
收费
医生挂号数加1
挂号
结束
选择医生级别(有院方指派)
选择医生
选择科室
输入基本信息
登记新磁卡
读取磁卡
病人
统计
图1-2病人挂号数据流程图
1.2.2门诊退号
挂号病人由于某种原因要求退号,医院读取病人的磁卡,查询挂号的信息,是否是当日的挂号(如果不是当日的挂号,医院则不给与退号处理,删除挂号的信息吗,给病人挂号费用:
对推出的费用记账,打印出退号凭证)如图
1-3
病人
磁卡
当日挂号单
挂号单
读取磁
查看挂号信息
非当日挂号单
不退号
退号
删除挂号信息
账单
退号凭
入账
退挂号费
图1-3病人退号数据流程图
1.2.3门诊就医
病人挂号到指定医生就诊,医生询问病人是否是复诊或者初诊(复诊的话查询病人的历史就诊信息);病人想医生叙述病情,医生记录病情和病史;医生对病人叙述的病情给与诊断,然后给病人开药(配置禁忌用药,查问病人是否同意);需要做化验,手术,检查,住院的给病人开申请单。
病人拿着申请单开出的药品单;化验,手术,检查,住院申请单到收费处缴费,交完费用拿着收据到药房取药;化验室,检查室;手术室领取手术时间表;到住院部让住院护士安排床位(如图1-3所示)
开化验单
,
手术单,
注射单并
显示价钱
,
付总价钱
写电子病历
交费划价收费
,
药房
挂号单
电子病历
不同意
同意
手术
室
完毕
确定
病人意见
显示价钱
病理非法对应处理
开药
配置禁忌检查
完毕
入院
病人叙述病情记录病情和历
查询历史就诊情况
读取磁卡
读取磁卡
挂号单
1-3医生就诊数据流程图
1.2.4门诊收费
门诊收费是在门诊就医时候所有的费用都在次缴费,接受病人的缴费单据,刷卡读取病人的收费单据,对病人的费用进行收费。
收费后进行收费检查,给病人发票,给病人一张收费单据,费用每日结算后打入财务科如图1-4
财务账单
打印发票
财务处理
接受收费单据
收
单据
刷卡读取病人的收费单据
收费
费
发送发票收据
1-4门诊收费流程图
1.3数据字典
(1)挂号单的数据字典
①数据项描述数据项:
编号
含义说明:
唯一标识每个用户别名:
re_number
类型:
varchar长度:
0至10取值范围:
到
数据项:
日期
含义说明:
标志病人挂号时间别名:
re_date
类型:
datetime长度:
8
取值范围:
2000年1月1日到3000年1月1日
②数据结构
数据结构名:
挂号单
含义说明:
是病人到医院看病的首要任务,有了挂号单才能知道看病的时间等
组成:
编号,日期,挂号方式
③数据流
数据流名:
挂号单
说明:
病人看病的顺序数据流来源:
医院前台数据流去向:
科室
④数据存储
数据存储名:
挂号单表说明:
记录看病的人数流入数据:
来源病人流出数据:
科室
(2)病人的数据字典
①数据项的描述数据项:
挂号名
含义说明:
病人看病的顺序别名:
pa_number
类型:
varchar长度:
0至5
取值范围:
00000至99999
数据项:
病人姓名
含义说明:
病人的标志别名:
pa_name
类型:
char长度:
10
数据项:
年龄
含义说明:
病人的年龄别名:
pa_age
类型:
int长度:
5
取值范围:
0至150
数据项:
联系电话
含义说明:
联系病人的号别名:
pa_phone
类型:
varchar
长度:
11
②数据结构
数据结构名:
病人
含义说明:
病人的基本信息组成:
编号,日期,挂号方式
③数据流
数据流名:
病人
说明:
病人看病的步骤数据流来源:
病人
数据流去向:
科室
④数据存储
数据存储名:
病人表说明:
记录病人信息流入数据:
来源病人流出数据:
科室
(3)医生的数据字典
①数据项描述数据项:
医生号
含义说明:
每个医生的编号别名:
do_number
类型:
int
取值范围:
0至300
数据项:
姓名
含义说明:
医生的标志别名:
do_name
类型:
char长度:
8
数据项:
医生职称
含义说明:
医生的职位别名:
do_position
类型:
varchar长度:
12
数据项:
联系电话
含义说明:
医生的联系方式别名:
do_phone
类型:
char长度:
11
②数据结构
数据结构名:
医生
含义说明:
医生的基本情况
组成:
医生号,姓名,医生类别,医生职称
③数据流
数据流名:
医生
说明:
医院医生的记录
数据流来源:
医院的医生数据流去向:
医院的记录
④数据存储
数据存储名:
医生表说明:
存储医生信息流入数据:
来源医生流出数据:
医院
(4)处方单的数据字典
①数据项描述数据项:
处方号
含义说明:
某个医生看病人数的记录别名:
pr_number
类型:
int
取值范围:
0至300
数据项:
病人姓名
含义说明:
病人的名字别名:
pr_name
类型:
char长度:
8
数据项:
日期
含义说明:
医生医治病人时间别名:
pr_date
类型:
datetime
取值范围:
2000年1月1日到3000年1月1日
②数据结构
数据结构名:
处方表
含义说明:
病人看病的基本情况组成:
处方号,姓名,日期
③数据流
数据流名:
处方表
说明:
病人看病的记录数据流来源:
医生
数据流去向:
收费单
④数据存储
数据存储名:
处方表
说明:
存储病人看病的信息流入数据:
来源医生
流出数据:
收费单
(5)诊断结果的数据字典
①数据项描述数据项:
病名
含义说明:
医生诊断出的结果别名:
cu_name
类型:
varchar长度:
30
数据项:
诊断方案
含义说明:
病人检查的方式别名:
cu_plan
类型:
char长度:
40
②数据结构
数据结构名:
诊断结果表含义说明:
病人的检查结果组成:
病名,诊断方式
③数据流
数据流名:
诊断结果表说明:
病人病情的记录数据流来源:
医生
数据流去向:
处方单
④数据存储
数据存储名:
诊断结果表说明:
病人看病的结果流入数据:
来源医生
流出数据:
处方单
(6)收费单的数据字典
①数据项描述
数据项:
金额
含义说明:
病人看病的费用别名:
ch_money
类型:
floor长度:
30
数据项:
编号
含义说明:
收费单的序号别名:
ch_number
类型:
int
取值范围:
0到
数据项:
项目
含义说明:
病人费用的项目别名:
ch_project
类型:
varchar长度:
30
数据项:
日期
含义说明:
病人付费的时间别名:
ch_date
类型:
datetime
取值范围:
2000年1月1日到3000年1月1日
②数据结构
数据结构名:
收费单表
含义说明:
病人看病的费用
组成:
编号,金额,项目,日期
③数据流
数据流名:
收费单表说明:
病人看病的费用数据流来源:
病人
数据流去向:
医院
④数据存储
数据存储名:
收费单表说明:
医院的收入结果流入数据:
来源病人流出数据:
医院
(7)药品的数据字典
①数据项描述数据项:
名称
含义说明:
药品的名字别名:
dr_name
类型:
varchar长度:
30
数据项:
单价
含义说明:
药品的价格别名:
dr_price
类型:
floor长度:
40
数据项:
数量
含义说明:
药品的多少别名:
dr_many
类型:
int
数据项:
编号
含义说明:
药品的号码别名:
dr_number
类型:
varchar长度:
40
数据项:
日期
含义说明:
病人付费的时间别名:
pr_date
类型:
datetime
取值范围:
2000年1月1日到3000年1月1日
②数据结构
数据结构名:
药品表含义说明:
药品的信息
组成:
编号,日期,名称,单价,数量
③数据流
数据流名:
药品表说明:
药品的用途数据流来源:
医院数据流去向:
病人
④数据存储
数据存储名:
药品表说明:
医院的收入结果流入数据:
医院
流出数据:
病人
(8)药房的数据字典
①数据项描述数据项:
名称
含义说明:
唯一标识药房别名:
dr_name
类型:
varchar长度:
30
②数据结构
数据结构名:
药房表含义说明:
药房的信息组成:
名称
③数据流
数据结构名:
药房表说明:
储存药物
数据流来源:
医院数据流去向:
病人
④数据存储
数据存储名:
药房表说明:
对要的管理流入数据:
医院
流出数据:
病人
(9)科室的数据字典
①数据项描述数据项:
科室号
含义说明:
唯一标识科室别名:
of_number
类型:
varchar长度:
6
数据项:
科室名
含义说明:
唯一标识科室的作用别名:
of_name
类型:
varchar长度:
12
数据项:
联系电话
含义说明:
联系科室的方式别名:
of_phone
类型:
varchar
长度:
11
②数据结构
数据结构名:
科室表含义说明:
药房的信息组成:
科室号,科室名
③数据流
数据流名:
科室表
说明:
医生看病的情况数据流来源:
医院
数据流去向:
病人
④数据存储
数据存储名:
科室表
说明:
存储科室的业务信息流入数据:
医生
流出数据:
医院
(10)磁卡的数据字典
①数据项描述数据项:
磁卡号
含义说明:
唯一标识磁卡别名:
ca_number
类型:
varchar长度:
6
数据项:
病人姓名
含义说明:
唯一标识持卡者别名:
ca_name
类型:
varchar长度:
8
数据项:
金额
含义说明:
病人治病所需总金额别名:
ca_money
类型:
int
取值范围:
0—1000万
数据项:
日期
含义说明:
病人付费的时间别名:
ca_date
类型:
datetime
取值范围:
2000年1月1日到3000年1月1日
②数据结构
数据结构名:
磁卡表含义说明:
药房的信息
组成:
磁卡号,病人姓名,日期
③数据流
数据流名:
磁卡表
说明:
病人看病的情况数据流来源:
病人
数据流去向:
医生
④数据存储
数据存储名:
磁卡表说明:
病人信息
流入数据:
病人
流出数据:
医院
2概念结构设计
根据中层数据流图,得出分E-R图,总E-R图,并对E-R图进行相关优化
日期
挂号方
式
编号
挂号单
病人电话
1
磁卡号
病人姓名
日期
挂号名
拥有
病人姓名
1
病人
1
拥有
1
磁卡
m
医生编号
病人年龄
就诊
1
医生
医生姓名
n
医生类别
科室名
科室
n
拥有
医生职称
医生电话
科室
电话
科室
电话
图2-1挂号E-R分图
病人
号码
病人
姓名
病人
年龄
病人
电话
拥有
1
1
编号
日期
挂号方式
挂号单
1
拥有
日期
1
磁卡号
金额
磁卡
病人
图2-2退号E-R分图
磁卡号
码
病人姓
名
病人
电话
病人姓
名
年龄
拥有
1 1
病人编
号
金额
日期
磁卡
日期
挂号单
编号
1
拥有
1
病人
图2-3门诊就医E-R图
日期
编号 挂号单
m
拥有
病人
电话 1
挂号 病人
名年龄
挂号方式
姓名
m
处方号
科 医生 医生
室 编号 姓名
号
就诊 1
医生 医生
职位 电话
医生
m
产生 诊断方案
n
日 处方单 1
期
病人 1
姓名
产生 1
单价
诊断结果 病名
名称
编号
收费
项目
1
收费单
金额
m 通知 1
名称
药房 1
药品
数
n 量
领药 日期
日期 收费方
式 编号
2-4门诊医院管理系统E-R图
3逻辑结构设计
3.1关系模式转化
关系模型的逻辑结构是一组关系模式的集合,将E-R图转换为关系模型就是要将实体型,实体的属性和实体型之间的联系转换为关系模式。
由ERD导出一般关系模型的四条原则:
(1)一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系项连接的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
将E-R图转化为关系模式,分析函数依赖,消除部分函数依赖和传递依赖,满足第三范式各个关系模式如下:
下面关系里面没有部分函数依赖和传递函数依赖,所以均满足第三范式:
挂号单(编号,日期,挂号方式,病人姓名)
医生(医生号,姓名,职称,电话,科室号)
病人(挂单号,病人姓名,年龄,医生号,性别)医生—诊断结果(医生编号,病人的名字,病名)处方单(处方号,日期,病人姓名)
收费单(编号,日期,金额,处方号)药品(编号,名称,数量,单价)
科室(科室号,科室名,联系方式)
3.2实际数据模型
基于上述数据库逻辑结构设计的结果,现在将其转化为给定数据库管理系统所支持的实际数据模型。
3-1register表
列(属性)名
数据类型与长度
空否
说明
re_number
Varchar(10)
NOTNULL
挂号单编号
re_date
Datetime
NOTNULL
挂号的日期
re_way
Varchar(12)
NULL
病人挂号的方式
pa_name
varChar(8)
NOTNULL
病人的姓名
3-2doctor表
列(属性)名
数据类型与长度
空否
说明
do_number
Varchar(6)
NOTNULL
医生的编号
do_name
Varchar(8)
NOTNULL
医生的姓名
do_position
Varchar(12)
NOTNULL
医生的职称
do_phone
Char(11)
NOTNULL
医生的电话
Of_number
Char(4)
NOTNULL
科室号
3-3patient表
列(属性)名
数据类型与长度
空否
说明
re_number
Varchar(10)
NOTNULL
挂单的编号
pa_name
Varchar(8)
NOTNULL
病人的姓名
pa_age
Int
NOTNULL
病人的年龄
do_number
Char(11)
NOTNULL
医生的编号
Pa_sex
Varchar
(2)
NULL
病人的性别
3-4prescription表
列(属性)名
数据类型与长度
空否
说明
pr_number
Varchar(7)
NOTNULL
处方号
pa_name
Varchar(8)
NOTNULL
病人姓名
pr_date
Datetime
NOTNULL
开处方的时间
3-5drug表
列(属性)名
数据类型与长度
空否
说明
dr_number
Varchar(7)
NOTNULL
药品编号
dr_name
Varchar(20)
NOTNULL
药品名
dr_many
Int
NOTNULL
药品数量
dr_price
Float
NOTNULL
药品的金额
3-6charge表
列(属性)名
数据类型与长度
空否
说明
ch_number
int
NOTNULL
收费单号
ch_date
Datetime
NOTNULL
收费的日期
ch_money
Float
NOTNULL
收了多少钱
pr_number
Int
NOTNULL
处方号
3-7医生-诊断结果(dc)表
列(属性)名
数据类型与长度
空否
说明
do_number
Varchar(6)
NOTNULL
医生的编号
cu_name
Varchar(13)
NOTNULL
病名
pa_name
Varchar(8)
NOTNULL
病人的名字
3-8office表
列(属性)名
数据类型与长度
空否
说明
of_number
Varchar(6)
NOTNULL
科室号
of_name
Varchar(12)
NOTNULL
科室名
Of_phone
Varchar(11)
NOTNULL
联系方式
4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医院 门诊 管理 系统 后台数据库 设计