当前位置:文档之家› 医院病房信息管理系统

医院病房信息管理系统

医院病房信息管理系统Revised on November 25, 2020目录第一章需求分析医院信息管理系统就是对医院的医生、病人、等信息的管理。

为了方便当今我国的医疗体制正在进行改革,需要医疗市场的进一步规范化,这就利用现代化的工具对医院进行有效的管理,有利于提高医疗水平和服务质量,更好的服务于社会。

所以我们利用SQL server 2000技术设计了此医院管理数据库系统,以利用计算机完成病人入院后,对其基本信息、主治医师以及入住病房等信息进行数据库管理,有利于提高入院手续的办理速度以及对医院资源管理的效率。

医院管理系统模块图用户登录后,进入总的模板控制块,然后根据子模板控制块的选择,进行查询、修改、插入、删除。

所以信息管理系统功能模块图设计如下:医院管理系统流程图医院管理的基本业务流程如图第二章概念结构设计通常,把每一类数据对象的个体称为实体,而每一类对象的集合称为“实体集”。

而E—R模型的主要成分是实体、联系和属性。

如果用矩形框表示实体集,用带半圆的矩形表示属性,用线段连接实体集与属性,当一个属性或属性组合指定为主码时,在实体集与属性的连接上标记一斜线,则可以表示实体集及每个实体集涉及的属性,实体集之间存在各种关系,通常把这种关系称为“联系”。

联系有三类:一对一的联系(1:1);一对多的联系(1:n);多对多的联系(m:n)。

例如: 此医院系统中“科室”与“病人”,“科室”与“病房”,“病人”与“病房”等之间存在的是一对多的联系(1:n);一个医生属于一个科室,负责多个病人的诊治,一个科室有多个病房,多个医生,一个病房属于一个科室所以,此学生信息系统中实体集与实体集的联系,E—R模型如下:医生实体子E-R图病人实体子E-R图科室实体子E-R图病房实体子E-R图全局E-R图第三章逻辑结构设计E-R图到关系模式的转换:用E-R图描述了医院病房系统中实体集与实体集的联系,目的以E-R图为工具,设计关系型的数据库,即确定应用系统所使用的数据库包含那些表,以及每个表的结构是怎么样的。

对于(1:n)联系既可单独对应一个关系模式,也可以不单独对应一个关系模式,如果联系是单独对应一个关系模式,则由联系的各实体集的主码属性构成关系模式,n端的主码作为该关系模式的主码;如果联系不单独对应一个关系模式,则由联系的属性及1端的主码加入n端实体集对应关系模式中,主码仍是n端的主码。

本系统采用的是单独对应一个关系模式。

所以各实体的E-R图转换其关系模式的如下:医生表(工作证号,姓名,性别,职称,联系电话,出生日期)病人表(身份证号,姓名,性别,年龄,联系方式)科室表(科室号,科名,科地址,联系电话)病房表(病房号,床位号)第四章物理实现数据库是SQL Server 2000存储和管理的对象,从逻辑上看,SQL Server 2000数据库由存放数据的表以及支持这些数据库的存储、检索、安全性和完整性的对象所组成;从物理上看,SQL Server 2000物理数据库指用于存储数据对象的文件及文件组。

数据库创建有二个途径:一是通过企业管理器,二是查询语句。

