文档库

最新最全的文档下载
当前位置:文档库 > 医院管理系统sql数据库

医院管理系统sql数据库

湖南涉外经济学院

课程设计报告

医院管理系统sql数据库

课程名称数据库原理与应用课程设计题目医院管理系统

学院信息科学与工程学院

组员

班级计科1301班

指导教师彭浩

2015年12月25日

任务分配表

医院管理系统sql数据库

摘要

信息化的今天,计算机的普及应用和信息技术、网络技术的发展给人们的工作和生活带来了极大的便利和高效,信息化、电子化已经成为节约运营成本,提高工作效率的首选。与此同时,医学技术的提高和人们生活观念的改变,使传统的医院管理机制表现出许多不足,国内的相当数量的中小型医院的信息管理工作流程还采用相对保守的人工工作方式,数据信息的查询和存储的成本较高,而且效率还很低下。

医院要紧跟时代发展的步伐和潮流,必须实现医院全面的信息化管理,为病人提供现代化的服务,提高对病人的服务水平,方便、准确、快捷地为病人提供医疗服务和医疗费用信息,进而增强病人对医院的信任和支持。当前,医院还面临着越来越激烈的市场竞争、要想在竞争中取胜,也必须采用先进的管理方法和手段。

医院信息管理系统主要采用了JAVA语言和SQL数据库结合的B/S设计模式,可以帮助医院实现对医务人员工作的考核管理,动态了解医院的经营状况等,同时也从侧面减少了医院处方的流失,提高了医院的综合管理效益与经济效益。在医院各部门之间进行数据通信,自动把信息送到各有关科室,易于实现全院性的各种统计、检索和分析。在加速培养高水平医务人员上起到了作用,极大提高信息传递速度和减少错误。

关键词:医院信息管理系统;JAVA;SQL

目录

第一章绪论 (1)

1.1系统开发背景概述 (1)

1.2 系统开发的目的与意义 (1)

第二章数据库需求分析 (2)

2.1信息要求 (2)

2.2系统构成 (2)

2.3数据流图 (3)

2.4数据字典 (3)

第三章数据库概念结构设计 (5)

第四章数据库逻辑结构设计 (7)

4.1关系模式 (7)

4.2数据模型优化 (7)

第五章数据库实施阶段 (9)

5.1数据库创建 (10)

5.2数据表查询 (13)

5.3数据表删除 (13)

5.4视图创建 (14)

5.5存储过程创建 (15)

5.5.1 存储过程的查询功能 (15)

5.5.2 存储过程的添加功能 (17)

5.5.1 存储过程的修改功能 (17)

5.5.1 存储过程的删除功能 (18)

第六章数据库运行和维护 (19)

总结 (25)

参考文献 (25)

数据库原理与应用课程设计

第一章绪论

1.1系统开发背景概述

随着计算机技术的飞速发展,计算机在医院管理中应用的普及,利用计算机实现医院管理势在必行。对于大中型医院来说,利用计算机支持医院高效率完成劳动医院管理的日常事务,是适应现代医院管理制度要求、推动医院管理走向科学化、规范化的必要条件。

目前市面上流行的信息管理系统不少。但是,对于中型医院的医院管理系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的医院管理系统。能够录入医院的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。团队完成了此课题的研究与开发,包括分析、设计、编码、测试、文档编写等内容。

1.2 系统开发的目的与意义

随着现代化社会的发展,为了抓住机遇,在竞争中占得先机,作为管理企业的一个必不可少的重要环节—在线管理的信息化、计算机化也就迫在眉捷了。开发在线管理信息系统即有宏观上的意义,那就是顺应时代信息化、现代化潮流,提高效益,促进国民经济管理的结构优化;也有微观上的意义,那就是可以提高管理的现代化程序,加强管理的信息化手段,提高工作效率,增加单位效益。

