数据库原理及应用 - 毕业论文说明书

更新时间:2024-06-23 01:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

内蒙古科技大学 课程设计说明书(论文)

课程名称:数据库原理及应用 题 目:住院部数据库系统 课题等级:80

班 级:10计算机(2)班 学生姓名:范振辉 指导教师:丁雨

内蒙古科技大学课程设计任务书

课程名称 设计题目、等级 指导教师 一、教学要求 1.从附录一中选择一个题目进行数据库应用系统设计。 2.功能设计:用Visual FoxPro,Visual Basic、PB等开发工具与数据库管理系统SQL-SEVER或Access制作一个小型管理系统。所设计的小型管理系统应包含输入输出、查询、插入、删除等基本功能。设计课题可以从候选的项目中选出,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。(本项实际系统设计与实现可选,但必须有功能设计过程) 3.数据库的设计: 根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构设计、逻辑结构设计等工作: ? 概念结构设计的E-R图 ? 数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每个表的各字段名,类型和约束(主、外码); ? 确定表之间的关联(一对一、一对多、多对多) ? 运用数据库理论确定每个表至少属于3NF。 二、设计资料及参数 将你选的题目资料给出的信息整理后填在此处。 三、设计要求及成果 1.按照数据库应用系统设计步骤进行数据库结构设计。 2.使用开放工具及数据库管理系统开放应用系统(可选)。 3.书写论文(具体要求见论文模板)。 四、进度安排 1.安排工作。 2、数据库结构设计、功能设计。 3、检查E-R图,关系表。

数据库原理及应用 住院部数据库系统(题目等级80) 丁雨 时间 两周

4、应用系统验收。 5、上交论文。 五、评分标准 1.数据库结构正确性(30%)。 2.数据库结构复杂性,由题目等级决定(30%)。 3.设计报告完成的质量(30%)。 4.出勤(10%)。 5.成绩采用五级分制评定。 六、建议参考资料 1、《数据库系统教程》(第三版) 施伯乐等著 高等教育出版社 2、根据实际情况填写 3、

住院部数据库系统(题目等级80)

Dulia是南亚的一家中型传染病医院。由于住院部收治的基本上都是烈性传染病(如爱滋病、登革热、黄热病等等),为了生活垃圾处理的方便,住院部同药房、门诊部是隔离的,位于远郊。

由于地处热带,当地的传染病发病率本来就很高,加上最近双腺淋巴性鼠疫的流行,更使得本已处在一片混乱中的住院部的信息管理雪上加霜。事实上,截止2001年底,Dulia的本部已基本实现了档案管理的无纸化,只是由于地域性和资金筹备等方面的原因,住院部的数据电子化问题迟迟未得到解决。这样,住院部实际上已同药房、门诊部产生了信息处理层次上的脱节。目前,在州政府的支持下,Dulia领导层终于决定租用光缆,将本部与住院部的系统进行连接,并全面升级住院部的信息管理系统。本小组被授权设计该系统的数据库部分。

通过调研,我们发现以下几个方面存在严重的问题:

1. 病历的电子化问题。由于病情发展、变化,病人需要在不同的医生处接受不同的治疗,但接手的医生往往得不到病史资料,或还得重写一份病人简史,造成人力、资源上很大的浪费以及时间上的不及时。 2. 对医护人员缺乏有效、合理的管理。有护士向我们抱怨她连值三个夜班,整整四十八小时没闭眼,而她的同事却按正常日程上班,或还有的同事工作时间没事可干。而医生方面也存在着类似的问题。 3. 缺乏对药品存货的严格管理。(住院部有自己的药品仓库。)就拿血液仓库来说,有一次血库工人将待处理的爱滋病病人的废血当作O型血输给一例出血性麻风病人,结果造成了近五年最大的一起医疗纠纷和社会丑闻。

4. 以床位为代表的医疗器械的管理。Dulia的出入院受理处非常繁忙,每天有大量病人进出。在一个病人出院,下一个病人入院的时候,有很长一段时间病床是空着的,而这个信息并没得到及时的更新,住院部居然不能很快的安排下一个病人进驻这张病床。所以,经常出现病房里明明有空位,外面却有很多病人没有床位的情况。有时甚至还会有两个病人被注册在一张病床上的事情发生。

经以上分析,我们一致认为,该住院部有以下几方面的信息需求: 1. 病人的信息需求:包括病人本身的信息和病历信息,及住院期间的费用信息等。

2. 住院部工作人员的工作信息需求:除包括工作人员自身状况信息、月薪等信息外,还要有医生正在给多少病人看病的医生工作信息、护士值班情况信息,以及这些安排是否合理以便进行人事管理。 3. 药品信息需求:尤其是住院部药品仓库库存状况,药品使用状况,药品计量等信息。