本医院病房信息管理系统的建立是通过查询语句建立,创建如下:数据字典doctor的创建数据库是SQLServer2000存储和管理的对象查询分析器:create database hospitalon(name='hospital_data',Filename='e:\',Size=5mb,Maxsize=20mb,Filegrowth=10%)Log on(name='hospital_log',Filename='e:\',Size=2mb,Maxsize=5mb,Filegrowth=1mb)Go结果显示窗格:CREATE DATABASE 进程正在磁盘 'hospital_data' 上分配 MB 的空间。

CREATE DATABASE 进程正在磁盘 'hospital_log' 上分配 MB 的空间。

表对象的创建与操作建立数据库最重要的一步就是创建其中的数据表,即决定数据库包括哪些表,每个表中的包含哪些字段,每个字段的数据类型等。

创建表有二种途径,一是企业管理创建,二是查询语句,此设计用的是第二种。

对表的插入、修改和删除可用查询语句或界面操作来操作,但通过用查询语句操作表数据更为灵活,功能更为强大。

医生表doctor创建与操作use hospitalcreate table doctor/*医生表doctor信息的创建*/(dno varchar(20) primary key,dname varchar(16),dsex bit not null default(0),birthday datetime not null,tel char (20) ,title char(10),ono varchar(16))结果显示窗口:/*医生表doctor信息的插入*/insert into doctor values(‘结果显示窗格:/*医生表doctor信息的修改*/update doctor set birthday ='1989-11-5', title =’门诊医师’ where dno ='00001'结果显示窗格:/**医生表doctor信息的删除*/delete doctor where dno ='00001'结果显示窗格:use hospitalcreate table patient /*创建病人表 patient*/(pno varchar(20) primary key,pname varchar(16),psex bit not null default(0),birthday datetime not null,tel char (20) ,sno varchar(16),dno varchar(20)ono varchar(16))结果显示窗格:/*病人表 patient信息的插入*/Insert into patient values(,’’,‘李冰’, ‘1’, ‘1981-10-23’‘‘,’301’, ‘00002 ‘, ‘0222’)结果显示窗格:/*病人表 patient信息的修改*/update patient set dno =254 where pno =’’结果显示窗格:/*病人表 patient信息的删除*/结果显示窗格:use hospitalcreate table office(ono varchar(16) primary key,oname varchar(16),address varchar(16),tel char(20))结果显示窗口:/*科室表 office信息的插入*/insert into office values(‘0020’,‘手足科‘,‘北区6号楼’,‘’)结果显示窗格:/*科室表 office信息的修改*/’0020’结果显示窗格:/*科室表 office信息的删除*/delete office where ono ='0020'结果显示窗格:/*病房表sickroom创建与操作*/create table sickroom(sno varchar(16) primary key,num varchar(20))结果显示窗口:/*病房表sickroom信息的插入*/insert into sickroom values(’304’,’3’)结果显示窗格:/*病房表sickroom信息的修改*/update sickroom set num =5 where sno =’304’结果显示窗格:/*病房表sickroom信息的删除*/delete sickroom where sno ='304'结果显示窗格:视图视图是由一个或多个基本表(或视图)导出的数据信息,可根据用户的不同建立不同的视图。

如下三个视图以及视图的T-SQL语句:创建一个视图vw1,通过该视图可以看到每个病人的身份证号,姓名,年龄,和联系电话create view vw1(身份证号,姓名,年龄,联系电话)asselect pno,pname,year(getdate())-year(birthday),telfrom patientselect * from vw1结果显示:create view vw2asselect * from patientwhere psex='1'select * from vw2create view vw3(身份证号,姓名,所住病房号,所属科室名,主治医生)asselect pno,pname,,oname,dnamefrom patient,doctor,sickroom,officewhere = and =and =and year(getdate())-year>30select * from vw3表的T-SQL语句查询是数据库的核心操作,是数据库的其他操作(如插入、修改、删除等)的基础。

T-SQL语句对数据库的查询使用select语句。

select 语句具有灵活的使用方式和强大的功能。

如下是对医院病房数据库进行的各种查询:简单查询(1)select * from doctor where title='主治医师' /*查询主治医师的信息*/结果显示窗格:(2)select * from patient where year(getdate())-year(birthday)<20 /*查询年龄<20病人信息*/结果显示窗格:模糊查询/*查询姓王的病人的所有信息*/select * from patient where pname like '王%'嵌套查询(1)查询所有病情属于牙科的病人的所有信息。

select * from patient where ono in (select ono from office where oname='牙科')(2)查询所有被张青医生主治的男病人的姓名和病情所属科室号。

select pname,ono from patient where dno in(select dno from doctor where dname='张青') and psex='0'连接查询(1)查询所有病情属于牙科的病人的所有信息。

相关主题