3医院的管理系统.docx
- 文档编号:9100007
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:26
- 大小:280.38KB
3医院的管理系统.docx
《3医院的管理系统.docx》由会员分享,可在线阅读,更多相关《3医院的管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
3医院的管理系统
合肥师范学院
(本科)
课程设计说明书
课程
数据库系统概论
题目
医院管理系统
姓名
徐润仙
学号
1110451015
专业班级
2011级计算机软件1班
指导教师
程敏
完成日期
2013
年
06
月
25
日
目录
第一章、绪言-3-
第二章、需求分析-4-
2.1、系统总体需求-4-
2.2、系统数据流程分析-4-
第三章、数据库概念设计-5-
3.1、概念模型设计方法-5-
3.2、六个实体局部E-R图-5-
6.3、总体E-R图-7-
第四章、数据库逻辑设计-8-
4.1、逻辑模型的设计方法-8-
4.2、逻辑模型的实现-8-
4.3、数据库建表-10-
第五章、数据库物理设计-14-
5.1、物理设计SQL语句-14-
第六章、数据库的实现-16-
6.1、数据的添加-16-
6.2、数据库的实现-20-
第七章、总结-25-
第一章、绪言
医院管理系统,指利用电子计算机和通信设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集,存储,处理,提取和数据交换的能力,并满足所有授权用户的功能需求。
医院管理系统的发展大致分为3个阶段,第一个十年,集中在开发医院行政管理的功能上,第二个十年,在继续完成和实现医院管理信息计算机化的同时,开发者的努力已进入医疗信息的处理领域,最后一个十年至今,研究者有把重点放在了病人床边系统,医学影像处理系统,病人计算机化病案,统一的医学语言系统等方面。
医院系统正在经历着小型化,智能化和集成化的改造过程。
要设计出医院管理系统,首先要进行需求分析,即了解医院的组织机构情况,各部门的业务活动,;然后进行概念结构设计,即将需求分析得对的用户需求抽象为信息结构,从而更好的更准确的实现这些需求;接下来进行逻辑结构设计,它的主要任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构;最后进行数据库的物理设计。
经过这几步,基本就可以设计出一个简单的医院管理系统。
医院管理系统中大体涉及的表有病人基本信息表,医生基本信息表,护士基本信息表,病房情况表,科室信息表,药品信息表,病人用药情况表门诊挂号表等一些基本表,医院管理系统的主要目标是支持医院的行政管理与事务处理业务,减轻事务处理人员的劳动强度,辅助医院管理,辅助高层领导决策,提高医院的工作效率,从而使医院能够以少的投入获得更好的社会效益。
第二章、需求分析
2.1、系统总体需求
进行整个数据库设计必须准确了解与分析用户需求(包括数据和处理)。
需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度和质量。
需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
需求分析调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库的如下需求:
(1)信息需求。
指用户需要从数据库中获得信息的内容与性质。
由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
(2)处理要求。
指用户需要完成什么处理功能。
明确用户对数据有什么样的处理要求,从而确定数据之间的相互关系。
(3)安全性与完整性要求。
2.2系统数据流程分析
(1)基本业务调查
可以通过网路检索、调查、开座谈会、跟班作业等方法,对所设计系统的业务进行调查,明确其基本功能和流程。
(2)数据流程图
根据了解和调查结果,给出系统业务数据流程图。
第三章、数据库概念设计
3.1概念模型设计的方法
将需求分析得对的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。
概念模型设计的基本方法,通常有四类:
(1)自顶向下。
即首先定义概念结构的框架,然后逐步细化。
(2)自底向上。
即首先定义各局部应用的概念结构,然后将它们集成起来,得对全局概念结构。
(3)逐步扩张。
首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生产其他概念结构,直至总体概念结构。
(4)混合策略。
即将自底向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它我骨架集成由自底向上地设计概念结构。
3.2、六个实体局部E-R图
图6.2-1救护车实体和属性
图6.2-2医院实体和属性
图6.2-3医生实体和属性
图6.2-4科室实体和属性
图6.2-5床位实体和属性
图6.2-6助手实体和属性
图6.2-7挂号处实体和属性
图6.2-8病人实体和属性
图6.2-9领药处实体和属性
.
图6.2-10药店实体和属性
图6.2-11药厂实体和属性
6.3、总体E-R图
由以上信息设计总体E-R图:
图6.3-1
第四章、数据库逻辑设计
4.1逻辑模型设计的方法
此处给出由概念模型转化为逻辑模型设计的基本方法。
4.2逻辑模型实现
医生(医生编号、科室代码、姓名、电话、学历)
助手(助手编号、医生编号、姓名、性别、年龄)
床位(床位编号、科室代码、床位长度、照看者)
挂号处(挂号处编号、病人编号、电话、地址)
病人(病人编号、科室代码、挂号处编号、领药处编号、病人姓名、年龄、性别)
供应(药厂编号、药店编号、药店地址)
缴费(病人编号、挂号处编号、病人姓名)
救护车(救护车编号、救护车长、医院编号)
看病(病人编号、科室代码、病人年纪、病人姓名)
科室(科室代码、医院编号、病人编号、科室地址、科室电话、科室名称)
领药处(领药处编号、病人编号、药店编号、领药处地址、领药处电话)
药厂(药厂编号、药店编号、药厂地址、药厂电话)
药店(药店编号、领药处编号、药厂编号、药店名字、药店地址、药店电话)
医院(医院编号、医院名字、医院地址、医院电话)
4.3数据完整性约束定义
根据上面的关系模式,应给出数据库的完整性约束。
1)实体完整性约束
医生(医生编号、科室代码、姓名、电话、学历)
助手(助手编号、医生编号、姓名、性别、年龄)
床位(床位编号、科室代码、床位长度、照看者)
挂号处(挂号处编号、病人编号、电话、地址)
病人(病人编号、科室代码、挂号处编号、领药处编号、病人姓名、年龄、性别)
供应(药厂编号、药店编号、药店地址)
缴费(病人编号、挂号处编号、病人姓名)
救护车(救护车编号、救护车长、医院编号)
看病(病人编号、科室代码、病人年纪、病人姓名)
科室(科室代码、医院编号、病人编号、科室地址、科室电话、科室名称)
领药处(领药处编号、病人编号、药店编号、领药处地址、领药处电话)
药厂(药厂编号、药店编号、药厂地址、药厂电话)
药店(药店编号、领药处编号、药厂编号、药店名字、药店地址、药店电话)
医院(医院编号、医院名字、医院地址、医院电话)
2)参照完整性约束
给出关系模式中的参照关系。
(1)参照关系:
医生外码:
科室代码被参照关系:
科室
(2)参照关系:
助手外码:
医生编号被参照关系:
医生
(3)参照关系:
床位外码:
科室代码被参照关系:
科室
(4)参照关系:
病人外码:
科室代码被参照关系:
科室
(5)参照关系:
科室外码:
医院编码被参照关系:
医院
(6)参照关系:
药厂外码:
药店编号被参照关系:
药店
(7)参照关系:
药店外码:
领药处编号被参照关系:
领药处
(8)参照关系:
救护车外码:
医院编号被参照关系:
医院
(9)参照关系:
挂号处外码:
病人编号被参照关系:
病人
(10)参照关系:
缴费外码:
病人编号被参照关系:
病人
外码:
领药处编号被参照关系:
领药处
(11)参照关系:
看病外码:
病人编号被参照关系:
病人
外码:
科室代码被参照关系:
科室
(12)参照关系:
供应外码:
药厂编号被参照关系:
药厂
外码:
药店编号被参照关系:
药店
4.3、数据库建表
依据上述所有内容,在数据库中建立相应表格,可得:
(1)建BR表
图4.3-1
(2)建CW表:
图4.3-2
(3)建GHC表:
图4.3-3
(4)建GY表:
图4.3-4
(5)建JF表:
图4.3-5
(6)JHC表:
图4.3-6
(7)建KB表:
图4.3-7
(8)建KS表:
图4.3-8
(9)建LYC表:
图4.3-9
(10)建YC表:
图4.3-10
(11)建YD表:
图4.3-11
(12)建YS表:
图4.3-12
(13)建YY表:
图4.3-13
(14)建ZS表:
图4.3-14
第五章、数据库物理设计
5.1、物理设计SQL语句
此处给出在SQLServer中调试正确的数据库及表和相关定义的SQL语句。
1.创建数据库
createdatabaseYYGLXT
2.创建表
(1)创建BR表
createtableBR(
BRnochar(10)primarykey,--病人编号(主键)
KSnochar(10),--科室代码(外键)
GHCnochar(10)--挂号处编号
BRnamechar(10),--姓名
BRagechar(8),--病人年龄
BRsexchar
(2),--病人性别
)
(2)创建CW表
createtableCW(
CWnochar(10)primarykey,--床位编号(主键)
KSnochar(10),--科室代码(外键)
CWlongchar(10)--床位长度
orderlieschar(10),--照看者
)
(3)创建GHC表
createtableGHC(
GHCnochar(10)primarykey,--挂号处编号(主键)
BRnochar(10),--病人编号(外键)
GHCtelchar(10)--挂号处电话
GHCaddresschar(10),--地址
)
(4)创建YY表
createtableYY(
YYnochar(10)primarykey,--医院编号(主键)
YYnamechar(10),--医院名字(外键)
YYtelchar(10)--医院电话
YYaddresschar(10),--医院地址
)
(5)创建ZS表
createtableZS(
ZSnochar(10)primarykey,--助手编号(主键)
YSnochar(10),--医生编号(外键)
ZSnamechar(10),--助手姓名
ZSagechar(8),--助手年龄
ZSsexchar
(2),--助手性别
)
(6)创建YD表
createtableYD(
YDnochar(10)primarykey,--药店编号(主键)
YCnochar(10),--药厂编号(外键)
LYCnochar(10),--领药处编号
YDnamechar(8),--药店名字
YDtelchar
(2),--药店电话
)
第六章、数据库的实现
6.1、数据的添加
(1)BR表
图6.1-1BR表的数据
(2)CW表
图6.1-2CW表的数据
(3)GHC表
图6.1-3GHC的数据
(4)GY表
图6.1-4GY表的数据
(5)JF表
图6.1-5JF表的数据
(6)JHC表
图6.1-6JHC表的数据
(7)KB表
图6.1-6KB表的数据
(8)KS表
图6.1-8KS表的数据
(9)LYC表
图6.1-9LYC表的数据
(10)YC表
图6.1-10YC表的数据
(11)YD表
图6.1-11YD表的数据
(12)YS表
图6.1-12YS表的数据
(13)YY表
图6.1-13YY表的数据
(14)ZS表
图6.1-14ZS表的数据
6.2、数据库的实现
1.查询没有去外科看病的病人名:
selectBRname
fromBR
wherenotexists
(select*
fromKS
whereKS.BRno=BR.BRnoandKSname='外科')
2.查询市医院急诊室的电话:
selectKStel
fromKS,YY
whereKS.YYno=YY.YYnoandYYname='市医院'
andKSname='急诊室';
3.查询为光明药店供应药品的药厂电话与地址:
selectYCaddress,YCtel
fromYC
whereYCnoin
(selectYCno
fromGY
whereYDnoin
(selectYDno
fromYD
whereYDname='光明';)
)
4.将助手中不大于28岁的助手年纪按顺序列出来:
selectZSage
fromZS
whereZSage<=28
groupbyZSage
5.触发器:
为YY表建立触发器T1,禁止删除名字为萌萌的助手信息。
createtriggerT1onZS
fordelete
withappend
as
if(selectZSnamefromdeleted)='萌萌'
begin
print'youcannotdeletethis'
rollbacktransaction
end
deletefromZS
whereZSname='萌萌'
6.使用游标对CW表进行操作,当床位长小于2.0自动改为2.0。
declare@CWnochar(10),@CWlongchar(10)
declaremy_cursorcursorfor
selectCWno,CWlongfromCW
openmy_cursor
fetchnextfrommy_cursorinto@CWno,@CWlong
while@@fetch_status=0
begin
if@CWlong<2.0
updateCWsetCWlong=2.0whereCWno=@CWno
fetchnextfrommy_cursorinto@CWno,@CWlong
end
closemy_cursor
deallocatemy_cursor
7.存储过程yyglxt,使用@xk能够传送进存储过程的参数。
允许以病人名字查询该病人的基本信息
createprocedureyyglxt(@xkchar(20))
as
select*
fromBR
whereBRname=@xk
8.在查询分析器中,定义表值函数FUN,用于返回已知名字的医院的基本信息;
createfunctionFUN(@YYnamechar(20))
returnstable
asreturn
(select*
fromYY
whereYYname=@YYname)
9.在查询分析器中,定义标量函数avg,用于返回病人年纪的平均值;
createfunctionavg(@aint,@bint)
returnsint
asBEGIN
declare@avgint
set@avg=(@a+@b)/2
return@avg
end
selectdbo.avg(max(BRage),min(BRage))
fromBR
第七章、总结
通过本次课程设计,我更加深入的了解到了数据库设计的各种方法,了解到了需求分析的主要内容,以及概念结构设计、逻辑结构设计、物理结构设计中需要特别注意的地方,以及概念结构设计、逻辑结构设计、物理结构设计之间的关系及设计方法,使得更好的理解课本知识,学以致用,但设计过程中叶遇到了各种各样的问题,由于我们教学过程中比较注重前面部分的基础知识学习,所以系统的数据库设计方法反而不是很清楚,所以很多知识不是很理解,加上时间有限,设计出来的系统难免出错,我想以后应该多做一些系统,这样应该会更加的理解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医院 管理 系统