4. 住院部内各种设施使用状况信息:尤其是床位使用状况信息,还有其他设备(氧气瓶、手术台等)使用情况的信息。

关键词:医院,数据库

目录

住院部数据库系统(题目等级80) ........................................................................................ I 第一章 需求分析概要 .............................................................................................................. 2

1.1项目开发背景 ............................................................................................................. 2 1.2系统分析 ..................................................................................................................... 3

1.2.1可行性分析 ..................................................................................................... 3 1.2.2需求分析 ......................................................................................................... 4

第二章 ER图 ............................................................................................................................. 5 第三章 逻辑结构 ...................................................................................................................... 5

3.1数据表资料 ................................................................................................................. 5 第四章 数据库的实现 .............................................................................................................. 8

4.1数据库的创建 ............................................................................................................. 8 4.2基本表的创建 ............................................................................................................. 8 4.3数据录入 ................................................................................................................... 13 4.4基本查询 ................................................................................................................... 26 第五章 总结 ............................................................................................................................ 36 参考文献 .................................................................................................................................. 37

第一章需求分析概要

1.1项目开发背景

人类社会进入二十一世纪,医院作为一个特殊服务行业,其发展应适应

于市场经济的发展。目前,我国的医疗体制正处于改革阶段,需要医疗市场的进一步规范化,这就要求医院加强自身的管理,利用现代化的管理工具对医院的工作进行必要的管理,无疑将提高工作效率、信息的准确程度,根除现行的人工管理模式存在着的某些弊端,达到减支增效的目的。有利于提高医疗水平和服务质量,更好的服务于社会。 ----医院管理系统是利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据交换的能力,并满足所有授权用户的功能需求。 随着计算机性能不断提高,价格不断下降,计算机已在医院医疗、教学、科研、管理的各个方面得到越来越广泛的应用。计算机化的医院信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。就好象一个现代化医院的成功运行离不开功能完整、美观舒适的建筑物,技术娴熟的医护人员,性能齐全、高精确的医疗设备一样,它也离不开 计算机化的医院信息系统。 计算机网络只是一种工具,如何有效地利用这一工具,关键还是在于人。医院的工作以病人为中心,如果适当改变医院原有的工作方式和流程,利用计算机管理为病人提供方便,不仅可以提高医疗水平和服务质量,同时也会相应地提高医院的经济效益和社会效益,扩大医院的声誉。 在医院管理信息系统是在今天医疗事业的迅猛发展的前提下,以前的手工录入或早期的医药管理应用软件以逐渐不能满足用户的要求,而在这些问题当中,落后的医药管理已严重的影响医院工作人员的工作效率, 基于以上的原因,从而提出了医药管理管理系统的设计目标。 通过信息数据高度共享,在强大的数据库的支持下,将医院的全面管理水平和服务质量提升到更高层次。医药管理系统结合医院管理工作的特点,充分利用局域网、广域网、大型分布式数据库等先进的计算机技术,运用系统的理论与方法将医院各组成

部分的信息处理过程综合成有机整体,及时而有效地为医院日常管理和发展提供决策依据,使医院信息管理工作尽快达到规范化、制度化、科学化的要求,并实现医院信息技术全电子无纸化和胶片管理的最终目标 。

1.2系统分析

1.2.1可行性分析

1.2.1.1技术可行性

开发软件所需要的技术是否具备是通过该系统的目标来衡量的,一般情况下我们可以从软件的环境条件、硬件的性能要求、相应的开发及操作人员的能力水平等方面综合进行分析和考虑。 从系统开发及实施的可行性和灵活性考虑,本系统的软件开发环境主要选择了当前较为流行的Visual C#.NET来进行前台的管理设计,而后台则选用了功能强大的SQL server 2005数据库。 从硬件角度来说,要求相对较低,所以选择的空间较大,一般情况下计算机硬盘在100MB左右,内存在512M以上都是可以满足开发环境的。根据现在计算机水平的发展和普及,系统在硬件方面是可行的。当然,硬件环境的配置越高,系统的开发与运行相对就会更加高效与快捷,可行性也会大幅度提高。 1.2.1.2经济可行性

在软件的开发过程中,在世界上普遍采用的一种研究工程项目是否可行的科学。它通过各种有效的方法,对工程项目进行分析,从技术、经济、财务等方面加以评价,最终给投资决策者提供是否选择该项目进行投资的依据

1.2.2需求分析

1.病人的信息需求:包括病人本身的信息和病历信息,及住院期间的费

用信息等。

2.住院部工作人员的工作信息需求:除包括工作人员自身状况信息、月薪等信息外,还要有医生正在给多少病人看病的医生工作信息、护士值班情况信息,以及这些安排是否合理以便进行人事管理。

3.药品信息需求:尤其是住院部药品仓库库存状况,药品使用状况,药品计量等信息。

