医院病例数据库管理系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:医院病例数据库管理系统学院管理与经济学部
专业工程管理
年级2012级
成员王艳旭(一班)54
需求分析,E-R图,数据修改,数据插入
杨志东(二班)
逻辑设计,物理设计,数据表、索引建立
谢中仁(二班)
视图建立,存储过程的建立
2013年12月16日
目录:
一、需求分析 (3)
1) 医生信息管理
2) 病人病例和病房管理
(1)数据检索
(2)数据插入
(3)数据修改
(4)数据统计与查询
二、概念设计 (4)
(1)医生实体
(2)职位实体
(3)病人实体
(4)病房实体
(5)全局E-R图
三、逻辑设计 (6)
四、物理设计 (6)
五、系统实现 (8)
1、数据库的建立
2、数据表的建立
3、数据的输入
4、索引的创建
5、视图的创建
6、存储过程的创建
一、需求分析
实现某医院病例数据库管理系统,系统使用对象是系统管理员,医生和病人,要求完成以下工作:
1) 医生信息管理,包括
●系统管理员进行新医生到岗、现有医生离职处理
●系统管理员可以修改任何医生的所有信息,如姓名、年龄、职称、科室
●医生可以查阅自己的信息并修改其中某些基本信息,如联系方式等
2) 病人病例和病房管理
●医生可以添加新病人,修改或删除已有病人的信息
●医生可以添加新的病例记录,形成病人治疗日志。
●管理员可以任意查询所有医生或病人的情况和病例
●管理员可以统计任意医生的病人或者任意病人的病例
●病人能查看自己的基本信息和病例信息
(1)数据检索
i.系统管理员查询所有医生的情况
输入:医生编号
输出:姓名、年龄、联系方式、职称、科室。
ii.系统管理员查询所有病人的基本信息
输入:病号
输出:姓名、年龄、联系方式、地址。
iii.系统管理员查询所有病人的病例
输入:病号
输出:姓名、诊断结果、就诊日期、病房号、床号、入住日期、出院日期。
iv.医生查询自己的信息
输入:医生编号
输出:姓名、年龄、联系方式、职称、科室。
v.医生查询病人的病例
输入:病号
输出:姓名、诊断结果、就诊日期、病房号、床号、入住日期。
vi.病人查询自己的基本信息
输入:病号
输出:姓名、年龄、联系方式、地址。
vii.病人查询自己的病例
输入:病号
输出:姓名、诊断结果、就诊时间、病房号、床号、入住日期。
(2)数据插入
i.系统管理员插入医生数据。
ii.医生插入病人数据。
(3)数据修改
i.系统管理员修改所有医生的信息:医生编号、姓名、年龄、联系方式、职称、科室、
任职时间。
ii.医生修改自己的部分信息:联系方式。
iii.医生修改病人的信息:姓名、年龄、联系方式、地址、诊断结果、就诊日期、病房号、床号、入住日期。
(4)数据统计与查询
i.管理员:显示所有医生的情况。
ii.管理员:显示所有病人的情况。
iii.管理员:显示所有医生的全部病人。
iv.管理员:显示所有病人的全部病例。
二、概念设计
概念设计的任务是,在需求分析中产生的需求说明的基础上,抽象出满足应用需求的用户的信息结构,即概念模型。
经需求分析,抽象出以下E—R模型。
(1)医生实体(图1)
(2)职位实体(图2)
(3)病人实体(图3)
(4)病房实体(图4)
(5)全局E—R图(图5)
三、逻辑设计
逻辑设计阶段将概念设计阶段产生的E-R图转换成RDBMS所支持的数据模型,即关系模型。根据图5的E-R图转换为以下关系模式:
医生(医生编号,姓名,年龄,联系方式,职位编号,任职时间)
职位(职位编号,职称,所属科室)
病人(病人编号,姓名,年龄,联系方式,住址)
病房(病房号,病床数,病房联系电话)
入住(病人编号,病房号,床位号,入住时间),主键为(病人编号,病房号)
就诊(病人编号,医生编号,诊断结果,就诊日期),主键为(病人编号,医生号)查房(医生编号,病房号,值班时间),主键为(医生编号,病房号)
其中带有下划直线的属性为主键,带有下划波浪线的属性为外键。以上关系模式均满足3NF。
四、物理设计
物理设计阶段将关系模式设计为具体的RDBMS中的数据表。根据以上关系模式构建的数据表结构如表1~7所示。
表1 医生表结构
字段名类型特殊属性
五、系统实
现 1.数据库的建立 Create 病例 database 医院On primary 例(name =医院病_data ,filenam e ='E:\\医院病例data.mdf') Log on (name =医院病例_log ,filename ='E:\\医院病例log.ldf') 2.数据表的建立 Use 医院病例 Go Create table 职位 ( 职位编号 char (4) PRIMARY KEY , 职称 char (10) NOT NULL, 所属科室 char (10)
)
Create table 医生
(医生编号 char (4) PRIMARY KEY ,
医生编号 char(4) PRIMARY KEY 姓名 char(10) NOT NULL
年龄 char(10) NOT NULL
联系方式 char(20) NOT NULL
职位编号 char(4) FOREIGN KEY
任职时间 char(20) NOT NULL
表2 职位表结构
字段名 类型 特殊属性
职位编号 char(4) PRIMARY KEY
职称 char(10) NOT NULL
所属科室 char(10)
表3 病人表结构
字段名 类型 特殊属性
病人编号 char(4) PRIMARY KEY
姓名 char(10) NOT NULL
年龄 char(10) NOT NULL
联系方式 char(20) NOT NULL
住址 varchar (30)
表4 病房表结构
字段名 类型 特殊属性
病房号 char(4) PRIMARY KEY
病床数 int
病房联系方式 char(11)
表5 入住表结构
字段名 类型 特殊属性
病人编号 char(4) PRIMARY KEY ,FOREIGN KEY 病房号 char(4) PRIMARY KEY ,FOREIGN KEY 床位号 char(4) NOT NULL
入住时间 char(20) NOT NULL
表6 就诊表结构 字段名 类型 特殊属性 病人编号 char(4) PRIMARY KEY ,FOREIGN KEY 医生编号 char(4) PRIMARY KEY ,FOREIGN KEY 诊断结果 varchar(100) NOT NULL 就诊时间 char(20) 表7查房表结构 字段名 类型 特殊属性 医生编号 char(4) PRIMARY KEY ,FOREIGN KEY 病房号 char(4) PRIMARY KEY ,FOREIGN KEY 值班时间 char(20) NOT NULL