电子计算机和通信技术的快速发展使人类已经逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。当前,医院还面临着越来越激烈的市场竞争、要想在竞争中取胜,也必须采用先进的管理方法和手段。一个规划周详、设计先进的计算机信息管理网络系统是取得竞争胜利的必备手段。通过实现先进的计算机网络化管理,能为领导层的管理和决策及时提供可靠的数字依据,使管理更合理、更先进;减少人力、物力资源的浪费,降低成本;提高工作效率,提高管理效率;提高经济效益,从而提高医院的整体竞争力。建立以人事管理为中心的医院信息网络管理系统,以适应医院长期快速发展的需要,更重要的是能使患者在医院得到更加满意的治疗。

第二章数据库需求分析

2.1信息要求

由于系统的主体是医院的科室与人员,因此对系统的信息要求可分为以下几

个方面:医生信息,病人信息,护士信息,科室信息,病房信息。

a.科室信息

医院科室的基本信息,主要包括科室的科室名,地址,电话,主任。

b.医生信息

医院医生的基本信息,主要包括医生的姓名,工作证号,年龄,所属科室,

学历。

c.病房信息

医院病房的基本信息,主要包括病房的病房号、床位数、所属科室、地址。

d.护士信息

医院护士的基本信息,主要包括护士的护士编号、姓名、性别、所属科室、年龄。

e.病人信息

记录病人的基本信息,主要包括病人的病历号、姓名、性别、年龄、诊断、医生姓名、病房号、血型、所属科室。

要求本系统能够拥有一个运行和维护的界面,并可实现数据的增删改查。

2.2功能模块图

医院信息管理系统功能模块由病人信息管理系统、医务人员管理系统、病房信息管理系统组成。如下图2-1所示:

医院管理系统sql数据库

图2-1医院信息管理系统功能模块图

2.3数据流图

医院信息管理数据流图,如图2.2所示:

医院管理系统sql数据库

图2.2医院信息管理数据流图

2.4数据字典

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等五个部分进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。本次实验主要对数据字典的数据项进行分析。如表2所示:

表2 数据项

医院管理系统sql数据库

医院管理系统sql数据库

第三章数据库概念结构设计

3.1医院信息系统实体属性

医院医生的实体属性,主要包括医生的姓名,工作证号,年龄,所属科室,学历。如图3.1医生实体属性图所示:

医院管理系统sql数据库

图3.1 医生实体属性

院科室的实体属性,主要包括科室的科室名,地址,电话,主任;如图 3.2所示:

医院管理系统sql数据库

图3.2 科室实体属性

医院病房的实体属性,主要包括病房的病房号、床位数、所属科室、地址;如图3.3所示:

医院管理系统sql数据库

图3.3病房实体属性

医院护士的实体属性,主要包括护士的护士编号、姓名、性别、所属科室、年龄;

如图3.4所示:

医院管理系统sql数据库

图3.4护士实体属性

病人的实体属性,主要包括病人的病历号、姓名、性别、年龄、诊断、医生姓名、病房号、血型、所属科室。如图3.5所示:

医院管理系统sql数据库

图3.5 病人实体属性

3.2总 E-R 流程图

医院管理信息系统总 E-R如图2.6所示:

医院管理系统sql数据库

图2.6 总E-R图

第四章数据库逻辑结构设计

4.1关系模式

用户(用户名、密码)

医生(姓名、工作证号、性别、年龄、所属科室、学历)

护士(护士编号、护士姓名、性别、所属科室、年龄)

病人(病历号、姓名、性别、年龄、诊断、医生姓名、病房号、血型、所属科室)科室(科室名、科室地址、科室电话、科室主任)

病房(病房号、床位数、所属科室、地址)

4.2数据模型优化

第一步:对于1:N联系“工作”,可以在“科室”模式中加入姓名属性。

对于1:N联系“属于”,可以在“科室”模式中加入病历号属性。

对于1:N联系“拥有”,可以在“科室”模式中加入病房号属性。

这样第一步得到的模式的形式如下:

科室(科室名、科室地址、科室电话、科室主任、姓名、病历号、病房号)