4.住院部内各种设施使用状况信息:尤其是床位使用状况信息,还有其他设备(氧气瓶、手术台等)使用情况的信息。

第三章逻辑结构

3.1数据表资料

患者信息数据表

病历信息数据表

医生信息数据表

护士信息数据表

手术台信息数据表

床位信息数据表

值班种类信息数据表

仓库信息数据表

药品信息数据表

用药信息数据表

手术信息数据表

床位使用信息数据表

第四章数据库的实现

4.1数据库的创建

create database 医院管理系统

4.2基本表的创建

--建数据库表

create database 住院部数据库系统 use 住院部数据库系统 go

create table 医护人员(

工号char(5) primary key, 姓名char(20) not null,

性别char(2) check(性别='男' or 性别='女'), 年龄int check(年龄>0), 毕业学校char(20) ) go

create table 医生(

工号char(5) primary key, 科室char(15) not null, 主治char(20) )

alter table 医生

add constraint 医生外键foreign key(工号) references 医护人员(工号) create table 护士(

工号char(5) primary key, 专业方向char(20)

)

create table 病人(

病人号char(5)primary key, 姓名char(15) not null,

性别char(2)check(性别='男' or 性别='女'), 年龄int check(年龄>0),

主治医生编号char(5) foreign key(主治医生编号) references 医生(工号) )

create table 药品(

药品号char(5) primary key,--int identity(1,1),可以制作流水单号 药品名称char(20) not null, 整量单位char(5), 散量单位char(5), 散整比 int, 使用说明char(40), 价格money check(价格>0) )

--alter table 药品

--alter column 使用说明char(40) create table 病历(

病历号char(5) primary key, 诊断结果信息char(40) )

create table 处方(

处方号char(5),

药品号char(5) foreign key references 药品(药品号), )

create table 体检( 体检号char(5) , 体检项目char(20) , 价格money check(价格>0),

用法 char(20), 数量 int,

primary key(处方号,药品号)

primary key(体检号,体检项目)

) *

alter table 体检

add constraint 体检主键 primary key (体检号,体检项目) alter table 体检

alter column 体检项目char(20) *

create table 诊断(

病人号char(5) foreign key references 病人(病人号), 医生号char(5) foreign key references 医生(工号), 病历号char(5) foreign key references 病历(病历号),

处方号char(5) , 体检号char(5) ,

诊断时间datetime,

primary key(病人号,医生号,诊断时间) )

*create table 设备(

设备类别char(5) primary key, 收费说明char(10),--(元次,元天,元ml) )*

create table 床位(

设备号char(5) primary key,

--(元天)

房间 char(10), 价格money

价格money check(价格>0) )

create table 床位占用(

占用编号char(5) primary key,

病人号char(5) foreign key references 病人(病人号), 设备号char(5) foreign key references 床位(设备号), 开始时间datetime, 结束时间datetime, )

create table 氧气瓶(

设备号char(5) primary key,

--(元ml)

价格money check(价格>0), 剩余量float check(剩余量>0) )

create table 氧气瓶占用(

病人号char(5) foreign key references 病人(病人号), 设备号char(5) foreign key references 氧气瓶(设备号), 开始时间datetime, 结束时间datetime,

使用量float check(使用量>0), primary key(病人号,设备号,开始时间) )

create table 手术台(

设备号char(5) primary key,

--(元次)

价格money check(价格>0) )

create table 手术(

病人号char(5) foreign key references 病人(病人号), 医生号char(5) foreign key references 医生(工号), 设备号char(5) , 开始时间datetime, 结束时间datetime

primary key(病人号,医生号,设备号,开始时间) )

create table 值班表(

护士号char(5)foreign key references 护士(工号), 床位号char(5)foreign key references 床位(设备号), 日期datetime,

属性char(10), --(上午班,下午班,晚班) primary key(护士号,床位号,日期,属性) )

create table 购买药品(

购药单号char(5) primary key,

病人号char(5) foreign key references 病人(病人号), 药品号char(5) foreign key references 药品(药品号), 数量int check(数量>0), 时间datetime )

create table 仓库(

仓库号char(5) primary key, 仓库名称char(20) not null,

仓库容量float check(仓库容量>0)--立方米 )

create table 药品存储(

仓库号char(5)foreign key references 仓库(仓库号), 药品号char(5) foreign key references 药品(药品号), 剩余量float check(剩余量>0), primary key(仓库号,药品号) )

select * from 病人

4.3数据录入

--插入数据

use 住院部数据库系统 go

insert into 医护人员

values('0001','神农','男',85,'上古医学院') insert into 医护人员

values('0002','黄帝','男',45,'上古中医学院') insert into 医护人员

values('0003','扁鹊','男',55,'中华医学院') insert into 医护人员

values('0004','张仲景','男',45,'东汉医学院') insert into 医护人员

