sql医院管理系统
数据库课程设计
宠物医院信息管理系统
专 业 班 级 姓 名 学 号 指导老师
第一章 需求分析
1.1 信息要求
由于系统的使用主体是医院的管理人员,因此对系统的信息要求可分为以下几个方面:
a 、宠物信息
首先是宠物的基本信息,主要包括宠物的编号,姓名,性别,年龄,主人,联系方式等;
对于门诊,还需要就诊时间,就诊医科,就诊结果,处方记录,检查时间,检查项目,检查结果,检验时间,检验项目,检验结果等;
b 、医生信息
首先是医生的基本信息,主要包括医生的姓名,性别,出生年月,家庭住址,联系方式,医生的编码,所在医科,工龄,职称等;
对于门诊,还需要挂号费用,当天工作量,出诊时间等;
c 、各种单据,证明的信息
各种单据,证明,如医生诊断书,处方单,检验申请单,检查申请单,检验结果报告单,检查结果报告单,收款单,医疗记录,药品提领单,药品发放记录等。
d 、各种库存信息各种库存
药品、制剂、设备以及后勤劳保用品等的信息,包括入库记录,出库记录,库存量,单价等;
1.2 处理要求
要求本系统能够投入实际的使用并且满足基本的功能要求。要求具有较高的可靠性、安全性和易维护性、具有较高的可移植性。
具体要求如下: 1、挂号管理子系统
1)、就诊宠物统一编号; 2)、为宠物选择所属科室; 3)、收取挂号费用; 4)、统计日挂号数量; 5)、统计日收费金额;
2、门诊管理子系统
1)、登记宠物基本信息;
2)、建立、维护门诊病历的基本信息;
3)、输入宠物的处方和各种诊疗项目,由电脑自动划价; 4)、具有处方的作废、退费功能; 5)、查询费用明细; 3、科室管理子系统
1)、接收门诊传送的检查、检验项目; 2)、录入检查;
3)、提供检查信息到门诊部; 4、药房管理子系统
1)、接收门诊医生发送来的处方;
2)、查询处方内容,按处方内容备药、发药; 4) 、药品盘点、报损处理; 5) 、药品入、出、存的查询统计。 5、住院管理子系统
1)、住院宠物办理入出院、结账等手续;
2)、自动采集用药相关费用,如注射费、注射器费、滴管费等; 3)、录入宠物体征信息、诊断信息; 4)、公布宠物病人每日用款情况; 5)、形成住院部的收入日结算; 6、收费管理子系统
1)、接收门诊传送的处方单 2)、结算金额;
3)、处方信息自动发送到药房;
4)、检查、检验项目发送到相应医技科室; 5)、统计日收费金额;
1.3安全性与完整性要求
1、安全性要求:
a 、系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设
置其密码,保证用户身份不被盗用;
b 、系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理
数据的类别和内容;
c 、系统应对不同用户设置不同的权限,区分不同的用户。
2、完整性要求:
a 、各种信息记录的完整性,信息记录内容不能为空; b 、各种数据间相互的联系的正确性; c 、相同的数据在不同记录中的一致性。 3、确定系统的边界:
经对前面的需求调查和初步的分析,确定由计算机完成的工作时对数据进行各种管理和处理, 由手工完成的工作主要有对原始数据的录入;不能由计算机生成的,各种数据的更新,包括数据变化后的修改,数据的增加,失效数据或无用数据的删除等;以及系统的日常维护。
1.4数据流图
挂号管理数据流图
药房管理数据流图
住院管理数据流图
收费管理数据流图
第二章 概念结构设计
2.1 分 E-R 流程图
图2.1 医生概念模式
图2.2 护士概念模式
图2.3 宠物概念模式
图2.4 药品概念模式
图2.5 科室概念模式
图2.6 挂号概念模式
图2.7 门诊概念模式
图2.8 药房概念模式
图2.9 住院概念模式
图2.10 收费概念模式
2.2 总 E-R 流程图
第三章 逻辑结构设计
3.1 关系模式
医生 (医生编号、姓名、性别、电话、年龄) 护士 (护士编号、姓名、性别、电话、年龄)
宠物 (宠物编号、姓名、物种、主人姓名、联系方式) 科室 (科室名、科室地址、科室电话)
挂号室(挂号室编号、所挂科室、挂号费用、挂号时间、病历号) 药品 (药品编号、名称、数量、规格、价格) 病房 (主治医生编号、病房号、床位号、所属科室) 收费 (收费员编号、所属科室、收费项目、单项费用) 工作 (科室名、医生编号) 分配 (病房号、护士编号) 照顾 (宠物编号、护士编号) 医患 (宠物编号、医生编号) 挂号 (宠物编号、病历号) 住宿 (宠物编号、病房号) 缴费 (宠物编号、收费项目) 购药 (宠物编号、药品编号)
3.2数据模型优化
医生 (医生编号、姓名、性别、电话、年龄) 护士 (护士编号、姓名、性别、电话、年龄)
宠物 (宠物编号、姓名、物种、主人姓名、联系方式、护士编号、病房号、病历号)
科室 (科室名、科室地址、科室电话、医生编号)
挂号室(挂号室编号、病历号、所挂科室、挂号费用、挂号时间、挂号总数) 药品 (药品编号、名称、数量、规格、价格)
病房 (护士编号、病房号、床位号、床位数、所属科室) 收费 (收费员编号、所属科室、收费项目、单项费用 ) 医患 (宠物编号、医生编号) 缴费 (宠物编号、收费项目) 购药 (宠物编号、药品编号)
3.3设计用户子模式
--创建医生信息视图
CREATE VIEW 医生信息_VIEW AS
SELECT Dno ,Dname ,Dsex ,Dage, Ddept,Dtel FROM Doctor;
SELECT * FROM 医生信息_VIEW WHERE DNO='1';
--创建宠物信息视图
CREATE VIEW 宠物信息_VIEW AS
SELECT Pet.Pno, Pname, Psex, Page, Pphone, Pdept ,Doctor. Dno, Dname, FROM Pet, Doctor
WHERE Pet.Dno=Doctor.Dno; SELECT * FROM 宠物信息_VIEW WHERE 宠物编号='1';
--创建药品信息视图
CREATE VIEW 药品信息_VIEW AS
SELECT Mno, Mname, Mprice, Mqua ,Mspe FROM Medicines;
--创建收费信息视图
CREATE VIEW 收费信息_VIEW AS
SELECT Sno, Sproject, Sprice, Odept, FROM Shoufei
第四章 物理设计
4.1数据定义
1.CREATE TABLE Doctor
( Dno INT (10) NOT NULL PRIMARY KEY, Dname CHAR (20) NOT NULL, Dsex CHAR(2), Dage INT(4),
Dtel VARCHAR(20) , )
表3.1 医生信息表
2. CREATE TABLE Nurse
( Nno INT (10) NOT NULL PRIMARY KEY, Nname CHAR (20) NOT NULL, Nsex CHAR(2), Nage INT(4),
Ntel VARCHAR(20) , )
表3.2 护士信息表
3. CREATE TABLE Pet
( Pno INT (10) NOT NULL PRIMARY KEY, Pname CHAR (20), Pspecies CHAR (2O), Dno INT (10), Powner CHAR (11) Ptel VARCHAR(20) , Nno INT (20), Blno INT(20), Bfno INT(10), )
表3.3宠物信息表
4.CREATE TABLE Office
( Odept CHAR (20) NOT NULL PRIMARY KEY, Oadd CHAR (20), Ophone VARCHAR(20) , Dno int (20), )
表3.4 科室信息表
5.CREATE TABLE Guahao
( Blno INT (10) NOT NULL PRIMARY KEY, Gun INT (10), Odept CHAR(20),
Gprice DECIMAL(10), Gtime VARCHAR(20), )
表3.5挂号室信息表
6.CREATE TABLE Medicines
( Mno INT (10) NOT NULL PRIMARY KEY, Mname CHAR (20) NOT NULL, Mqua CHAR (10), Mspe VARCHAR(10), Mprice Decimal(20) , )
表3.6 药品信息表
7.CREATE TABLE Bingfang
( nno INT (10) NOT NULL PRIMARY KEY, blno INT (20) NOT NULL, bfno CHAR(10), Chuangno char (10) Odept CHAR(20), )
表3.7 病房信息表
8.CREATE TABLE Shoufei
( Sproject CHAR (20) NOT NULL PRIMARY KEY, Sno CHAR (20), Sprice DECIMAL(20) , Odept CHAR (20), )
表3.8 划价信息表
9.CREATE TABLE Yihuan
( Pno INT (20) NOT NULL PRIMARY KEY, Dno CHAR (20), )
表3.9 医患信息表
10.CREATE TABLE Jiaofei
( Pno INT (10) NOT NULL PRIMARY KEY, Sproject CHAR (20), )
表3.10 缴费信息表
11.CREATE TABLE gouyao
( Pno INT (20) NOT NULL PRIMARY KEY, Mno CHAR (20) Mqua char(20), )
表3.11 购药信息表
4.2数据查询
查询宠物号为1号的宠物所有信息 SELECT * FROM Pet
WHERE pno=1;
查询1号宠物需要服用的药 SELECT MNO FROM Fuyao WHERE pno=1;
查询2号宠物的床位号 SELECT chuangno FROM bingfang WHERE pno=2;
查询3号宠物需要缴费的项目 SELECT Sproject FROM Jiaofei WHERE pno=3;
4.3数据更新
将一个新医生元祖插入到doctor 表中
INSERT
INTO doctor(dno ,dname,dsex,dage,dphone, ) V ALUES ( ‘5’, ‘张强’,‘男’,‘45’‘12312345’,
删除编号为3号的医生
DELETE
FROM doctor WHERE dno=‘3’;
将2号医生年龄改为‘55’
UPDATE Doctor SET Dsage =55 WHERE Dno=‘2’;
)
第五章 建立触发器
宠物号加1,病床数减1
CREATE TRIGGER TRIGGER_pet ON pet FOR INSERT AS
declare @pno int ,@blno int; select @blno=blno from inserted; select @pno=pno from inserted;
update bingfang set chuangnu=chuangnu-1 where blno=@blno;
宠物号加1,挂号数加1
CREATE TRIGGER TRIGGER_guahaoshu ON pet FOR INSERT AS
declare @pno int ,@blno int; select @blno=blno from inserted; select @pno=pno from inserted;
update guahao set gcount=gcount+1 where blno=@blno; 查询 insert
into pet(pno,pname,pspecies,powner,ptel,nno,blno,bfno) values('6','cc','猫',' 琪琪','223344345','6','6','6');
后记
本次数据库课程设计的题目是医院管理系统,在做需求分析时,我仔细思考 了前一段时间我班同学住院时的具体细节,同时也感谢多名同学的鼎力相助,他 们的建议使我本次课设能够更好的完成。
在编程过程中,我遇到了很多问题,能解决这些问题,是因为我获得了同学的帮助和老师的指导。我感谢你们,是你们帮助我将问题解决掉,让我完成了程序,收获了知识,也让我知道团队合作的重要性。在编写和调试的过程中,我们讨论和争辩的时刻是我这半年来最珍贵的记忆。
通过这次课程设计,我知道了自己尚存在很多的不足,专业知识的欠缺。在今后的学习生活里,我会向你们学习,向你们看齐,继续努力。
参考文献
[1] 王 珊 , 萨 师 煊 . 数 据 库 系 统 概 论 [M]. 北 京 , 高 等 教 育 出 版社,1997:91-132,