欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库课程设计--医院管理系统.pdf

    • 资源ID:75949046       资源大小:1.97MB        全文页数:33页
    • 资源格式: PDF        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库课程设计--医院管理系统.pdf

    可编辑修改 欢迎下载,希望对您有帮助!内容摘要 数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。本医院管理系统是经过实地需求分析调查、通过概念机构设计与逻辑结构设计等过程后完成的一个小型管理系统,包括:对医生、护士、收费人员、病人、药品及检查的各种基本信息的查询功能,对病人病房、收费的管理功能等。同时对不同的人员授予不同的权利,保证了数据库的安全性。关键词:医院管理 需求分析 查询 住院管理 收费管理 可编辑修改 欢迎下载,希望对您有帮助!目 录 第一章 需求分析.5 1.1信息要求.5 1.2处理要求.5 1.3安全性和完整性要求.5 第二章 概念结构设计.1 2.1分E-R流程图.1 2.2总E-R流程图.4 第三章 逻辑结构设计.5 3.1关系模型.5 3.2设计用户子模式.5 第四章 物理结构设计.6 第五章 数据库实施.9 5.1创建医院管理系统.9 5.2创建必要索引.10 5.3建立视图.10 5.4建立必要的存储过程及触发器.11 第六章 数据库应用系统的实施和维护.13 总结.18 致谢.19 参考文献.20 附录.20 可编辑修改 欢迎下载,希望对您有帮助!医院管理系统 第一章 需求分析 1.1 信息要求 本系统实现了以下信息:基本信息模块:包括行政人员信息、医生信息、护士信息、收费人员信息、病人信息、病房信息、药品信息。管理信息模块:人员管理(员工、病人)、药品管理、住院部管理、收费管理。1.2 处理要求 要求本系统能够投入实际的使用并且满足基本的功能要求。要求具有较高的可靠性、安全性和易维护性,具有较高的可移植性。具体要求如下:(1)基本信息查询 该查询主要是指对医生、病人等信息的查询。(2)医患 病人来医院看病,为其选择科室,进而选择医生,对病人挂号登陆就医信息。(3)收费 病人通过自己的编号可以到收费窗口查询和缴纳自己的药费和检查费。(4)住院 对住院的病人在住院部登录信息,住院部确定病人病房病床,安排所属区域护士对病人进行辅助治疗和看护。1.3 安全性和完整性要求 该系统对不同人员进行了不同的权限设置:行政人员可以查看医院数据库中的任何信息、医生只能查询病人及病人住院的信息,收费人员只能查看收费信息。可编辑修改 欢迎下载,希望对您有帮助!第二章 概念结构设计 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 流程图 图 2-11 总体 E-R 概念模型 医生 病人 医患 收费员 住院部 缴费 住院 护士 属于 可编辑修改 欢迎下载,希望对您有帮助!第三章 逻辑结构设计 3.1 关系模型 系统中所涉及的关系如下:行政人员(行政人员编号,行政人员姓名,性别,年龄,职务,联系方式)医生(医生编号,医生姓名,性别,年龄,所属科室,联系方式)病人(病人编号,病人姓名,性别,年龄,就医科室,联系方式)住院部(病房病床编号,所属科室,是否住人)护士(护士编号,护士姓名,性别,年龄,所属科室)检查及药品(检查或药品编号,检查或药品名称,单价,检查或存放地点)收费人员(收费人员编号,收费人员姓名,性别,年龄)医患(医生编号,病人编号,就医时间)收费(收费流水账号,收费人员编号,病人编号,药品或检查编号,数量,价格)住院管理(病床号,病人编号,医生编号,护士编号,入住时间)3.2 设计用户子模式 根据用户的需求,也为了保护系统的安全性,本系统设计了下面一些视图:病人基本信息查询表(病人编号,病人姓名,性别,年龄,就医科室,联系方式,主治医生编号,主治医生姓名,就医时间);住院管理查询表(病床号,病人编号,病人姓名,所属区域,入住时间,所属区域护士编号,护士姓名);收费信息表(收费流水账号,收费人员编号,病人编号,药品或检查编号,数量,价格)。可编辑修改 欢迎下载,希望对您有帮助!第四章 物理结构设计 表 4-1 行政人员表 表 4-2 医生信息表 表 4-3 护士信息表 字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名 Ano varchar 10 Primary Key Not null 行政人员编号 Aname varchar 20 Not null 行政人员姓名 Asex char 2 行政人员性别 Aage int 行政人员年龄 Adept varchar 30 行政人员职务 Atel varchar 11 行政人员联系方式 字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名 Dno varchar 10 Primary Key Not null 医生编号 Dname varchar 20 Not null 医生姓名 Dsex char 2 医生性别 Dage int 医生年龄 Ddept varchar 30 医生所属科室 Dtel varchar 11 医生联系方式 可编辑修改 欢迎下载,希望对您有帮助!表 4-4 病人信息表 字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名 Nno varchar 10 Primary Key Not null 护士编号 Nname varchar 20 Not null 护士姓名 Nsex char 2 护士性别 Nage int 护士年龄 Ndept varchar 30 Not null 护士所属科室 字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名 Pno varchar 10 Primary Key Not null 病人编号 Pname varchar 20 Not null 病人姓名 Psex char 2 病人性别 可编辑修改 欢迎下载,希望对您有帮助!表 4-5 收费人员信息表 表 4-6 检查及药品信息表 表 4-7 病房病床信息表 表 4-8 医患关系表 表 4-9 住院信息表 Page int 病人年龄 Pdept varchar 30 Not null 病人就医科室 Ptel varchar 11 病人联系方式 字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名 Cno varchar 10 Primary Key Not null 收费人员编号 Cname varchar 20 Not null 收费人员姓名 Csex char 2 收费人员性别 Cage int 收费人员年龄 字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名 Dnum varchar 10 Primary Key Not null 检查或药品编号 Dnam varchar 20 Not null 检查或药品名称 Dprice money 检查或药品价格 Dstorage varchar 30 检查地点或药品存放处 字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名 Hbednumber char 6 Primary Key Not null 病床编号 Hdept varchar 30 病床所属科室 Hflag int Not null 病床是否住人 字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名 Dno char 6 Primary Key Not null 医生编号 Pnot varchar 30 Primary Key Not null 病人编号 DPTime int 看病时间 字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名 Pno varchar 10 Foreign Key 病人编号 Dno varchar 10 Foreign Key 医生编号 Nno varchar 10 Foreign Key 护士编号 HTime Date 入住时间 Hbednumber char 6 Primary Key Not null 病床号 可编辑修改 欢迎下载,希望对您有帮助!表 4-10 收费信息表 字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名 Tno varchar 10 Primary Key Not null 收费流水账号 Cno varchar 10 Foreign Key 收费人员编号 Pno varchar 10 Foreign Key 病人编号 Dnum varchar 10 Foreign Key 药品或检查编号 Tnumber int 数量 Tprice money 6 价格 可编辑修改 欢迎下载,希望对您有帮助!第五章 数据库实施 5.1 创建医院管理系统-创建医院管理系统数据库 CREATE DATABASE hospitalsystem ON(NAME=hospital_data,FILENAME=e:05hospital_data.mdf,SIZE=10MB,MAXSIZE=300MB,FILEGROWTH=10%)LOG ON(NAME=hospital_log,FILENAME=e:05hospital_data.ldf,SIZE=5MB,MAXSIZE=200MB,FILEGROWTH=2MB)-例举创建各类信息表 创建医生信息表 CREATE TABLE Doctor (Dno VARCHAR(10)PRIMARY KEY,Dname VARCHAR(20),Dsex VARCHAR(2),Dage INT,Ddept VARCHAR(50),Dtel VARCHAR(11);创建病人信息表 CREATE TABLE Patient(Pno VARCHAR(10)PRIMARY KEY,Pname VARCHAR(20),Psex VARCHAR(2),Page INT,Ptel VARCHAR(11),Pdept VARCHAR(50);创建医生病人关系表 CREATE TABLE Doctor_Patient(Dno VARCHAR(10),Pno VARCHAR(10),DPTime Date,PRIMARY KEY(Dno,Pno),FOREIGN KEY(Dno)REFERENCES Doctor(Dno),FOREIGN KEY(Pno)REFERENCES Patient(Pno);创建住院病人信息表 create table PHouse(Pno VARCHAR(10),Dno VARCHAR(10),Nno VARCHAR(10),HTime Date,Hbednumber CHAR(6)PRIMARY KEY,FOREIGN KEY(Dno)REFERENCES Doctor(Dno),FOREIGN KEY(Pno)REFERENCES Patient(Pno),FOREIGN KEY(Nno)REFERENCES Nurse(Nno);创建收费信息表 CREATE TABLE Charge(Tno VARCHAR(10)PRIMARY KEY,Cno VARCHAR(10),Pno VARCHAR(10),Dnum VARCHAR(10),Tnumber INT,Tprice MONEY,FOREIGN KEY(Cno)REFERENCES Charger(Cno),FOREIGN KEY(Pno)REFERENCES Patient(Pno),FOREIGN KEY(Dnum)REFERENCES Drug(Dnum);可编辑修改 欢迎下载,希望对您有帮助!5.2 创建必要索引 CREATE INDEX Administor_INDEX ON Administor(Ano);CREATE INDEX Doctor_INDEX ON Doctor(Dno);CREATE INDEX Nurse_INDEX ON Nurse(Nno);CREATE INDEX Patient_INDEX ON Patient(Pno);CREATE INDEX Drug_INDEX ON Drug(Dnum);CREATE INDEX House_INDEX ON House(Hbednumber);5.3 建立视图-创建医生信息视图 CREATE VIEW 医生信息_VIEW AS SELECT Dno 医生编号,Dname 医生姓名,Dsex 性别,Dage 年龄,Ddept 部门,Dtel 电话 FROM Doctor;SELECT*FROM 医生信息_VIEW WHERE 医生编号=D001;-创建收费人员信息视图 CREATE VIEW 收费人员信息_VIEW AS SELECT Cno 收费人员编号,Cnam 收费人员姓名,Cage 年龄,Csex 性别 FROM Charger;SELECT*FROM 收费人员信息_VIEW WHERE 收费人员编号=C001;-创建病人信息视图 CREATE VIEW 病人信息_VIEW AS SELECT Patient.Pno 病人编号,Pname 病人姓名,Psex 性别,Page 年龄,Ptel 电话,Pdept 就诊科室,Doctor.Dno 主治医生编号,Dname 主治医生姓名,DPTime 就诊时间 FROM Patient,Doctor,Doctor_Patient WHERE Patient.Pno=Doctor_Patient.Pno AND Doctor_Patient.Dno=Doctor.Dno;SELECT*FROM 病人信息_VIEW WHERE 病人编号=P001;-创建住院部管理视图 CREATE VIEW 住院部信息_VIEW AS SELECT House.Hbednumber 病房床位编号,Patient.Pno 病人编号,Pname 病人姓名,Hdept 所属区域,Nurse.Nno 所属护士编号,Nname 所属护士姓名可编辑修改 欢迎下载,希望对您有帮助!FROM House,Nurse,Patient,PHouse WHERE House.Hbednumber=PHouse.Hbednumber AND PHouse.Nno=Nurse.Nno AND PHouse.Pno=Patient.Pno;SELECT*FROM 住院部信息_VIEW WHERE 病房床位编号=240902;-创建药品信息视图 CREATE VIEW 检查及药品信息_VIEW AS SELECT Dnum 编号,Dnam 名称,Dprice 单价,Dstorage 位置 FROM Drug;-创建收费信息视图 CREATE VIEW 收费信息_VIEW AS SELECT Tno 收费编号,Cno 收费员编号,Pno 病人编号,Dnum 药品编号,Tnumber 数量,Tprice 价格 FROM Charge;5.4 建立必要的存储过程及触发器 触发器一 检查病人挂号与医生科目是否相同 CREATE TRIGGER 病人医生 ON Doctor_Patient FOR INSERT AS DECLARE DDEPT VARCHAR(20),PDEPT VARCHAR(20),DNO VARCHAR(20),PNO VARCHAR(20)BEGIN SELECT DNO=Dno FROM INSERTED SELECT PNO=Pno FROM INSERTED SELECT DDEPT=Ddept FROM Doctor WHERE Dno=DNO SELECT PDEPT=Pdept FROM Patient WHERE Pno=PNO IF(DDEPT=PDEPT)PRINT 插入成功 ELSE BEGIN PRINT 无法插入 ROLLBACK END END GO 可编辑修改 欢迎下载,希望对您有帮助!触发器二 检查病人病房科目是否相,同病床是否有人 CREATE TRIGGER 病人住院 ON PHouse FOR INSERT AS DECLARE BEDNUM VARCHAR(10),PNO VARCHAR(20),PDEPT VARCHAR(30),HDEPT VARCHAR(30),FLAG INT SELECT PNO=Pno FROM INSERTED SELECT BEDNUM=Hbednumber FROM INSERTED SELECT PDEPT=Pdept FROM Patient WHERE Pno=PNO SELECT HDEPT=Hdept FROM House WHERE Hbednumber=BEDNUM SELECT FLAG=Hflag FROM House WHERE Hbednumber=BEDNUM IF(FLAG=1)BEGIN PRINT 病房正在被使用!ROLLBACK END ELSE BEGIN IF(HDEPT!=PDEPT)BEGIN PRINT 无法插入,病人居住科室不对!ROLLBACK END ELSE UPDATE House SET Hflag=1 WHERE Hbednumber=BEDNUM END GO 插入收费信息表的存储过程 CREATE PROC 收费 TNO VARCHAR(10),CNO VARCHAR(10),PNO VARCHAR(10),DNUM VARCHAR(10),TNUMBER INT AS DECLARE TPRICE MONEY,DPRICE MONEY SELECT DPRICE=Dprice FROM Drug WHERE Dnum=DNUM SET TPRICE=TNUMBER*DPRICE INSERT INTO Charge VALUES(TNO,CNO,PNO,DNUM,TNUMBER,TPRICE)GO 可编辑修改 欢迎下载,希望对您有帮助!EXEC 收费 1111111111,C001,P001,000123,4 EXEC 收费1111111112,C001,P002,000127,3 EXEC 收费1111111113,C001,P003,000901,1 SELECT*FROM Charge;第六章 数据库应用系统的实施和维护 图 6-1 用户登录界面 用户登陆界面 请选择登陆身份 行政领导 医生 收费员 输入员工编号 退出 确认 可编辑修改 欢迎下载,希望对您有帮助!图 6-2 系统主界面 图 6-3 员工管理界面 员工管理系统 请选择所需项 医生管理 护士管理 收费人员管理 返回上一级 欢迎进入爱民医院管理系统 请选择所需功能 员工管理 病人管理 住院部管理 收费管理 检查及药品管理 返回上一级 可编辑修改 欢迎下载,希望对您有帮助!图 6-4 医生信息查询窗口 通过本窗体可以查询医生的基本信息。-创建医生信息视图 CREATE VIEW 医生信息_VIEW AS SELECT Dno 医生编号,Dname 医生姓名,Dsex 性别,Dage 年龄,Ddept 部门,Dtel 电话 FROM Doctor;SELECT*FROM 医生信息_VIEW WHERE 医生编号=D001;图 6-5 病人信息查询窗口 通过本窗口可以对病人的信息进行查询(包括:病人基本信息、主治医生及就医时间)。病人管理 请输入病人编号 确认 返回上一级 医生管理 请输入医生编号 确认 返回上一级 可编辑修改 欢迎下载,希望对您有帮助!-创建病人信息视图 CREATE VIEW 病人信息_VIEW AS SELECT Patient.Pno 病人编号,Pname 病人姓名,Psex 性别,Page 年龄,Ptel 电话,Pdept 就诊科室,Doctor.Dno 主治医生编号,Dname 主治医生姓名,DPTime 就诊时间 FROM Patient,Doctor,Doctor_Patient WHERE Patient.Pno=Doctor_Patient.Pno AND Doctor_Patient.Dno=Doctor.Dno;SELECT*FROM 病人信息_VIEW WHERE 病人编号=P001;图 6-6 住院信息查询窗口 通过本窗口可以查询病房的信息(包括:病床基本信息、病人信息、所属护士信息)。-创建住院部管理视图 CREATE VIEW 住院部信息_VIEW AS SELECT House.Hbednumber 病房床位编号,Patient.Pno 病人编号,Pname 病人姓名,Hdept 所属区域,Nurse.Nno 所属护士编号,Nname 所属护士姓名 FROM House,Nurse,Patient,PHouse WHERE House.Hbednumber=PHouse.Hbednumber AND PHouse.Nno=Nurse.Nno AND PHouse.Pno=Patient.Pno;SELECT*FROM 住院部信息_VIEW WHERE 病房床位编号=240902;DROP VIEW 住院部信息_VIEW;住院部管理 请输入所要查询的房间号 确认 返回上一级 可编辑修改 欢迎下载,希望对您有帮助!图 6-7 收费信息查询窗口 通过本窗口可以查到病人所要缴纳费用的具体信息(如具体检查费用、药品费用等)。-创建收费信息视图 CREATE VIEW 收费信息_VIEW AS SELECT Tno 收费编号,Cno 收费员编号,Pno 病人编号,Dnum 药品编号,Tnumber 数量,Tprice 价格 FROM Charge;SELECT*FROM 收费信息_VIEW WHERE 病人编号=P001;DROP VIEW 收费信息_VIEW;收费管理 返回上一级 输入病人编号 确认 可编辑修改 欢迎下载,希望对您有帮助!图 6-8 检查项目及药品信息查询窗口 通过本窗口可以查询到药品的具体信息(如数量、编号、单价、存储位置等),还可以查到检查项目的具体信息。-创建检查药品信息视图 CREATE VIEW 检查及药品信息_VIEW AS SELECT Dnum 编号,Dnam 名称,Dprice 单价,Dstorage 位置 FROM Drug;SELECT*FROM 检查及药品信息_VIEW WHERE 编号=000123;总 结 本次课程设计根据其具体情况,设计完成的是医院管理系统。通过本次课程设计巩固了刚学习的数据库理论知识,同时加强了对数据库应用方面的理解,深检查及药品管理 输入编号 返回上一级 确认 可编辑修改 欢迎下载,希望对您有帮助!刻体会到了理论结合实践的学习方法。可编辑修改 欢迎下载,希望对您有帮助!同时,在本次课程设计的完成过程中,学会了通过 Microsoft Office Excel 和C#软件来画窗体,用 Word 画 E-R 图。并且对数据库设计步骤更加熟悉,进一步学习了需求分析、概念结构设计、数据字典、系统功能模块、数据库完整性和安全性还有 SQL 语句的设计等的应用。当然,由于时间仓促和自身相关知识尚且不足,本次课程设计也存在不少不足之处。比如在考虑模块设计和各属性、实体间的关系时还不够完善,还有画出的图中可能存在不当的部分,编写的 SQL 语句也可能不够精准等。这些不足都是我在今后学习数据库相关知识时候需要加强的地方。本次课程设计学到了很多方面的知识,同时也在老师的帮助下顺利完成了。希望老师多多给予指导,在以后的学习、工作中,我会更加的努力 致 谢 本次数据库课程设计的题目是医院管理系统,在做需求分析时,我仔细思考了前一段时间我班同学住院时的具体细节,同时也感谢多名同学的鼎力相助,他们的建议使我本次课设能够更好的完成。可编辑修改 欢迎下载,希望对您有帮助!在编程过程中,我遇到了很多问题,能解决这些问题,是因为我获得了同学的帮助和老师的指导。我感谢你们,是你们帮助我将问题解决掉,让我完成了程序,收获了知识,也让我知道团队合作的重要性。在编写和调试的过程中,我们讨论和争辩的时刻是我这半年来最珍贵的记忆。通过这次课程设计,我知道了自己尚存在很多的不足,专业知识的欠缺。在今后的学习生活里,我会向你们学习,向你们看齐,继续努力。参考文献 1 王珊,萨师煊.数据库系统概论M.北京:高等教育出版社,1997:91-132可编辑修改 欢迎下载,希望对您有帮助!2 陈慧娟.数据库原理与应用北京:科学出版社,2006 3 狄文辉数据库原理与应用:SQL Server北京:清华大学出版社,2008 4 张龙祥等.数据库原理与设计.北京:人民邮电出版社,2002 5 陈志泊等.数据库原理及应用教程.北京:人民邮电出版社,2002 6 David J.Kruglinski 潘爱民、王国印译.Visual C+技术内幕(第四版).清华大学出版社.1999 7 魏亮,李春葆编著.Visual C#程序设计例学与实践.清华大学出版社.2006 8 启明工作室.VISUAL C#SQL SERVER 数据库应用系统开发与实例.人民邮电出版社 2005 9 Paul J.Fortier 等著.数据库技术大全.林瑶等译.北京:电子工业出版社,1999 10 C.J.Date 著.数据库系统导论.孟小峰等译.北京:机械工业出版社,2000 附 录USE MASTER GO CREATE DATABASE hospitalsystem可编辑修改 欢迎下载,希望对您有帮助!ON(NAME=hospital_data,FILENAME=e:05hospital_data.mdf,SIZE=10MB,MAXSIZE=300MB,FILEGROWTH=10%)LOG ON(NAME=hospital_log,FILENAME=e:05hospital_data.ldf,SIZE=5MB,MAXSIZE=200MB,FILEGROWTH=2MB)USE hospitalsystem GO -1.创建行政人员信息表 CREATE TABLE Administor(Ano VARCHAR(10)PRIMARY KEY,Aname VARCHAR(20),Asex VARCHAR(2),Aage INT,Adept VARCHAR(50),Atel VARCHAR(11);-2.创建医生信息表 CREATE TABLE Doctor (Dno VARCHAR(10)PRIMARY KEY,Dname VARCHAR(20),Dsex VARCHAR(2),Dage INT,Ddept VARCHAR(50),Dtel VARCHAR(11);-3.创建护士信息表 CREATE TABLE Nurse(Nno VARCHAR(10)PRIMARY KEY,Nname VARCHAR(20),Nsex VARCHAR(2),Nage INT,Ndept VARCHAR(30);-4.创建病人信息表 CREATE TABLE Patient(Pno VARCHAR(10)PRIMARY KEY,Pname VARCHAR(20),Psex VARCHAR(2),Page INT,Ptel VARCHAR(11),Pdept VARCHAR(50);-5.创建各项检查及药品信息表 CREATE TABLE Drug(Dnum VARCHAR(10)PRIMARY KEY,Dnam VARCHAR(20),Dprice MONEY,Dstorage VARCHAR(30);-6.创建住院部病房类型信息表(病房病床号/所属区域/标识量)CREATE TABLE House可编辑修改 欢迎下载,希望对您有帮助!(Hbednumber CHAR(6)PRIMARY KEY,Hdept VARCHAR(30),Hflag INT NOT NULL);-7.创建医生病人关系表 CREATE TABLE Doctor_Patient(Dno VARCHAR(10),Pno VARCHAR(10),DPTime Date,PRIMARY KEY(Dno,Pno),FOREIGN KEY(Dno)REFERENCES Doctor(Dno),FOREIGN KEY(Pno)REFERENCES Patient(Pno);-触发器一 检查病人挂号与医生科目是否相同 CREATE TRIGGER 病人医生 ON Doctor_Patient FOR INSERT AS DECLARE DDEPT VARCHAR(20),PDEPT VARCHAR(20),DNO VARCHAR(20),PNO VARCHAR(20)BEGIN SELECT DNO=Dno FROM INSERTED SELECT PNO=Pno FROM INSERTED SELECT DDEPT=Ddept FROM Doctor WHERE Dno=DNO SELECT PDEPT=Pdept FROM Patient WHERE Pno=PNO IF(DDEPT=PDEPT)PRINT 插入成功 ELSE BEGIN PRINT 无法插入 ROLLBACK END END GO-8.创建住院病人信息表 create table PHouse(Pno VARCHAR(10),Dno VARCHAR(10),Nno VARCHAR(10),HTime Date,Hbednumber CHAR(6)PRIMARY KEY,FOREIGN KEY(Dno)REFERENCES Doctor(Dno),FOREIGN KEY(Pno)REFERENCES Patient(Pno),FOREIGN KEY(Nno)REFERENCES Nurse(Nno);CREATE TRIGGER 病人住院 ON PHouse FOR INSERT AS DECLARE BEDNUM VARCHAR(10),PNO VARCHAR(20),PDEPT VARCHAR(30),HDEPT VARCHAR(30),FLAG INT可编辑修改 欢迎下载,希望对您有帮助!SELECT PNO=Pno FROM INSERTED SELECT BEDNUM=Hbednumber FROM INSERTED SELECT PDEPT=Pdept FROM Patient WHERE Pno=PNO SELECT HDEPT=Hdept FROM House WHERE Hbednumber=BEDNUM SELECT FLAG=Hflag FROM House WHERE Hbednumber=BEDNUM IF(FLAG=1)BEGIN PRINT 病房正在被使用!ROLLBACK END ELSE BEGIN IF(HDEPT!=PDEPT)BEGIN PRINT 无法插入,病人居住科室不对!ROLLBACK END ELSE UPDATE House SET Hflag=1 WHERE Hbednumber=BEDNUM END GO INSERT INTO PHouse VALUES(P001,D001,N003,2011-5-12,240902);INSERT INTO PHouse VALUES(P001,D001,N003,2011-6-20,241002);SELECT*FROM House;SELECT*FROM PHouse;-9.创建收费人员信息表 CREATE TABLE Charger(Cno VARCHAR(10)PRIMARY KEY,Cnam VARCHAR(20),Cage INT,Csex CHAR(2);-10.创建收费信息表 CREATE TABLE Charge(Tno VARCHAR(10)PRIMARY KEY,Cno VARCHAR(10),Pno VARCHAR(10),Dnum VARCHAR(10),Tnumber INT,Tprice MONEY,FOREIGN KEY(Cno)REFERENCES Charger(Cno),FOREIGN KEY(Pno)REFERENCES Patient(Pno),可编辑修改 欢迎下载,希望对您有帮助!FOREIGN KEY(Dnum)REFERENCES Drug(Dnum);-插入收费信息表的存储过程 CREATE PROC 收费 TNO VARCHAR(10),CNO VARCHAR(10),PNO VARCHAR(10),DNUM VARCHAR(10),TNUMBER INT AS DECLARE TPRICE MONEY,DPRICE MONEY SELECT DPRICE=Dprice FROM Drug WHERE Dnum=DNUM SET TPRICE=TNUMBER*DPRICE INSERT INTO Charge VALUES(TNO,CNO,PNO,DNUM,TNUMBER,TPRICE)GO EXEC 收费 1111111111,C001,P001,000123,4 EXEC 收费1111111112,C001,P002,000127,3 EXEC 收费1111111113,C001,P003,000901,1 SELECT*FROM Charge;/*创建索引*/CREATE INDEX Administor_INDEX ON Administor(Ano);CREATE INDEX Doctor_INDEX ON Doctor(Dno);CREATE INDEX Nurse_INDEX ON Nurse(Nno);CREATE INDEX Patient_INDEX ON Patient(Pno);CREATE INDEX Drug_INDEX ON Drug(Dnum);CREATE INDEX House_INDEX ON House(Hbednumber);/*创建视图*/-创建医生信息视图 CREATE VIEW 医生信息_VIEW AS SELECT Dno 医生编号,Dname 医生姓名,Dsex 性别,Dage 年龄,Ddept 部门,Dtel 电话 FROM Doctor;SELECT*FROM 医生信息_VIEW WHERE 医生编号=D001;-创建护士信息视图 CREATE VIEW 护士信息_VIEW AS SELECT Nno 护士编号,Nname 护士姓名,Nsex 性别,Nage 年龄,可编辑修改 欢迎下载,希望对您有帮助!Ndept 部门 FROM Nurse;SELECT*FROM 护士信息_VIEW WHERE 护士编号=N001;-创建收费人员信息视图 CREATE VIEW 收 费 人 员 信 息_VIEW AS SELECT Cno 收 费 人 员 编号,Cnam 收 费 人 员 姓 名,Cage 年龄,Csex 性别 FROM Charger;SELECT*

    注意事项

    本文(数据库课程设计--医院管理系统.pdf)为本站会员(深夜****等你...)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开