《数据库原理及应用_课程设计说明书(35页).doc》由会员分享,可在线阅读,更多相关《数据库原理及应用_课程设计说明书(35页).doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-数据库原理及应用_课程设计说明书-第 28 页内蒙古科技大学课程设计说明书(论文)课程名称:数据库原理及应用题 目:住院部数据库系统课题等级:80班 级:10计算机(2)班学 号:1067111204学生姓名:范振辉指导教师:丁雨内蒙古科技大学课程设计任务书课程名称数据库原理及应用设计题目、等级住院部数据库系统(题目等级80)指导教师丁雨时间两周一、教学要求1从附录一中选择一个题目进行数据库应用系统设计。2功能设计:用Visual FoxPro,Visual Basic、PB等开发工具与数据库管理系统SQL-SEVER或Access制作一个小型管理系统。所设计的小型管理系统应包含输入输出、查
2、询、插入、删除等基本功能。设计课题可以从候选的项目中选出,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。(本项实际系统设计与实现可选,但必须有功能设计过程)3数据库的设计:根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构设计、逻辑结构设计等工作:l 概念结构设计的ER图l 数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每个表的各字段名,类型和约束(主、外码);l 确定表之间的关联(一对一、一对多、多对多)l 运用数据库理论确定每个表至少属于3NF。二、设计资料及参数将你选的题目资料给出的信息整理后填在此处。三、设计要求及成果1
3、按照数据库应用系统设计步骤进行数据库结构设计。2使用开放工具及数据库管理系统开放应用系统(可选)。3书写论文(具体要求见论文模板)。四、进度安排1安排工作。2、数据库结构设计、功能设计。3、检查E-R图,关系表。4、应用系统验收。5、上交论文。五、评分标准1数据库结构正确性(30%)。2数据库结构复杂性,由题目等级决定(30%)。3设计报告完成的质量(30%)。4出勤(10%)。5成绩采用五级分制评定。六、建议参考资料1、数据库系统教程(第三版) 施伯乐等著 高等教育出版社2、根据实际情况填写3、住院部数据库系统(题目等级80)Dulia是南亚的一家中型传染病医院。由于住院部收治的基本上都是烈
4、性传染病(如爱滋病、登革热、黄热病等等),为了生活垃圾处理的方便,住院部同药房、门诊部是隔离的,位于远郊。由于地处热带,当地的传染病发病率本来就很高,加上最近双腺淋巴性鼠疫的流行,更使得本已处在一片混乱中的住院部的信息管理雪上加霜。事实上,截止2001年底,Dulia的本部已基本实现了档案管理的无纸化,只是由于地域性和资金筹备等方面的原因,住院部的数据电子化问题迟迟未得到解决。这样,住院部实际上已同药房、门诊部产生了信息处理层次上的脱节。目前,在州政府的支持下,Dulia领导层终于决定租用光缆,将本部与住院部的系统进行连接,并全面升级住院部的信息管理系统。本小组被授权设计该系统的数据库部分。通
5、过调研,我们发现以下几个方面存在严重的问题:1. 病历的电子化问题。由于病情发展、变化,病人需要在不同的医生处接受不同的治疗,但接手的医生往往得不到病史资料,或还得重写一份病人简史,造成人力、资源上很大的浪费以及时间上的不及时。2. 对医护人员缺乏有效、合理的管理。有护士向我们抱怨她连值三个夜班,整整四十八小时没闭眼,而她的同事却按正常日程上班,或还有的同事工作时间没事可干。而医生方面也存在着类似的问题。3. 缺乏对药品存货的严格管理。(住院部有自己的药品仓库。)就拿血液仓库来说,有一次血库工人将待处理的爱滋病病人的废血当作O型血输给一例出血性麻风病人,结果造成了近五年最大的一起医疗纠纷和社会
6、丑闻。4. 以床位为代表的医疗器械的管理。Dulia的出入院受理处非常繁忙,每天有大量病人进出。在一个病人出院,下一个病人入院的时候,有很长一段时间病床是空着的,而这个信息并没得到及时的更新,住院部居然不能很快的安排下一个病人进驻这张病床。所以,经常出现病房里明明有空位,外面却有很多病人没有床位的情况。有时甚至还会有两个病人被注册在一张病床上的事情发生。经以上分析,我们一致认为,该住院部有以下几方面的信息需求:1. 病人的信息需求:包括病人本身的信息和病历信息,及住院期间的费用信息等。2. 住院部工作人员的工作信息需求:除包括工作人员自身状况信息、月薪等信息外,还要有医生正在给多少病人看病的医
7、生工作信息、护士值班情况信息,以及这些安排是否合理以便进行人事管理。3. 药品信息需求:尤其是住院部药品仓库库存状况,药品使用状况,药品计量等信息。4. 住院部内各种设施使用状况信息:尤其是床位使用状况信息,还有其他设备(氧气瓶、手术台等)使用情况的信息。关键词:医院,数据库 目录住院部数据库系统(题目等级80)I第一章 需求分析概要21.1项目开发背景21.2系统分析31.2.1可行性分析31.2.2需求分析4第二章 ER图5第三章 逻辑结构53.1数据表资料5第四章 数据库的实现84.1数据库的创建84.2基本表的创建84.3数据录入134.4基本查询26第五章 总结36参考文献37第一章
8、需求分析概要1.1项目开发背景人类社会进入二十一世纪,医院作为一个特殊服务行业,其发展应适应于市场经济的发展。目前,我国的医疗体制正处于改革阶段,需要医疗市场的进一步规范化,这就要求医院加强自身的管理,利用现代化的管理工具对医院的工作进行必要的管理,无疑将提高工作效率、信息的准确程度,根除现行的人工管理模式存在着的某些弊端,达到减支增效的目的。有利于提高医疗水平和服务质量,更好的服务于社会。 -医院管理系统是利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据交换的能力,并满足所有授权用户的功能需求。 随着计算机性能不断提高,价格不断下降,计算
9、机已在医院医疗、教学、科研、管理的各个方面得到越来越广泛的应用。计算机化的医院信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。就好象一个现代化医院的成功运行离不开功能完整、美观舒适的建筑物,技术娴熟的医护人员,性能齐全、高精确的医疗设备一样,它也离不开 计算机化的医院信息系统。 计算机网络只是一种工具,如何有效地利用这一工具,关键还是在于人。医院的工作以病人为中心,如果适当改变医院原有的工作方式和流程,利用计算机管理为病人提供方便,不仅可以提高医疗水平和服务质量,同时也会相应地提高医院的经济效益和社会效益,扩大医院的声誉。 在医院管理信息系统是在今天医疗事业的迅猛发展的前提下,以
10、前的手工录入或早期的医药管理应用软件以逐渐不能满足用户的要求,而在这些问题当中,落后的医药管理已严重的影响医院工作人员的工作效率, 基于以上的原因,从而提出了医药管理管理系统的设计目标。 通过信息数据高度共享,在强大的数据库的支持下,将医院的全面管理水平和服务质量提升到更高层次。医药管理系统结合医院管理工作的特点,充分利用局域网、广域网、大型分布式数据库等先进的计算机技术,运用系统的理论与方法将医院各组成部分的信息处理过程综合成有机整体,及时而有效地为医院日常管理和发展提供决策依据,使医院信息管理工作尽快达到规范化、制度化、科学化的要求,并实现医院信息技术全电子无纸化和胶片管理的最终目标 。1
11、.2系统分析1.2.1可行性分析1.2.1.1技术可行性开发软件所需要的技术是否具备是通过该系统的目标来衡量的,一般情况下我们可以从软件的环境条件、硬件的性能要求、相应的开发及操作人员的能力水平等方面综合进行分析和考虑。 从系统开发及实施的可行性和灵活性考虑,本系统的软件开发环境主要选择了当前较为流行的Visual C#.NET来进行前台的管理设计,而后台则选用了功能强大的SQL server 2005数据库。 从硬件角度来说,要求相对较低,所以选择的空间较大,一般情况下计算机硬盘在100MB左右,内存在512M以上都是可以满足开发环境的。根据现在计算机水平的发展和普及,系统在硬件方面是可行的
12、。当然,硬件环境的配置越高,系统的开发与运行相对就会更加高效与快捷,可行性也会大幅度提高。 1.2.1.2经济可行性在软件的开发过程中,在世界上普遍采用的一种研究工程项目是否可行的科学。它通过各种有效的方法,对工程项目进行分析,从技术、经济、财务等方面加以评价,最终给投资决策者提供是否选择该项目进行投资的依据1.2.2需求分析1.病人的信息需求:包括病人本身的信息和病历信息,及住院期间的费用信息等。2.住院部工作人员的工作信息需求:除包括工作人员自身状况信息、月薪等信息外,还要有医生正在给多少病人看病的医生工作信息、护士值班情况信息,以及这些安排是否合理以便进行人事管理。3.药品信息需求:尤其
13、是住院部药品仓库库存状况,药品使用状况,药品计量等信息。4.住院部内各种设施使用状况信息:尤其是床位使用状况信息,还有其他设备(氧气瓶、手术台等)使用情况的信息。第三章 逻辑结构3.1数据表资料患者信息数据表病历信息数据表医生信息数据表护士信息数据表手术台信息数据表床位信息数据表值班种类信息数据表仓库信息数据表药品信息数据表用药信息数据表手术信息数据表床位使用信息数据表第四章 数据库的实现4.1数据库的创建create database 医院管理系统4.2基本表的创建-建数据库/表create database 住院部数据库系统use 住院部数据库系统gocreate table 医护人员(
14、工号char(5) primary key, 姓名char(20) not null, 性别char(2) check(性别=男 or 性别=女), 年龄int check(年龄0), 毕业学校char(20)gocreate 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)cr
15、eate 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), 价格
16、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 药品(药品号),用法 char(20),数量 int,primary key(处方号,药品号)create table 体检( 体检号char(5) , 体检项目char(20) , 价格money check(价格0),primary key(体检号
17、,体检项目)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(病人号
18、,医生号,诊断时间)/*create table 设备( 设备类别char(5) primary key, 收费说明char(10),-(元/次,元/天,元/ml)价格moneycreate table 床位( 设备号char(5) primary key,-(元/天)房间 char(10), 价格money check(价格0)create table 床位占用(占用编号char(5) primary key, 病人号char(5) foreign key references 病人(病人号), 设备号char(5) foreign key references 床位(设备号), 开始时间d
19、atetime, 结束时间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
20、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)
21、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), 时间datetimecreate table 仓库( 仓库号char(5) primary key, 仓库名称c
22、har(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 住院部数据库系统goinsert into 医护人员values(0001,神农,男,85,上古医学院)insert into 医护人员values(0002
23、,黄帝,男,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,白
24、求恩,男,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(001
25、6,齐正伟,男,45,江西医学院)insert into 医护人员values(0017,李家洋,男,45,四川医学院)insert into 医护人员values(0018,蔡莎莎,女,45,四川医学院)insert into 医护人员values(0019,王娟娟,女,45,宁夏医学院)insert into 医护人员values(0020,孟彬彬,男,45,河南医学院)goinsert into 医生values(0001,内科,中医草药)insert into 医生values(0002,内科,经脉)insert into 医生values(0003,全科,各种疑难杂病)insert
26、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,儿童科,感冒)goinsert into 护士values(0011,计算机)insert into 护士values(0012,自动化)insert i
27、nto 护士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,内科)goinsert 病人(病人号,姓名,性别,年龄,主治医生编号)values(0001,曹操,男,47,0005)insert 病人(病人号,姓名
28、,性别,年龄,主治医生编号)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(
29、0010,杨少明,男,13,0004)goinsert 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
30、 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)goinsert into 病历values(0001,
31、唇干,喉肿,咳嗽,属于重感冒)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,胃疼,
32、吐酸水)goinsert into 处方values(0001,0001,一天三次,一次一片,2)insert into 处方values(0002,0003,一天三次,一次ml,1)insert into 处方values(0002,0009,一天三次,一次一片,1)insert into 处方values(0003,0009,一天次,一次一片,3)insert into 处方values(0003,0010,一天三次,一次ml,4)insert into 处方values(0003,0005,一天三次,一次一片,5)insert into 处方values(0004,0007,一天三次,一
33、次一片,3)insert into 处方values(0005,0001,一天两次,一次一片,3)insert into 处方values(0007,0006,一天三次,一次一片,2)insert into 处方values(0007,0004,一次一片,3)goinsert into 体检values(0001,血常规检测,180)insert into 体检values(0002,测试骨龄,170)insert into 体检values(0003,血压检验,15)insert into 体检values(0004,尿常规检验,150)insert into 体检values(0005,胃
34、镜检测,120)insert into 体检values(0006,拍X片子,50)insert into 体检values(0007,磁共振扫描,300)insert into 体检values(0008,称体重,3)insert into 体检values(0009,量身高,3)insert into 体检values(0010,肺活量检测,30)goinsert into 诊断values(0001,0005,0003,0007,2011-1-4 18:51:36)insert into 诊断values(0001,0005,0004,0010,2011-2-4 18:51:36)ins
35、ert into 诊断values(0002,0003,0009,0002,0004,2013-5-15 7:51:36)insert into 诊断values(0003,0005,0006,0003,0002,1911-4-4 8:51:36)insert into 诊断values(0004,0009,0007,0004,1947-12-4 8:51:36)insert into 诊断values(0005,0010,0001,0001,1986-11-4 7:51:36)insert into 诊断values(0006,0010,0010,0005,1978-5-4 8:51:36)
36、insert into 诊断values(0007,0010,0002,0005,1978-2-4 8:51:36)insert into 诊断values(0008,0002,0008,0003,2012-1-4 8:51:36)insert into 诊断values(0009,0004,0005,0003,2012-1-4 8:51:36)insert into 诊断values(0010,0006,0004,0007,0006,2011-3-4 8:51:36)goinsert into 床位values(0001, 单间,80) -元/天insert into 床位values(00
37、02, 单间,80)insert into 床位values(0003, 双人间,70)insert into 床位values(0004, 单间楼下,70)insert into 床位values(0005, 四人间,60)insert into 床位values(0006, 四人间,60)insert into 床位values(0007, 四人间,60)insert into 床位values(0008, 多人间,20)insert into 床位values(0009, 多人间,20)insert into 床位values(0010, 多人间,20)goinsert 床位占用valu
38、es(0001,0002,2011-10-11 12:30,2011-12-11 12:30)insert 床位占用values(0002,0002,2012-10-11 12:30,2011-12-11 12:30)insert 床位占用values(0002,0003,2011-10-11 12:30,2011-12-11 12:30)insert 床位占用values(0001,0005,2011-10-11 12:30,2011-12-11 12:30)insert 床位占用values(0001,0006,2011-10-11 12:30,2011-12-11 12:30)inser
39、t 床位占用values(0004,0002,2011-10-11 12:30,2011-12-11 12:30)insert 床位占用values(0005,0002,2011-10-11 12:30,2011-12-11 12:30)insert 床位占用values(0006,0002,2011-10-11 12:30,2011-12-11 12:30)insert 床位占用values(0007,0002,2011-10-11 12:30,2011-12-11 12:30)insert 床位占用values(0008,0002,2011-10-11 12:30,2011-12-11 1
40、2:30)goinsert into 氧气瓶values(0001, 12,140)insert into 氧气瓶values(0002, 12,1200)insert into 氧气瓶values(0003, 12,1100)insert into 氧气瓶values(0004, 12,1300)insert into 氧气瓶values(0005, 12,1450)insert into 氧气瓶values(0006, 12,1700)insert into 氧气瓶values(0007, 12,870)insert into 氧气瓶values(0008, 12,100)insert i
41、nto 氧气瓶values(0009, 12,500)insert into 氧气瓶values(0010, 12,1005)goinsert 氧气瓶占用values(0001,0002,2011-10-11 12:30,2011-12-11 12:30,240)insert 氧气瓶占用values(0002,0004,2011-10-11 12:30,2011-12-11 12:30,240)insert 氧气瓶占用values(0003,0005,2011-10-11 12:30,2011-12-11 12:30,240)insert 氧气瓶占用values(0004,0007,2011-10-11 12:30,2011-12-11 12:30,240)insert 氧气瓶占用value