第二步:对于M:N联系“分配”则生成一个新的关系模式:

分配(病房号、护士编号)

这样转换成的六个模式如下:

医生(姓名、工作证号、性别、年龄、所属科室、学历)

护士(护士编号、护士姓名、性别、所属科室、年龄)

病人(病历号、姓名、性别、年龄、诊断、医生姓名、病房号、血型、所属科室)科室(科室名、科室地址、科室电话、科室主任、姓名、病历号、病房号)

病房(病房号、床位数、所属科室、地址)

分配(病房号、护士编号)

用户(用户名、密码)

分析,关系模式的每个关系都是不可再分的原子值,即为第一范式,又因为每个非主属性都不传递依赖于模式的候选键,因此该模式集为第三范式。

通过关系模式和不断优化修改,得出如表4.1所示的医生表:

表4.1医生表

医院管理系统sql数据库

通过关系模式和不断优化修改,得出如表4.2所示的病人表:

表4.2病人表

医院管理系统sql数据库

通过关系模式和不断优化修改,得出如表4.3所示的科室表:

表4.3科室表

医院管理系统sql数据库

通过关系模式和不断优化修改,得出如表4.4所示的病房表:

表4.4病房表

医院管理系统sql数据库

通过关系模式和不断优化修改,得出如表4.5所示的护士表:

表4.5护士表

医院管理系统sql数据库

通过关系模式和不断优化修改,得出如表4.6所示的分配表:

表4.6 分配表

医院管理系统sql数据库

通过关系模式和不断优化修改,得出如表4.7所示的用户表:

表4.5用户表

医院管理系统sql数据库

第五章数据库实施阶段

完成分析与结构优化以后,开始数据库的实施阶段,本章主要以数据库的创建,数据表的增、删、改、查,视图的创建以及存储过程的创建为内容。

5.1数据库创建

create database 医院管理系统 --创建数据库

go

use 医院管理系统

go

create table 用户表 --创建用户表

(

用户名 char(20) primary key,

密码 char(20)

)

create table 科室表 --创建科室表

(

科室名 char(20) primary key,

电话 char(20) ,

科室地址 varchar(20),

科室主任 char(6)

)

create table 医生表 --创建医生表

(

工作证号 char(8) not null,

医生姓名 char(8) primary key ,

性别 char(2),

年龄 char(20),

所属科室 char(20) references 科室表,

学历 char(20),

)

create table 病房表 --创建病房表

(

病房号 char(8) primary key,

床位数 char(8),

所属科室 char(20) references 科室表,

地址 char(20)

)

create table 病人表 --创建病人表

(

病历号 char(8)primary key,

姓名 varchar(8) not null ,

性别 char(2),

年龄 char(8),

血型 varchar(4),

诊断 varchar(20),

医生姓名 char(8),

病房号 char(8) ,

所属科室 char(20) references 科室表

)

create table 护士表 --创建护士表

(

护士编号 char(8) primary key, 姓名 char(8),

性别 char(2),

年龄 char(8),

病房号 char(8) references 病房表,

)

--用户表插入数据

insert into 用户表 values('GongSheng',123456);

insert into 用户表 values('LeiXiaoRong',123456);

insert into 用户表 values('LiuHongBing',123456);

--科室表插入数据

insert into 科室表 values('内科',11111,'六楼','刘');

insert into 科室表 values('外科',22222,'二楼','龚');

insert into 科室表 values('儿科',33333,'三楼','陈');

insert into 科室表 values('妇科',44444,'四楼','雷');

insert into 科室表 values('骨科',55555,'五楼','匡');

insert into 科室表 values('急诊',66666,'一楼','李');

--医生表插入数据

