健康档案管理系统课程设计报告34页.docx
《健康档案管理系统课程设计报告34页.docx》由会员分享,可在线阅读,更多相关《健康档案管理系统课程设计报告34页.docx(36页珍藏版)》请在冰豆网上搜索。
健康档案管理系统课程设计报告34页
数据库课程设计报告
课题:
健康档案管理系统
一、课程设计的目的和意义…………………………………2
1.1、课程设计的目的…………………………………………2
1.2、课程设计的意义…………………………………………2
二、需求分析…………………………………………………3
2.1、数据流图……………………………………………………4
2.2、数据字典……………………………………………………7
三、概要结构设计……………………………………………10
四、逻辑结构设计……………………………………………13
五、物理结构设计……………………………………………13
总结…………………………………………………………15
参考文献……………………………………………………16
一、课程设计的目的和意义
1.1、课程设计的目的
数据库课程设计是数据库原理及应用实践环节极为重要的一部分,其目的主要是为了加强学生对数据库基本概念、原理和技术的掌握,结合实际的操作和设计,巩固课堂教学内容,将理论与实际相结合,强化学生的实践意识,从而提高学生的实际动手能力和创新能力。
通过课程设计,可以培养学生分析问题、解决问题以及自学能力,提高和加强学生的计算机应用与软件开发能力,使学生熟练掌握数据库设计工具的使用,提高从事数据库系统建设和管理工作的基本技能和能力。
1.2、课程设计的意义
课程设计是学完基础知识后必须进行的一个实践环节。
进行课程设计:
有利于基础知识的理解,学生可以掌握一些信息时代生存与发展必需的信息技术基础知识和基本技能,具备了在日常生活与学习中应用信息技术解决问题的基本态度与基本能力;
有利于逻辑思维的锻炼,在许多常规学科的日常教学中,我们不难发现这样一个现象,不少学生的思维常常处于混乱的状态。
写起文来前言不搭后语,解题步骤混乱,这些都是缺乏思维训练的结果。
程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。
即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养;
有利于与其他学科的整合,在程序设计中,我们可以解决其它学科有关问题,也利用其它课程的有关知识来解决信息技术中比较抽象很难理解的知识。
在信息技术课中整合其它学科的知识,发挥信息技术的优势;
有利于治学态度的培养,程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不能通过,程序无法正常运行。
程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。
这当中就能培养严谨治学、不怕失败、百折不挠的科学精神和态度。
二、需求分析
任务:
设计一个健康档案管理系统
1、功能要求:
该系统的健康文件包括病历文件和体检文件。
1.登记
将学生的健康信息插入健康文件;
2.修改
修改一个学生的健康档案记录;
3.删除
删除学生的健康档案记录;
4.查询
可以组合各种条件进行查询,显示学生健康信息并打印健康文件报表;
5.统计
对学生的基本健康状况进行各种必要的统计和分析,由一般统计和动态分析两种。
一般统计包括计数和求平均值;动态分析由健康历史求出平均年增长值和年增长率。
2、数据要求:
体检文件:
学号、姓名、性别、系别、年龄、身高、体重、胸围、日期
病历文件:
学号、姓名、性别、系别、诊断、日期
在这次的课程设计中,用户要求我们对该系统的健康文件实现学生信息登记、修改、删除、查询、统计等操作,其中健康文件还包含病历文件和体检文件。
在病历文件中的数据要求有学号、姓名、性别、系别、诊断、日期,而体检文件中的数据要求有学号、姓名、性别、系别、年龄、身高、体重、胸围、日期。
而为了使这个健康档案管理系统的设计能够更加接近现实生活,并充分考虑到今后可能的扩充和改变,我们在里面加了一些相应的东西,比如我们将病历文件和体检文件都看成是很多学生的分类,每个学生都有一份相应的病历文件和体检文件,文件中是他们不同时期的病历表和体检表,而病历表的属性不止包括学号、姓名、性别、系别、诊断、日期,还有医疗记录和是否住院等,体检表中又包含体检项目,而身高、体重、胸围等均包含在项目名称中。
2.1、数据流图
2.2、数据字典(我负责加工条目)
1.数据流条目
数据流名称:
原始数据
简述:
医务室向健康档案管理系统输入的学生的体检和病历数据
来源:
医务室
去向:
健康档案管理系统
组成:
学号+姓名+性别+系别+年龄+身高+体重+胸围+日期+诊断结果+联
系方式+医疗记录+是否住院+其他
数据流名称:
反馈信息
简述:
健康档案管理系统向医务室反馈的学生的体检和病历信息
来源:
健康档案管理系统
去向:
医务室
组成:
学号+姓名+性别+系别+年龄+身高+体重+胸围+日期+诊断结果+联
系方式+医疗记录+是否住院+其他
数据流名称:
统计信息
简述:
健康档案管理系统统计的学生的体检和病历信息
来源:
健康档案管理系统
去向:
学生
组成:
统计学生的体检和病历信息的结果+分析学生的体检和病历信息的结果
数据流名称:
查询信息
简述:
健康档案管理系统查询的学生的体检和病历信息
来源:
健康档案管理系统
去向:
学生
组成:
学生的体检信息+病历信息
数据流名称:
报表
简述:
打印出来的学生的健康信息
来源:
健康档案管理系统
去向:
学生
组成:
健康状况表+成长情况表
数据流名称:
新增数据
简述:
新增的学生的体检和病历数据
来源:
医务室
去向:
健康档案管理系统
组成:
体检记录+病历记录
数据流名称:
插入信息
简述:
插入学生的体检和病历信息
来源:
健康档案管理系统
去向:
医务室
组成:
体检记录+病历记录
数据流名称:
修改数据
简述:
修改的学生的体检和病历数据
来源:
医务室
去向:
健康档案管理系统
组成:
体检记录+病历记录
数据流名称:
修改信息
简述:
反馈修改后的学生的体检和病历数据
来源:
健康档案管理系统
去向:
医务室
组成:
体检记录+病历记录
数据流名称:
删除数据
简述:
删除的学生的数据
来源:
医务室
去向:
健康档案管理系统
组成:
学号+姓名+性别+系别+年龄+专业+班级+联系方式+家庭住址
数据流名称:
删除信息
简述:
反馈删除学生数据的结果
来源:
健康档案管理系统
去向:
医务室
组成:
学号+姓名+性别+系别+年龄+专业+班级+联系方式+家庭住址+删除成
功或操作失败
数据流名称:
健康状况表
简述:
生成的学生健康表
来源:
健康档案管理系统
去向:
学生
组成:
学号+姓名+性别+系别+年龄+身高+体重+胸围+日期+诊断结果+联
系方式+医疗记录+是否住院+健康状况+其他
数据流名称:
成长情况表
简述:
生成的学生成长表
来源:
健康档案管理系统
去向:
学生
组成:
学号+姓名+性别+系别+年龄+身高+体重+胸围+日期+诊断结果+联
系方式+医疗记录+是否住院+成长状况+其他
数据流名称:
统计结果
简述:
统计学生数据的结果
来源:
健康档案管理系统
去向:
学生
组成:
计数结果+平均身高+平均体重+平均胸围
数据流名称:
分析结果
简述:
分析学生数据的结果
来源:
健康档案管理系统
去向:
学生
组成:
平均增长率+平均增长值
数据流名称:
计数结果
简述:
统计学生病历信息的结果
来源:
健康档案管理系统
去向:
学生
组成:
学号+姓名+性别+年龄+系别+诊断结果+联系方式+医疗记录+是否住院
数据流名称:
平均身高
简述:
计算学生体检后的平均身高
来源:
健康档案管理系统
去向:
学生
组成:
体检人数+总身高+平均身高
数据流名称:
平均体重
简述:
计算学生体检后的平均体重
来源:
健康档案管理系统
去向:
学生
组成:
体检人数+总体重+平均体重
数据流名称:
平均胸围
简述:
计算学生体检后的平均胸围
来源:
健康档案管理系统
去向:
学生
组成:
体检人数+总胸围+平均胸围
数据流名称:
平均增长率
简述:
计算学生体检后的平均增长率
来源:
健康档案管理系统
去向:
学生
组成:
体检人数+总增长率+平均增长率
数据流名称:
平均增长值
简述:
计算学生体检后的平均增长率
来源:
健康档案管理系统
去向:
学生
组成:
体检人数+总增长值+平均增长值
2.数据项条目
数据项名称:
地址
简述:
医务室的地址
类型:
字符串
长度:
50
数据项名称:
电话
简述:
医务室的电话号码
类型:
字符串
长度:
20
数据项名称:
编号
简述:
唯一识别医生身份的证明
类型:
整型
长度:
10
数据项名称:
医科类别
简述:
医生主治的医科类
类型:
字符串
长度:
20
数据项名称:
学号
简述:
唯一识别学生身份的证明
类型:
字符串
长度:
20
数据项名称:
姓名
简述:
学生和医生的姓名
类型:
字符串
长度:
20
数据项名称:
性别
简述:
学生和医生的性别
类型:
字符串
长度:
10
数据项名称:
系别
简述:
学生的系别
类型:
字符串
长度:
20
数据项名称:
年龄
简述:
学生和医生的年龄
类型:
整数
长度:
10
数据项名称:
专业
简述:
学生的专业
类型:
字符串
长度:
20
数据项名称:
班级
简述学生的班级
类型:
字符串
长度:
20
数据项名称:
联系方式
简述:
学生和医生的联系方式
类型:
字符串
长度:
20
数据项名称:
家庭住址
简述:
学生的家庭住址
类型:
字符串
长度:
50
数据项名称:
日期
简述:
学生的体检和病历日期
类型:
字符串
长度:
20
数据项名称:
诊断结果
简述:
医务室对学生的病情诊断
类型:
字符串
长度:
500
数据项名称:
医疗记录
简述:
学生的用药记录
类型:
字符串
长度:
500
数据项名称:
是否住院
简述:
针对学生的病情看是否需要住院
类型:
字符串
长度:
10
数据项名称:
项目编号
简述:
唯一识别体检项目的证明
类型:
整型
长度:
10
数据项名称:
项目名称
简述:
体检项目,如身高、体重等
类型:
字符串
长度:
20
数据项名称:
体检结果
简述:
学生的体检情况
类型:
字符串
长度:
20
3.数据结构描述
名称:
医务室
含义说明:
定义了医务室的有关信息
组成结构:
地址+电话
名称:
医生
含义说明:
定义了医生的有关信息
组成结构:
编号+姓名+性别+年龄+医科类别+联系方式
名称:
学生
含义说明:
定义了学生的有关信息
组成结构:
学号+姓名+性别+系别+年龄+专业+班级+联系方式+家庭住址
名称:
病历文件
含义说明:
包含了学生的病历信息
组成结构:
学号+姓名+病历表
名称:
体检文件
含义说明:
包含了学生的体检信息
组成结构:
学号+姓名+体检表
名称:
病历表
含义说明:
定义了学生的病历信息
组成结构:
学号+姓名+性别+系别+年龄+联系方式+诊断结果+医疗记录+是否住院
名称:
体检表
含义说明:
定义了学生的体检信息
组成结构:
学号+姓名+性别+系别+年龄+联系方式+体检项目+日期
名称:
体检项目
含义说明:
定义了学生的体检项目信息
组成结构:
编号+项目名称+体检结果
4.数据存储条目
数据存储名称:
体检信息
编号:
D1
简述:
学生体检后的体检信息
组成:
学号+姓名+性别+系别+年龄+联系方式+体检项目+体检日期
组织方式:
索引文件,以学号为关键字
查询要求:
要求能立即查询
数据存储名称:
病历信息
编号:
D2
简述:
学生体检后的病历信息
组成:
学号+姓名+性别+系别+年龄+联系方式+诊断结果+医疗记录+是否住院
组织方式:
索引文件,以学号为关键字
查询要求:
要求能立即查询
3加工条目:
加工名:
数据维护
编号:
1
激发条件:
接收到学生原始的体检和病历数据时
输入:
合格的学生的体检和病历数据
输出:
学生的体检和病历数据
处理:
维护学生的的体检和病历数据
加工名:
统计查询
编号:
2
激发条件:
接收到学生的体检和病历信息时
输入:
合格的学生的体检和病历信息
输出:
学生的体检和病历信息
处理:
统计和查询学生的体检和病历信息
加工名:
新增记录
编号:
1.1
激发条件:
接收到学生的相关数据时
输入:
合格的学生的相关数据
输出:
学生的相关信息
处理:
添加学生的相关信息
加工名:
修改记录
编号:
1.2
激发条件:
接收到学生需要修改的相关数据时
输入:
合格的需要修改的学生的相关数据
输出:
学生的相关信息
处理:
修改学生的相关信息
加工名:
删除记录
编号:
1.3
激发条件:
接收到学生需要删除的相关数据时
输入:
合格的需要删除的学生的相关数据
输出:
学生的相关信息
处理:
删除学生的相关信息
加工名:
统计
编号:
2.1
激发条件:
接收到学生的病历和体检信息时
输入:
合格的学生病历和体检信息
输出:
统计的学生病历和体检信息
处理:
统计学生的相关信息
加工名:
查询
编号:
2.2
激发条件:
接收到学生的病历和体检信息时
输入:
合格的学生病历和体检信息
输出:
查询的学生病历和体检信息
处理:
查询学生的相关信息
加工名:
生成健康表
编号:
3.1
激发条件:
接收到学生的病历和体检信息时
输入:
合格的学生病历和体检信息
输出:
学生的健康状况表
处理:
生成学生健康表
加工名:
生成成长表
编号:
3.2
激发条件:
接收到学生的病历和体检信息时
输入:
合格的学生病历和体检信息
输出:
学生的成长状况表
处理:
生成学生成长表
加工名:
一般统计
编号:
2.1.1
激发条件:
接收到学生的病历和体检信息时
输入:
合格的学生病历和体检信息
输出:
统计学生信息的结果
处理:
一般统计学生的的相关信息
加工名:
动态分析
编号:
2.1.2
激发条件:
接收到学生的病历和体检信息时
输入:
合格的学生病历和体检信息
输出:
分析学生信息的结果
处理:
动态分析学生的相关信息
加工名:
查询体检
编号:
2.2.1
激发条件:
接收到学生的体检信息时
输入:
合格的学生体检信息
输出:
学生体检信息
处理:
查询学生的体检信息
加工名:
查询病历
编号:
2.2.2
激发条件:
接收到学生的病历信息时
输入:
合格的学生病历信息
输出:
学生病历信息
处理:
查询学生的病历信息
加工名:
计数统计
编号:
2.1.1.1
激发条件:
接收到学生的病历信息时
输入:
合格的学生病历信息
输出:
计数学生病历信息的结果
处理:
计数学生的病历信息
加工名:
平均身高
编号:
2.1.1.2
激发条件:
接收到学生的体检信息时
输入:
合格的学生体检信息
输出:
计算学生平均身高的结果
处理:
计算学生的平均身高
加工名:
平均体重
编号:
2.1.1.3
激发条件:
接收到学生的体检信息时
输入:
合格的学生体检信息
输出:
计算学生平均体重的结果
处理:
计算学生的平均体重
加工名:
平均胸围
编号:
2.1.1.4
激发条件:
接收到学生的体检信息时
输入:
合格的学生体检信息
输出:
计算学生平均胸围的结果
处理:
计算学生的平均胸围
加工名:
求增长率
编号:
2.1.2.1
激发条件:
接收到学生的体检信息时
输入:
合格的学生体检信息
输出:
计算学生平均增长率的结果
处理:
计算学生的平均增长率
加工名:
求增长值
编号:
2.1.2.2
激发条件:
接收到学生的体检信息时
输入:
合格的学生体检信息
输出:
计算学生平均增长值的结果
处理:
计算学生的平均增长值
三、概要结构设计
整体图
四、逻辑结构设计
实体关系模式如下(主码用下划线标出):
医务室(电话,地址)
医生(编号,姓名,性别,联系方式,医科类别)
学生(学号,姓名,性别,年龄,系别,专业,班级,联系方式,家庭住址)
联系关系模式如下(主码用下划线标出):
工作(编号,电话)
检查(编号,学号)
实体关系模式如下(主码用下划线标出):
病历文件(学号,姓名)
病历表(学号,学生姓名,性别,年龄,系别,联系方式,诊断结果,医疗记录,病历日期,是否住院,医生姓名)
体检项目(项目编号,项目名称,体检结果)
联系关系模式如下(主码用下划线标出):
分析(学号,编号)
组成(学号,体检日期)
组成(学号,病历日期)
实体关系模式如下(主码用下划线标出):
体检文件(学号,学生姓名)
体检表(学号,学生姓名,学生性别,学生年龄,系别,联系方式,体检日期)
体检项目(项目编号,项目名称,体检结果)
联系关系模式如下(主码用下划线标出):
填写(学号,编号)
组成(学号,体检日期)
包含(学号,体检日期,项目编号)
五、物理结构设计
体检文件:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
学号
20
否
Y
学生姓名
20
否
体检表:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
学号
20
否
Y
体检日期
20
否
学生性别
10
否
系别
20
否
学生年龄
10
联系方式
20
学生姓名
20
否
填写:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
编号
10
否
Y
学号
20
否
组成(体检文件和体检表):
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
学号
20
否
Y
体检日期
20
否
包含:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
学号
20
否
Y
体检日期
20
否
项目编号
10
否
医务室:
字段名
字段描述
数据类别
取值范围
是否为空
主键
外键
地址
50
电话
20
否
Y
医生:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
编号
10
否
Y
姓名
20
否
性别
10
否
年龄
10
医科类别
20
否
联系方式
20
工作:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
电话
20
否
Y
编号
10
否
Y
Y
学生:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
学号
20
否
Y
姓名
20
否
性别
10
否
年龄
10
系别
20
否
专业
20
否
班级
20
否
家庭住址
50
否
联系方式
20
检查:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
编号
10
否
Y
Y
学号
20
否
病例文件:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
学号
20
否
Y
学生姓名
20
否
分析:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
编号
10
否
Y
学号
20
否
Y
病历表:
名称
字段描述
数据类别
取值范围
是否为空
主键
外键
学号
20
否
Y
病历日期
20
否
学生姓名
20
否