医院病例数据库标准管理系统标准设计.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医院 病例 数据库 标准 管理 系统 设计
- 资源描述:
-
题目:医院病例数据库管理系统 学 院 管理和经济学部 专 业 工程管理 年 级 级 成 员 王艳旭 (一班) 需求分析,E-R图,数据修改,数据插入 杨志东( 二班) 逻辑设计,物理设计,数据表、索引建立 谢中仁 (二班) 视图建立,存放过程建立 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) 医生信息管理,包含 l 系统管理员进行新医生到岗、现有医生离职处理 l 系统管理员能够修改任何医生全部信息,如姓名、年纪、职称、科室 l 医生能够查阅自己信息并修改其中一些基础信息,如联络方法等 2) 病人病例和病房管理 l 医生能够添加新病人,修改或删除已经有病人信息 l 医生能够添加新病例统计,形成病人诊疗日志。 l 管理员能够任意查询全部医生或病人情况和病例 l 管理员能够统计任意医生病人或任意病人病例 l 病人能查看自己基础信息和病例信息 (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所支持数据模型,即关系模型。依据图5E-R图转换为以下关系模式: 医生(医生编号,姓名,年纪,联络方法,职位编号,任职时间) 职位(职位编号,职称,所属科室) 病人(病人编号,姓名,年纪,联络方法,住址) 病房(病房号,病床数,病房联络电话) 入住(病人编号,病房号,床位号,入住时间),主键为(病人编号,病房号) 就诊(病人编号,医生编号,诊疗结果,就诊日期),主键为(病人编号,医生号) 查房(医生编号,病房号,值班时间),主键为(医生编号,病房号) 其中带有下划直线属性为主键,带有下划波浪线属性为外键。以上关系模式均满足3NF。 四、物理设计 物理设计阶段将关系模式设计为具体RDBMS中数据表。依据以上关系模式构建数据表结构如表1~7所表示。 表1 医生表结构 字段名 类型 特殊属性 医生编号 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 五、 系统实现 1. 数据库建立 Create database 医院病例 On primary (name=医院病例_data,filename='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(10) NOT NULL, 年纪 char(10) NOT NULL, 联络方法 char(20) NOT NULL, 职位编号 char(4), 任职时间 char(20) NOT NULL, FOREIGN KEY(职位编号)references 职位(职位编号) ) Create table 病人 (病人编号 char(4) PRIMARY KEY, 姓名 char(10) NOT NULL, 年纪 char(10) NOT NULL, 联络方法 char(20) NOT NULL, 住址 varchar(30) ) Create table 病房 (病房号 char(4) PRIMARY KEY, 病床数 int, 病房联络方法 char(11) ) Create table 入住 (病人编号 char(4),病房号 char(4), 床位号 char(4) NOT NULL, 入住时间 char(20) NOT NULL, PRIMARY KEY(病人编号,病房号), FOREIGN KEY(病人编号)references 病人(病人编号), FOREIGN KEY(病房号)references 病房(病房号) ) Create table 就诊 (病人编号 char(4), 医生编号 char(4), 诊疗结果 varchar(100) NOT NULL, 就诊时间 char(20), PRIMARY KEY(病人编号, 医生编号), FOREIGN KEY(病人编号)references 病人(病人编号), FOREIGN KEY(医生编号)references 医生(医生编号), ) Create table 查房 (医生编号 char(4),病房号 char(4), 值班时间 char(20) NOT NULL, PRIMARY KEY(医生编号,病房号), FOREIGN KEY(医生编号)references 医生(医生编号), FOREIGN KEY(病房号)references 病房(病房号) ) 3. 数据输入 Insert into 职位 Values ('J1', '眼科医生', '眼科室') Insert into 职位 Values ('J2', '内科医生', '内科室') Insert into 医生 Values ('D001','李明','45','139****1111', 'J1', '.03.09') Insert into 医生 Values ('D002', '张强', '50', '139****2222', 'J2', '.12.04') Insert into 医生 Values ('D003', '陈龙', '54', '139****3333', 'J1', '.08.17') Insert into 医生 Values ('D004', '刘红', '36', '139****4444', 'J2', '.06.13') Insert into 病人 Values ('P001', '张三', '30', '159****1111', '北京市') Insert into 病人 Values ('P002', '李四', '39', '159****2222', '天津市') Insert into 病人 Values ('P003', '王五', '44', '159****3333', '廊坊市') Insert into 病人 Values ('P004', '赵六', '27', '159****4444', '唐山市') Insert into 病房 Values ('R101', '4', '') Insert into 病房 Values ('R102', '2', '') Insert into 入住 Values ('P003', 'R101', '1', '.08.10') Insert into 入住 Values ('P004', 'R102', '2', '.12.09') Insert into 就诊 Values ('P001', 'D001', '白内障', '.06.11') Insert into 就诊 Values ('P002', 'D003', '青光眼', '.07.22') Insert into 就诊 Values ('P003', 'D002', '阑尾炎', '.08.10') Insert into 就诊 Values ('P004', 'D004', '胃出血', '.12.09') Insert into 查房 Values ('D001', 'R101','.12.09') Insert into 查房 Values ('D002', 'R102','.12.10') 4. 索引创建 (1)医生表:按医生任职时间降序排列 Create index 医生_任职时间 on 医生(任职时间 desc) (2)病人表:按病人编号升序排列 Create index 病人_病人编号 on 病人(病人编号) (3)职位表:按职位编号升序排列 Create index 职位_职位编号 on 职位(职位编号) (4)病房表:按病房号升序排列 Create index 病房_病房号 on 病房(病房号) 5.视图创建 ①医生情况视图:显示全部医生情况 create view 医生情况视图 as select 医生.医生编号,姓名,年纪,联络方法,职位.职称,所属科室 from 医生 join 职位 on 医生.职位编号 = 职位.职位编号 ②病人情况视图:显示全部病人情况 Create view 病人情况视图 as Select * From 病人 ③医生和病人视图:显示任意医生全部病人 Create view 医生和病人视图 as Select 医生.姓名 as 医生姓名,病人.姓名 as 病人姓名 From 就诊 join 医生 on 医生.医生编号=就诊.医生编号 Join 病人 on 病人.病人编号=就诊.病人编号 ④病例视图:显示病人病例 create view 病例视图 as Select 病人.姓名,就诊.* From 病人 join 就诊 on 病人.病人编号=就诊.病人编号 6.存放过程创建 (1)检索数据 ① 管理员对医生检索:输入医生编号,返回医生姓名\年纪\联络方法\职称\科室 Create procedure 管理员对医生检索(@yno int=null) As If @yno is null Begin Print '请输入医生编号' End Else Begin Select 医生.年纪,姓名,联络方法,职位.职称,所属科室 From 医生 join 职位 on 医生.职位编号=职位.职位编号 Where @yno=医生.医生编号 End ② 管理员查询病人基础信息检索:输入病人编号,返回病人姓名、年纪、联络方法、地址 Create procedure 管理员查询病人基础信息检索(@Bno int=null) As If @Bno is null Begin Print'请输入病人编号' End Else Begin Select 病人.姓名,年纪,联络方法,住址 From 病人 End ③ 病例检索:输入病人编号,返回姓名、诊疗结果、就诊日期、病房号、床号、入住日期 Create procedure 病例检索(@Bno2 int=null) As If @Bno2 is null Begin Print'请输入病人编号来查询病例' End Else Begin Select 病人.病人编号,姓名,就诊.诊疗结果,就诊时间,入住.病房号,床位号,入住时间 From 病人 join 就诊 on 病人.病人编号=就诊.病人编号 Join 入住 on 入住.病人编号=病人.病人编号 End ④ 医生对个人信息检索:输入医生编号,返回医生姓名\年纪\联络方法\职称\科室 Create procedure 医生对个人信息检索 (@yno int=null) As If @yno is null Begin Print'请输入医生编号' End Else Begin Select 医生.年纪,姓名,联络方法,职位.职称,所属科室 From 医生 join 职位 on 医生.职位编号=职位.职位编号 Where @yno=医生.医生编号 End ⑤ 医生查询病人病例检索:输入病人编号,返回姓名、诊疗结果、就诊日期、病房号、床号、入住日期 Create procedure 医生查询病人病例检索(@Bno2 int=null) As If @Bno2 is null Begin Print'请输入病人编号来查询病例' End Else Begin Select 病人.病人编号,姓名,就诊.诊疗结果,就诊时间,入住.病房号,床位号,入住时间 From 病人 join 就诊 on 病人.病人编号=就诊.病人编号 Join 入住 on 入住.病人编号=病人.病人编号 End ⑥ 病人查询病人基础信息检索:输入病人编号,返回病人姓名、年纪、联络方法、地址 Create procedure 病人查询病人基础信息检索(@Bno int=null) As If @Bno is null Begin Print'请输入病人编号' End Else Begin Select 病人.姓名,年纪,联络方法,住址 From 病人 End ⑦ 病人查询病人病例检索:输入病人编号,返回姓名、诊疗结果、就诊日期、病房号、床号、入住日期 Create procedure 病人查询病人病例检索(@Bno2 int=null) As If @Bno2 is null Begin Print'请输入病人编号来查询病例' End Else Begin Select 病人.病人编号,姓名,就诊.诊疗结果,就诊时间,入住.病房号,床位号,入住时间 From 病人 join 就诊 on 病人.病人编号=就诊.病人编号 Join 入住 on 入住.病人编号=病人.病人编号 End (2)插入数据 ① 系统管理员插入医生数据. Create procedure 系统管理员插入医生数据(@医生编号 char(10),@姓名 char(10),@年纪 char(10),@联络方法 char(20),@职位编号 char(4),@任职时间 char(20),@职称 char(10),@所属科室 char(10)) As Insert into 医生 Values(@医生编号,@姓名,@年纪,@联络方法,@职位编号,@任职时间) Insert into 职称 Values(@职位编号,@职称,@所属科室) ② 医生插入病人数据 create procedure 医生插入病人数据(@病人编号 char(4),@姓名 char(10),@年纪 char(10),@联络方法 char(20),@住址 char(30)) As Insert into 病人 Values (@病人编号,@姓名,@年纪,@联络方法,@住址) (3)数据修改 a) 医生信息修改 Create procedure 医生信息修改(@医生编号 char(4),@姓名 char(10)=姓名,@年纪 char(10)=年纪,@联络方法 char(20)=联络方法,@职位编号 char(4)=职位编号,@任职时间 char(20)=任职时间) As Update 医生 Set 姓名=@姓名, 年纪=@年纪, 联络方法=@联络方法, 职位编号=@职位编号, 任职时间=@任职时间 Where 医生编号= @医生编号 b) 医生部分信息修改 Create procedure 医生部分信息修改(@医生编号 char(4), @联络方法 char(20)=联络方法) As Update 医生 Set 联络方法=@联络方法 c) 病人信息修改 Create procedure 病人信息修改(@病人编号 char(4),@姓名 char(10)=姓名,@年纪 char(10)=年纪,@联络方法 char(20)=联络方法,@住址 varchar(30)=住址) As Update 病人 Set 姓名=@姓名, 年纪=@年纪, 联络方法=@联络方法, 住址=@住址 Where 病人编号=@病人编号展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




医院病例数据库标准管理系统标准设计.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3030935.html