insert into 医生表 values(01,'赵宝','男',30,'妇科','博士'); insert into 医生表 values(02,'前进','男',30,'内科','研究生'); insert into 医生表 values(03,'赵雅','女',26,'儿科','本科'); insert into 医生表 values(04,'白懿','女',30,'外科','本科'); insert into 医生表 values(05,'刘欣','女',42,'急诊','博士'); insert into 医生表 values(06,'孙洲','男',36,'骨科','博士'); insert into 医生表 values(07,'李白','男',28,'骨科','博士'); insert into 医生表 values(08,'杜甫','男',36,'急诊','大专');

--病房表插入数据

insert into 病房表 values(101,20,'内科','住院部一楼')

insert into 病房表 values(102,20,'外科','住院部一楼')

insert into 病房表 values(201,20,'儿科','住院部二楼')

insert into 病房表 values(202,20,'妇科','住院部二楼')

insert into 病房表 values(301,20,'骨科','住院部三楼')

insert into 病房表 values(302,20,'急诊','住院部三楼')

--护士表插入数据

insert into 护士表 values(21,'王芳','女',22,301);

insert into 护士表 values(22,'刘琼','女',23,101);

insert into 护士表 values(25,'赵雅','女',24,202);

insert into 护士表 values(23,'白清','女',25,102);

insert into 护士表 values(24,'吴赵','男',26,201);

insert into 护士表 values(26,'吴雅','女',27,201);

insert into 护士表 values(27,'莉莉','女',28,201);

insert into 护士表 values(28,'夏天','女',29,302);

--病人表插入数据

insert into 病人表 values(1501,'周一','男','64','AB','腰椎盘突出','孙洲',301,'骨科');

insert into 病人表values(1502,'胡二','男','22','AB','骨折','李白',null,'骨科');

insert into 病人表 values(1503,'郑三','女','33','B','不孕不育','赵宝',202,'妇科');

insert into 病人表values(1504,'王四','女','46','A','烧伤','白懿',102,'外科');

insert into 病人表values(1505,'李五','男','5','O','腹泻','赵雅',201,'儿科');

insert into 病人表 values(1506,'何六','男','56','O','急性阑尾炎','杜甫',302,'急诊');

insert into 病人表values(1507,'孙九','男','66','A',null,'李白',102,null);

5.2数据表查询

以下命令用于对数据库内各个表的查询。

select * from 医生表 --医生表数据查询

select * from 病房表 --病房表数据查询

select * from 病人表 --病人表数据查询

select * from 科室表 --科室表数据查询

select * from 护士表 --护士表数据查询

5.3数据表删除

以下命令用于删除数据库的表。

drop table 医生表 --医生表数据删除

drop table 病房表 --病房表数据删除

drop table 病人表 --病人表数据删除

drop table 科室表 --科室表数据删除

drop table 护士表 --护士表数据删除

5.4视图创建

为了方便数据查询以及提高查询的安全性,我们需要建立视图,以下是创建视图和视图查询的命令。

--创建视图a查看病人表

create view a

as

select *

from 病人表

--查询视图a

select * from a

--创建视图b查看那位病人没有病房

create view b

as

select 病人表.姓名

from 病人表

where 病房号 is null

--查询视图b

select * from b

--创建视图c查看每位病人相对照的护士姓名

create view c

as

select 病人表.姓名 as 病人姓名,护士表.姓名 as 护士姓名

from 病人表,护士表

where 病人表.病房号 = 护士表.病房号

--查询视图c

select * from c

--创建视图查看医生医治的病人信息

create view d

as

select 医生表.医生姓名,病人表.姓名 as 病人姓名

from 医生表,病人表

where 医生表.医生姓名 = 病人表.医生姓名

--查询视图d

select * from d

5.5存储过程创建

创建存储过程更好的实现数据的修改与删除。

5.5.1 存储过程的查询功能

--创建存储过程查询病人的病房信息

go

if exists(select * from sysobjects where name = '病人病房查询' and type = 'p')

drop proc stud_degree

go

create proc 病人病房查询

as

select 病人表.姓名,病房表.所属科室 as '病房科室',病房表.地址 as '病房地址'

from 病人表,病房表