数据库 校医门诊管理系统.docx
《数据库 校医门诊管理系统.docx》由会员分享,可在线阅读,更多相关《数据库 校医门诊管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
数据库校医门诊管理系统
广西科技大学
《校医院门诊管理系统》
课程设计说明书
课程名称:
广西科技大学校医院门诊管理系统
级:
班
名:
姓
号:
学指导老师:
原庆能
27
/1.
2016年1月14日
一.实训目的
1.掌握数据库基本原理,理解关系数据库的设计方法、设计思路。
初步掌握一种关系数据库语言,例如。
2.通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;
3.学习数据库应用系统开发方法。
培养学生初步的软件设计能力,形成良好的编程风格
二.实训内容
一.需求分析
广西科技大学校医院门诊管理系统所要处理的数据有:
就诊卡号、姓名、性别、年龄、联系电话、所在部门、就诊科室、就诊大夫、就诊日期、病情描述、处方编号、药品编码、药品名称、类别、库存余量、规格、保质期、用量、数量、金额、医务人员的职工号、姓名、性别、年龄、职称、所在科室、专长、诊病时间,科室名称、科室位置、可容纳医生数等。
完整性要求:
就诊日期在药品的保质期前;使用的药品数量小于库存余量,在同一时间段、同一科室诊病的医生数小于或等于科室可容纳医生数。
27
/2.
安全性要求:
学生和教师持就诊卡就诊,可查阅医生的相关信息;医生可填写病例、开处方;药房护士可进行药品的出库、入库进行管理。
二.概念设计
1.、医生、病人、处方和药品5个实体,其中:
根据需求分析,可抽象出科室科室有:
科室名称、科室位置、可容纳医生数属性,科室名称为实体标识符。
医生有:
职工号、姓名、性别、年龄、所在部门、职称、专长、诊病时间属性,职工为实体标识符。
病人有:
就诊卡号、姓名、性别、年龄、联系电话属性,就诊卡号为实体标识符
处方有:
处方编号、病情描述、诊断日期属性,处方编号为实体标识符。
药品有:
药品编码、药品名称、类别、库存余量、规格、保质期、数量、金额属性,药品编码为实体标识符。
实体之间的关系说明:
1)一个科室可以容纳多个医生
2)一个医生可以填写多个处方
3)一个病人可以查看多个处方
4)一个处方可以使用多个药品,一种药品可以用于不同是处方
5)药房护士可以对药品进行出入库管理。
2.图如下
27
/3.
科医容
病
填
查
管理
处方使用m药品
n
三、逻辑设计
将上述图转化为关系模式集
1)将5个实体转化为关系模式
病人:
就诊卡号、姓名、性别、年龄、联系电话
医生:
职工号、姓名、性别、年龄、所在部门、职称、专长、诊病时间
科室:
科室名称、科室位置、可容纳医生数
药品:
药品编码、药品名称、类别、库存余量、规格、保质期、数量、金额
27
/4.
处方:
处方编号、病情描述、诊断日期
2)对1关系“容纳”,“填写”,“查看”转化为关系模式
医生:
职工号、姓名、性别、年龄、所在部门、职称、专长、诊病时间、科室名称
处方:
处方编号、病情描述、诊断日期、职工号、就诊卡号
3)对关系“填写”,“使用”生成新的关系模式
使用:
处方编号、药品编码、用量、用法
管理:
职工号、药品编码、药品原数量、操作时间、数量、出入关系
4)所有关系如下
病人:
就诊卡号、姓名、性别、年龄、联系电话
科室:
科室名称、科室位置、可容纳医生数
药品:
药品编码、药品名称、类别、库存余量、规格、保质期、数量、金额
医生:
职工号、姓名、性别、年龄、所在部门、职称、专长、诊病时间、科室名称
处方:
处方编号、病情描述、诊断日期、职工号、就诊卡号
使用:
处方编号、药品编码、用量、用法
管理:
职工号、药品编码、操作时间、数量、出入关系
四、物理设计
医生表:
属性数据类型长度或取值范围主键外键空值
20是职工号否27
/5.
10否姓1性年1所在部1职2专2诊病时1科室名称
:
病人表
空值外键长度或取值范围数据类型属性主键
20否就诊卡号是10否姓名5性别10年龄20联系电话
科室表:
空值主键长度或取值范围数据类型外键属性10是科室名称否10否科室位置
可容纳医生否数
药品表:
27
/6.空值主键长度或取值范围外键数据类型属2药品编
2药品名1类2库存余规
保质数金
处方表:
空值主键长度或取值范围属性外键数据类型20否处方编号是
病情描述50诊断日期20否是职工号
20否是就诊卡号
使用表:
主键外键空值长度或取值范围数据类型属性
20否处方编号是是20药品编码否是是27
/7.用2用法
:
管理表
空值属性外键长度或取值范围数据类型主键20是否职工号是
20药品编码是否是
药品原数量否
操作时间否
数量
否
出入关系
4
否
创建药品用量触发器
(
)''''
用量库存余量(
27
/8.
药品编码=(药品编码))<
'药品余量不足'
(
'''')
(用量)
(20)
用量
药品编码
(库存余量
药品编码)<
'药品余量不足'
27
/9.
创建药品日期触发器
(
'''')
(20)(20)1(20)
处方编号
药品编码
药品名称药品编码
1=诊断日期处方编号
(保质期
药品编码药品编码(药品编码处方编号(处方编号1)))<
'药品:
'''超过使用日期
(
27
/10.
'''')
(药品编码)
(20)(20)1(20)
处方编号
药品编码
药品名称药品编码
1=诊断日期处方编号
(保质期
药品编码药品编码(药品编码处方编号(处方编号1)))<
''药品:
''超过使用日期
创建科室医生触发器
(
)''''
27
/11.
(10)
科室名称
可容纳医生数科室名称
(*)(
科室名称)>
'科室医生已满'
(
)''''
)(科室名称
)10(科室名称
27
/12.
可容纳医生数科室名称
((*)
科室名称)>
'科室医生已满'
创建出入库触发器
(
'''')
(4)(20)
药品编码
数量
出入关系
('出库')
库存余量=库存余量药品编码
)
''(入库27
/13.
库存余量=库存余量药品编码
创建查看医生信息的存储过程
@职工号(20)
*
职工号职工号
创建查看处方信息的存储过程
/*通过处方编号查看*/
@处方号(20)
处方编号,病情描述,诊断日期.姓名诊断医生.姓名就诊人
.就诊卡号职工号就诊卡号..职工号.处方编号处方号.,用法用量,药品名称处方编号,
27
/14.
处方编号处方号.药品编码.药品编码
/*通过就诊卡号查看*/
@就诊卡号(20)
.就诊卡号.姓名就诊人,病情描述,诊断日期.姓名诊断医生
.就诊卡号就诊卡号.就诊卡号就诊卡号.职工号.职工号
.处方编号,药品名称,用量,用法.姓名诊断医生
.就诊卡号就诊卡号.处方编号.处方编号.药品编码.药品编码职工号.职工号.
创建插入处方的存储过程
)就诊号(20)(职工号50)(处方号@20日期病情描述()20
)
(@处方号日期病情描述职工号就诊号27
/15.
*处方编号处方号
创建插入用药信息的存储过程
@处方号(20)药品编号(20)用量用法(20)
(@处方号药品编号用量用法)
*处方编号处方号
创建插入药品出入库信息的存储过程
@职工号(20)药品编码(20)药品原数量操作时间数量出入库(4)
(@职工号药品编码药品原数量操作时间数量出入库)
创建修改处方的存储过程
/*通过处方号修改病情描述*/
27
/16.
@处方号(20)病情描叙(50)
((处方编号处方编号处方号)处方号)
病情描述病情描叙
处方编号处方号
*处方编号处方号
'此处方不存在'
/*通过处方号修改药品使用信息*/
@处方号(20)药品编码(20)用量用法(20)
((处方编号处方编号处方号药品编码药品编码)处方号)
27
/17.
用量用量,用法用法
处方编号处方号药品编码药品编码
'处方或药品编码错误'
创建删除处方的存储过程
@处方号(20)
处方编号处方号
创建删除用药信息的存储过程
@处方号(20)药品编码(20)
27
/18.
处方编号处方号药品编码药品编码
创建统计科室医生数的存储过程
@科室名(20)
*
科室名称科室名
.科室名称,科室位置,可容纳医生数(*)现有医生
.科室名称科室名.科室名称.科室名称
.科室名称,科室位置,可容纳医生数
五、测试
1.测试触发器
1).在中插入或修改,使药品用量大于库存余量
27
/19.
测试药品是否超过使用日期2).
0045”的信息在中修改处方编号为“
27
/20.
3).测试出入库触发器
执行存储过程将药品“001”出库55
操作前:
操作后:
2.测试存储过程”的医生信息查询职工号为“1).201400527
/21.
”112233”,就诊卡号为“001002插入一条处方信息,处方编号为“2).
27
/22.
”的用药信息.插入处方编号为“1122333)
27
/23.
112233”的信息查询处方编号为“4).
”的信息001002.5)查询就诊卡号为“27
/24.
”的信息.修改处方编号为“1122336)
27
/25.
112233”的信息删除处方编号为“7).
中的医生人数2.8)查询在科室27
/26.
27
/27.