values('0005','华佗','男',35,'三国医学院') insert into 医护人员

values('0006','孙思邈','男',65,'隋朝医学院') insert into 医护人员

values('0007','鉴真','男',45,'唐代医学院') insert into 医护人员

values('0008','李时珍','男',43,'明朝医学院') insert into 医护人员

values('0009','白求恩','男',45,'加拿大医学院') insert into 医护人员

values('0010','范昌龄','男',45,'老寨医学院') insert into 医护人员

values('0011','苏俊丹','女',45,'包头医学院') insert into 医护人员

values('0012','张苗苗','女',45,'呼市医学院') insert into 医护人员

values('0013','赵希坤','男',45,'内蒙古医学院') insert into 医护人员

values('0014','阮志婷','女',45,'安阳医学院') insert into 医护人员

values('0015','程丽婷','女',45,'包头医学院') insert into 医护人员

values('0016','齐正伟','男',45,'江西医学院') insert into 医护人员

values('0017','李家洋','男',45,'四川医学院') insert into 医护人员

values('0018','蔡莎莎','女',45,'四川医学院') insert into 医护人员

values('0019','王娟娟','女',45,'宁夏医学院') insert into 医护人员

values('0020','孟彬彬','男',45,'河南医学院') go

insert into 医生

values('0001','内科','中医草药') insert into 医生

values('0002','内科','经脉') insert into 医生

values('0003','全科','各种疑难杂病') insert into 医生

values('0004','全科','各种疑难杂病') insert into 医生

values('0005','外科','麻醉') insert into 医生

values('0006','制药科','抗衰老') insert into 医生

values('0007','眼科','白内障') insert into 医生

values('0008','草药科','各种疑难杂病') insert into 医生

values('0009','外科','枪伤') insert into 医生

values('0010','儿童科','感冒') go

insert into 护士

values('0011','计算机') insert into 护士

values('0012','自动化') insert into 护士 values('0013','医科') insert into 护士 values('0014','护理') insert into 护士

values('0015','公共服务') insert into 护士 values('0016','英语') insert into 护士

values('0017','自动化') insert into 护士 values('0018','会计') insert into 护士 values('0019','金融') insert into 护士

values('0020','内科') go

insert 病人(病人号,姓名,性别,年龄,主治医生编号) values('0001','曹操','男',47,'0005')

insert 病人(病人号,姓名,性别,年龄,主治医生编号) values('0002','蔡桓公','男',43,'0003') insert 病人

values('0003','关羽','男',37,'0005') insert 病人

values('0004','解放军','男',25,'0009') insert 病人

values('0005','范振辉','男',21,'0010') insert 病人

values('0006','孙少安','男',33,'0010') insert 病人

values('0007','孙少平','男',27,'0010') insert 病人

values('0008','孟冰冰','女',16,'0001') insert 病人

values('0009','郑晓莹','女',22,'0002') insert 病人

values('0010','杨少明','男',13,'0004') go

insert into 药品

values('0001','感康','盒','片',12,'成人饭后服用一天两次,一次一片',10) insert into 药品

values('0002','红霉素','盒','瓶',10,'注射,一天一次,一次一瓶',15) insert into 药品

values('0003','急支糖浆','瓶','瓶',1,'口服,一天三次,一次ml',10) insert into 药品

values('0004','创可贴','盒','片',20,'外用,不可连续使用,伤口较大时请包扎',10) insert into 药品

values('0005','头孢氨苄','盒','片',10,'口服,一天三次,一次一片',3) insert into 药品

values('0006','金嗓子','盒','片',12,'口服,一天三次,一次一片',1.5)

insert into 药品

values('0007','阿莫西林','盒','片',12,'口服,一天三次,一次二片',2) insert into 药品

values('0008','阿托品','盒','瓶',5,'注射,一天三次,一次一瓶',40) insert into 药品

values('0009','维生素C','瓶','片',50,'口服,一天三次,一次一片,不可连续服用',9) insert into 药品

values('0010','鱼肝油','瓶','瓶',1,'口服,一天三次,一次ml,建议长期服用',27) go

insert into 病历

values('0001','唇干,喉肿,咳嗽,属于重感冒') insert into 病历

values('0002','重感冒,头疼,咳嗽') insert into 病历

values('0003','偏头疼') insert into 病历

values('0004','腿部外伤感染') insert into 病历

values('0005','头晕,贫血') insert into 病历

values('0006','箭伤感染') insert into 病历

values('0007','枪伤感染') insert into 病历

values('0008','头疼,发烧') insert into 病历

values('0009','食欲不振') insert into 病历

values('0010','胃疼,吐酸水') go

insert into 处方

values('0001','0001','一天三次,一次一片',2) insert into 处方

values('0002','0003','一天三次,一次ml',1) insert into 处方

本文来源:https://www.bwwdw.com/article/taf3.html

Top