《医院信息管理系统报告.doc》由会员分享,可在线阅读,更多相关《医院信息管理系统报告.doc(13页珍藏版)》请在三一办公上搜索。
1、精选优质文档-倾情为你奉上数据库系统原理课程设计任务书1、题目:某医院信息管理系统(药品库存、收费、医生病人等)l 实现药品类型及药品信息的管理;l 实现药品的入库、出库管理;l 实现科室、医生、病人的管理;l 实现处方的登记管理;l 实现收费管理;l 创建触发器,当药品入库、出库时自动修改库存; l 创建存储过程统计某段时间内,各科室的就诊人数和输入情况;l 创建视图查询各种药品的库存总数; l 建立数据库相关表之间的参照完整性约束。2、需求分析2.1需求分析(1)信息要求:医院信息管理系统涉及医生信息、病人信息、药品信息、收费表信息、科室管理等多种数据信息。(2)功能要求:医院信息管理系统
2、用户管理只有管理员,负责日常医院管理工作,比如药品的入库信息录入,修改医生信息,删除,添加等操作。医院信息管理系统具有以下功能:医生信息管理:包括医生信息的录入、修改、删除等功能。病人信息管理:包括病人信息的录入、查询等功能。科室信息管理:包括科室信息的录入、修改、删除等功能。药品信息管理:包括药品信息的录入、修改、删除等功能。药品库存管理:包括药品库存信息的录入、修改、查询等功能。处方表管理:包括医生开的处方表的录入、查询等功能。配药单管理:包括病人药品信息的录入、查询等功能。收费员信息管理:包括收费员信息的录入、修改、删除等功能。药品类型管理:包括药品类型信息的录入、修改、删除等功能。药品
3、种类管理:包括药品种类的录入、修改、删除等功能。2.2系统功能结构根据题目的要求可以将医院信息管理系统分为以下功能:医院信息管理系统医生信息管理病人信息管理科室信息管理收费员信息管理药品信息管理处方信息管理药品库存管理配药单管理药品种类管理药品类型管理2.3数据流程图2.3.1医生信息流程图系统管理人员医生信息查询医生信息删除医生信息修改医生信息录入医生信息表查询信息修改信息录入信息删除信息2.3.2病人信息流程图系统管理人员病人信息查询病人信息更新病人信息录入病人信息表查询信息更新信息录入信息2.3.3科室信息流程图系统管理人员科室信息查询科室信息删除科室信息修改科室信息录入科室信息表查询信
4、息修改信息录入信息删除信息2.3.4药品信息流程图系统管理人员药品信息查询药品信息删除药品信息修改药品信息录入药品信息表查询信息修改信息录入信息删除信息2.3.5药品库存流程图系统管理人员药品库存查询药品库存删除药品库存修改药品库存录入药品库存表查询信息修改信息录入信息删除信息2.3.6处方表流程图系统管理人员处方查询处方表查询信息2.3.7配药单流程图系统管理人员配药单查询药品信息录入配药单查询信息录入信息2.3.8收费员信息流程图系统管理人员收费员查询收费员信息录入收费员信息表查询信息录入信息收费员信息删除查询删除信息2.3.9药品类型流程图系统管理人员药品类型查询药品类型删除药品类型修改
5、药品类型录入药品类型表信息查询信息修改信息录入信息删除信息2.3.10药品种类流程图系统管理人员药品种类查询药品种类删除药品种类修改药品类型录入药品种类表信息查询信息修改信息录入信药品种类息删除信息3、概念结构设计3.1局部E-R图3.1.1医生信息管理局部E-R图医生电话年龄性别姓名科室编号医生编号3.1.2病人信息管理局部E-R图病人姓名科室编号电话年龄医治时间病人编号性别身份证号码缴费时间3.1.3科室信息管理局部E-R图科室科室位置科室名称科室编号3.1.4药品信息管理局部E-R图药品备注有效期生产地点治疗功效药品编号生产日期库存数量3.1.5药品库存管理局部E-R图药品库存入库单价库
6、存数量名称出库单价药品编号3.1.6处方表管理局部E-R图处方表病人编号处方时间收费员编号医生编号药品数量处方编号3.1.7配药单管理局部E-R图配药单病人编号收费金额药品编号收费员编号收费时间配药编号3.1.8收费员信息管理局部E-R图收费员姓名收费员编号2.3.9药品类型局部E-R图药品种类配药数量药品编号名称2.3.10药品种类局部E-R图药品类型库存位置类型编号类型名3.2全局的E-R图库存位置医生电话年龄性别姓名科室编号医生编号属于科室科室名称科室位置科室编号1m病人姓名科室编号电话年龄医治时间病人编号性别身份证号码缴费时间处方表病人编号处方时间收费员编号医生编号药品数量配药单病人编
7、号收费金额药品编号收费员编号收费时间领取处方m1开处方医治1m11领取配药单11收费员姓名收费员编号药品库存入库单价库存数量名称出库单价药品编号药品信息备注有效期生产地点治疗功效药品编号生产日期库存数量药品类型药品编号类型名纳费包括1m11m查看1m查看库存m1配药11属于m1药品种类配药数量药品编号名称1包括21配药编号处方编号3.4数据字典3.4.1医生信息表共有6段:医生编号、姓名、性别、年龄、电话科室编号,如下表:医生信息表字段名数据类型是否可以为空主键外键医生编号char(5) 不可为空是姓名varchar(5)性别char(2) 年龄varchar(3)电话char(11)科室编号
8、char(10)性别只能是男或女电话只能是11位数字,且第一个数字为13.4.2病人信息表共有10字段:病人编号、病人姓名、病人性别、病人年龄、病人电话、科室编号、身份证号码、科室编号、医治时间、备注、纳费时间。如下表:病人信息表字段名数据类型是否可以为空主键外键病人编号char(10)不可为空是病人姓名varchar(6)病人性别variable (2)病人年龄varchar(10)病人电话char(11)身份证号码char(18)科室编号char(10)是医治时间atetime备注varchar(20)纳费时间datetime3.4.3科室信息表共有3字段:科室编号、科室名称、科室位置。如
9、下表:科室信息表字段名数据类型是否可以为空主键外键科室编号char(10) 不可为空是科室名称 varchar(10) 科室位置 varchar(20) 3.4.4药品信息表共有8字段:药品编号、收费员编号、生产地点、生产日期、有效期、治疗功效、库存数量、备注。如下表:药品信息表 字段名数据类型是否可以为空主键外键药品编号 char(20)不可为空是收费员编号char(10)是生产地点varchar(20)生产日期datetime 有效期datetime 治疗功效varchar(20)库存数量varchar(10)备注varchar(20)3.4.5药品库存表共有6字段:药品编号、收费员编号、
10、名称、库存数量、入库单价、出库单价。如下表:药品库存表 字段名数据类型是否可以为空主键外键药品编号 char(20)不可为空是收费员编号char(10)是名称varchar(10)库存数量varchar(10) 入库单价varchar(12) 出库单价varchar(12)3.4.6处方表共5字段:医生编号、病人编号、药品数量、药品编号、处方时间。如下表:处方表 字段名数据类型是否可以为空主键外键医生编号 char(5)不可为空是病人编号char(10)不可为空是药品数量varchar(10)药品编号char(20) 是处方时间varchar(10)3.4.7配药单表共5字段:收费员编号、病人
11、编号、药品编号、收费金额、收费时间。如下表:配药单表字段名数据类型是否可以为空主键外键收费员编号 char(10)不可为空是病人编号char(10)不可为空是药品编号char(20)是收费金额 money收费时间datetime 3.4.8收费员信息表共有2字段:收费员编号、收费员姓名。如下表:收费员信息表字段名数据类型是否可以为空主键外键收费员编号 char(10)不可为空是收费员姓名varchar(10)3.4.9药品种类表共有3字段:药品编号、名称、配药数量。如下表:药品种类表字段名数据类型是否可以为空主键外键药品编号 char(20)不可为空是名称varchar(10)配药数量varc
12、har(10)3.4.10药品种类表共有3字段:药品编号、名称、配药数量。如下表:收费员信息表字段名数据类型是否可以为空主键外键药品编号 char(10)不可为空是类型名varchar(10)库存位置varchar (20)4、逻辑结构设计在这个阶段里,该系统的目标就是把基本的E-R图转换成关系数据模型。通过转换,得到的所需的数据表如下,1.医生信息表(医生编号、科室编号、姓名、性别、年龄、电话)2.病人信息表(病人编号、收费员编号、医生编号、配药单编号、科室编号、病人姓名、病人性别、病人年龄、病人电话、身份证号码、医治时间、备注、纳费时间)3.科室信息表(科室编号、科室名称、科室位置)4.药
13、品信息表(药品编号、类型编号、名称、生产地点、生产日期、有效期、治疗功效、库存数量、备注)5.药品库存表(药品编号、名称、库存数量、入库单价、出库单价)6.处方表(处方编号、医生编号、病人编号、药品数量、药品编号、处方时间)7.配药单表(配药单、收费员编号、病人编号、药品编号、收费金额、收费时间)8.收费员信息(收费员编号、收费员姓名)9.药品类型: (药品编号、类型名、库存位置)10.药品种类:(药品编号、配药单编号、处方编号、名称、配药数量)5、物理结构这个阶段的任务就是根据逻辑结构设计选取一个最合适应用要求的物理结构的过程,就是数据库的物理结构设计:5.1创建触发器,当药品入库、出库时自
14、动修改库存create trigger export_medicine on 药品种类表 for insertasbegindeclare t int,num int,num1 intset t=(select inserted.药品编号 from inserted)select num=药品名称表.配药数量from 药品名称表select num1=药品库存表.库存数量from 药品库存表if(num1=num)beginselect num1=num1-numfrom 药品名称表,药品库存表where 药品名称表.药品编号=药品库存表.药品编号 and 药品名称表.药品编号=tendels
15、ebegin print配药数量已超过库存数量! rollback transaction end update 药品库存set 库存数量=num1where 药品编号=t;end5.2创建存储过程统计某段时间内,各科室的就诊人数和输入情况create procedure num_counttime1 datetime,time2 datetimeasbeginselect 科室信息表.科室编号,科室信息表.科室名称,count(病人信息表.病人编号) as 病人人数,time1 开始时间,time2 结束时间from 科室,病人where 科室信息表.科室编号=病人信息表.科室编号 and
16、医治时间=time1 and 医治时间=time2group by 科室信息表.科室编号,科室信息表.科室名称end 5.3创建视图查询各种药品的库存总数create view 药品库存总数asselect 库存数量from 药品库存表 5.4建立完整性约束alter table 病人信息表add constraint check_病人性别 check (病人性别 in (男,女),constraint check_病人电话 check (病人电话 like (10-90-90-90-90-90-90-90-90-90-9),constraint check_身份证号码 check (身份证号码 like (0-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-9)goalter table 医生信息表add constraint check_性别 check (性别 in (男,女),constraint check_电话 check(电话 like (10-90-90-90-90-90-90-90-90-90-9)go专心-专注-专业