医院信息系统数据库设计小组成员:温洁王素娥王朋燕王明月向丽王巧敏设计总说明医院管理系统,指利用电子计算机和通信设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集,存储,处理,提取和数据交换的能力,并满足所有授权用户的功能需求。医院管理系统的发展大致分为3个阶段,第一个十年,集中在开发医院行政管理的功能上,第二个十年,在继续完成和实现医院管理信息计算机化的同时,开发者的努力已进入医疗信息的处理领域,最后一个十年至今,研究者有把重点放在了临床系统,医学影像处理系统,病人计算机化病案,统一的医学语言系统等方面。医院系统正在经历着小型化,智能化和集成化的改造过程。要设计出医院管理系统,首先要进行需求分析,即了解医院的组织机构情况,各部门的业务活动,确定新系统的边界;然后进行概念结构设计,即将需求分析得对的用户需求抽象为信息结构,从而更好的更准确的实现这些需求;接下来进行逻辑结构设计,它的主要任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构;最后进行数据库的物理设计。经过这几步,基本就可以设计出一个简单的医院管理系统。医院管理系统中大体涉及的表有病人基本信息表,医生基本信息表,护士基本信息表,病房情况表,科室信息表,药品信息表,病人用药情况表、门诊挂号表等一些基本表,医院管理系统的主要目标是支持医院的行政管理与事务处理业务,减轻事务处理人员的劳动强度,辅助医院管理,辅助高层领导决策,提高医院的工作效率,从而使医院能够以少的投入获得更好的社会效益。1绪论1.1系统简介1.2设计目的1.3设计内容2需求分析2.1需求分析的任务2.2系统数据流程分析2.3数据字典3概念模型设计3.1概念模型设计的方法3.2系统概念模型4逻辑模型设计4.1逻辑模型设计的方法4.2逻辑模型实现4.3数据完整性约束定义5物理模型实现总结1绪论1.1系统简介随着计算机技术的飞速发展,计算机在医院管理中应用的普及,利用计算机实现医院管理势在必行,医院要紧跟时代发展的步伐和潮流,必须实现医院全面的信息化管理,为病人提供现代化的服务,提高对病人的服务水平,方便、准确、快捷地为病人提供医疗服务和医疗费用信息,进而增强病人对医院的信任和支持。当前,医院还面临着越来越激烈的市场竞争、要想在竞争中取胜,也必须采用先进的管理方法和手段。本系统基本功能包括了医院在门诊,药房,手术,住院,收费和管理这几个方面,充分运用计算机技术、网络技术、数据库技术;采用灵活的模块化结构设计方法进行设计。本系统采用SQLSERVER2005开发的数据库。1.2设计目的医院管理系统的主要目的是支持医院的行政管理与事务处理业务,减轻事务处理人员的劳动强度,辅助医院管理,辅助高层领导决策,提高医院的工作效率,从而使医院能够以少的投入获得更好的社会效益与经济效益,如财务系统、人事系统、住院病人管理系统、药品库存管理系统等。1.3设计内容本课程主要设计医院管理系统,通过需求分析,大致了解到医院的组织结构、管理流程、员工情况以及所要完成的工作内容,然后经过概念结构设计、逻辑结构设计、物理结构设计等过程,即数据库流程图的设计,E-R图的设计,关系模式的完成,完整性分析以及各种表的设计再使用SQL语句基本完成了医院管理系统的设计2需求分析2.1.需求分析的任务需求分析调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库的如下需求:(1)信息需求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。(2)处理要求。指用户需要完成什么处理功能。明确用户对数据有什么样的处理要求,从而确定数据之间的相互关系。(3)安全性与完整性要求。2.2系统数据流程分析1)基本业务调查可以通过网路检索、调查、开座谈会、跟班作业等方法,对所设计系统的业务进行调查,明确其基本功能和流程。2)数据流程图根据了解和调查结果,给出系统业务数据流程图。2.3数据字典在数据流程图中,数据信息和处理过程需要通过数据字典才能描述清楚,因此在数据字典中主要对数据流程图中的数据流、数据存储和处理过程给出更详细、更准确的说明。1)数据流定义可以通过表格的形式给出数据流程图的主要数据流,如表2.1所示。支付医疗费用入院登记收费部门病人安排床位用药安排安排手术挂号病人基本信息表门诊挂号表床位信息表病人用药情况表药品表手术安排表医生信息表护士信息表病人费用信息表2床位安排信息3手术安排信息4用药安排信息5医疗费用支付信息1挂号信息图2.1数据流程图表2.1医院管理系统主要数据流定义序号名称位置结构定义最大数据流量1挂号信息1编号+挂号科室+挂号类型+挂号费用+时间1000次/天2床位安排信息2病房号+床位号50次/天3手术安排信息3病人编号+主刀医生编号+麻醉医生编号+床号+手术时间1000次/天4用药安排信息4病人ID+药品ID+主治医生ID+用药日期+单价+计量单位+药品类型+数量1000次/天5医疗费用支付信息5费用项目+时间+操作员ID+金额1000次/天2)数据存储定义可以采用如下表格的形式给出系统的主要数据定义,如表2.2所示。表2.2医院管理系统主要数据存储定义编号名称输入输出数据量存取频度存取方式说明D1病人基本信息入院登记床位安排用药安排25000条1000次/天联机处理;检索和更新;随即检索病人ID唯一且非空D2医生信息入院登记手术安排用药安排20000条2000次/天联机处理;检索和更新;随即检索医生ID唯一且非空D3药品表用药安排用药情况20000条5000/天联机处理;检索和更新;随即检索药品ID唯一且非空D4门诊挂号信息入院登记挂号类型科室200005000次/天联机处理;检索和更新;随即检索编号唯一且非空D5病人费用信息基本信息费用类型20000条5000次/天联机处理;检索和更新;随即检索病人ID唯一且非空D6病人用药情况病人基本信息药品情况200001000/天联机处理;检索和更新;随即检索病人ID唯一且非空D7床位信息床位安排病房编号床位安排200001000/天联机处理;检索和更新;随即检索床位号和病房号唯一非空3)处理过程可以采用如下表格的形式给出系统的主要处理过程定义,如表2.3所示。表2.3医院管理系统主要处理过程定义序号处理过程名称输入输出处理说明P1.1安排床位入院登记床位信息表病人入院登记之后,根据基本信息,安排床位,存储在床位信息表中P1.2用药安排入院登记病人用药情况表药品表在病人入院登记之后,根据医生的安排用药,存储在病人用药情况表和药品表中P1.3安排手术入院登记手术安排表在病人入院登记之后,根据医生的诊断,安排手术,信息存储在手术安排表中P1.4支付医疗费用病人基本信息病人费用信息表在病人治病期间,产生的各种费用,存储在病人费用信息表中3概念模型设计3.1概念模型设计的方法将需求分析得对的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念模型设计的基本方法,通常有四类:(1)自顶向下。即首先定义概念结构的框架,然后逐步细化。(2)自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得对全局概念结构。(3)逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生产其他概念结构,直至总体概念结构。(4)混合策略。即将自底向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它我骨架集成由自底向上地设计概念结构。3.2系统概念模型根据系统的需求分析,得出系统数据库的信息模型,用ER图表示出来。医生病人科室护士病房药品工作分配拥有做手术照顾住宿服药NM11MNMMN11NM治疗安排手术NM手术安排MID名称病房数医生ID主任ID姓名性别科室学历年龄11血性姓名病人ID年龄性别身高ID姓名科室ID性别职务学历年龄代码科室ID床位号床位数地址医生ID手术间病人ID床位号时间麻醉记录时间编号名称剂型规格化学名称4逻辑模型设计4.1逻辑模型设计的方法此处给出由概念模型转化为逻辑模型设计的基本方法,可参考教材。4.2逻辑模型实现•医生(医生编号、科室代码、姓名、性别、年龄、职务、学历)•护士(护士编号、科室代码、姓名、性别、年龄、职务、学历)•病房(病房编号、科室代码、床位数、床位号、地址)•服药(病人编号、药品编号、病人姓名、年龄、性别、血性、身高、药品名称、剂型、化学名称、规格)•病人(病人编号、科室代码、病人姓名、年龄、性别、血性、身高)•做手术(病人编号、医生编号、医生姓名,医生年龄、医生性别、科室代码、病人姓名、年龄、床位号、手术时间、麻醉时间记录)•照顾(病人编号、护士编号、护士姓名、护士学历、病人年龄、床位号、科室代码)•治疗(病人编号、医生编号、科室代码、病人姓名、病人年龄、病人性别、医生姓名、医生年龄、医生性别、医生学历)•安排手术(主治医生编号、医生编号、床位号、手术间代码、手术时间、麻醉记录时间、科室代码、病人姓名、病人年龄、病人性别)4.3数据完整性约束定义根据上面的关系模式,应给出数据库的完整性约束。1)实体完整性约束•医生(医生编号、科室代码、姓名、性别、年龄、职务、学历)•护士(护士编号、科室代码、姓名、性别、年龄、职务、学历)•病房(病房编号、科室代码、床位数、床位号、地址)•服药(病人编号、药品编号、病人姓名、年龄、性别、血性、身高、药品名称、剂型、化学名称、规格)•病人(病人编号、科室代码、病人姓名、年龄、性别、血性、身高)•做手术(病人编号、医生编号、手术时间、医生姓名,医生年龄、医生性别、科室代码、病人姓名、年龄、床位号、麻醉时间记录)•照顾(病人编号、护士编号、护士姓名、护士学历、病人年龄、床位号、科室代码)•治疗(病人编号、医生编号、科室代码、病人姓名、病人年龄、病人性别、医生姓名、医生年龄、医生性别、医生学历)•安排手术(主治医生编号、病人编号、手术时间、床位号、手术间代码、麻醉记录时间、科室代码、病人姓名、病人年龄、病人性别)2)参照完整性约束给出关系模式中的参照关系。(1)参照关系:医生外码:科室代码被参照关系:科室(2)参照关系:护士外码:科室代码被参照关系:科室(3)参照关系:病房外码:科室代码被参照关系:科室(4)参照关系:服药外码:病人编号被参照关系:病人药品编号被参照关系:药品(5)参照关系:安排手术外码:医生编号被参照关系:医生外码:病人编号被参照关系:病人(6)参照关系:治疗外码:医生编号被参照关系:医生病人编号被参照关系:病人(7)参照关系:照顾外码:病人编号被参照关系:病人护士编号被参照关系:护士5物理模型实现此处给出在SQLServer中调试正确的数据库及表和相关定义的SQL语句。1.创建数据库createdatabasehospitalON(name=hospital_data,filename='E:\sql_data\hospital_data.mdf',size=20mb,maxsize=50mb,filegrowth=10%)logon(name=hospital_log,filename='E:sql_data\hospital_log.ldf',size=3mb,maxsize=5mb,filegrowth=2mb)2.创建表(1)创建病人表createtablepatient(pnochar(8)primarykey,--病人编号(主键)officenochar(8),--科室代码(外键)pnamechar(8)notnull,--病人姓名sexchar(2),--性别pagechar(8),--病人年龄staturechar(8),--身高bloodtypevarchar(4),--血型telvarchar(40),--联系电话nativechar(20)--籍贯)(2)创建医生表createtabledoctor(dnochar(8)primarykey,--医生编号(主键)dnamechar(8)notnull,--医生姓名sexchar(2)