仅供参考
我们数据库老师让我们设计的数据库最少要20个实体集,所以有几个实体集有一点重复
参考了csdn上面的很多大佬,感谢!!!!!!!!!!!!!!!!!!!!!!!!!
医院管理系统数据库,课程设计,SQLserver,纯代码设计_医院信息管理系统数据库_普通网友的博客-CSDN博客
数据库课程设计 医院管理系统 SQL_医院数据库管理系统_硝酸童不酸的博客-CSDN博客
医院管理数据库课程设计_医院管理系统数据库设计_呆萌小新@渊洁的博客-CSDN博客
一、数据库设计
1.1 设计目的
医院信息管理系统的开发目的是为了提高医院的信息化水平,实现医疗信息的数字化、网络化和智能化管理,提高医疗服务的质量和效率,满足患者的需求和期望,达到以下5个目的。
1.提高医疗服务的质量和效率:通过建立完善的医院信息管理系统,实现医疗信息的数字化、网络化和智能化管理,提高医疗服务的质量和效率,减少医疗事故和误诊率,提高患者的满意度和信任度。
2. 优化医院的管理和运营:通过医院信息管理系统,实现医院各个部门之间的信息共享和协作,优化医院的管理和运营,提高医院的效益和竞争力,降低医院的管理成本和风险。
3. 提高医生和护士的工作效率:通过医院信息管理系统,实现医生和护士的工作流程的数字化和自动化,减少繁琐的手工操作,提高工作效率和医疗服务的质量。
4. 保障医疗信息的安全和隐私:通过医院信息管理系统,实现医疗信息的安全和隐私保护,保护患者的个人隐私和医疗信息的安全,提高患者对医院的信任度和满意度。
5. 推动医疗信息化建设:通过医院信息管理系统,推动医疗信息化建设,促进医疗行业的信息化发展,提高医疗服务的质量和效率,推动医疗行业的可持续发展
1.2需求分析
医院数据库管理系统涉及到很多方面的内容,这主要是因为来自医院所需管理的内容十分庞大。根据政策调整,也对数据库的相关需求做出了对应的调整。
与一般的医院数据库管理系统相比,根据调研增加了一些功能。首先增加了基金会对患者的资助功能。一个基金会可以资助多名患者,一名患者也可以接受多个基金会的资助。还有医院的转运功能,由于医院的擅长领域不同,面临着转院的需求,一个患者可能面临着多次转院。除此以外,医院手术众多,一个医生会做多台手术,一名患者也可能接受多台手术,一间手术室也会进行不同的手术。
医院除了医生和护士之外还有护工这一职业,但是护工与医生护士有着不同的属性,并且一名护工可以护理多名患者,一名患者也可以由名护工进行护理。这些不同的具体需求都将影响着数据库的设计。
本课程设计模拟一般医院的信息管理情况,方便对医院信息的查询。本系统主要要求为:
能够全面的管理各种信息
本系统可以方便维护各种信息。
本系统能够方便查询各个信息表的基本信息。
能够方便实现多个信息表的连接查询、嵌套查询。
本系统能够实现有用信息的查询统计。
本系统能够实现有用信息的输出。
1.3 功能模块
1.3.1主要功能模块介绍
本管理系统主要对病人基本信息、科室基本信息、医生基本信息、病房基本信息、护士基本信息、护工基本信息、大楼基本信息、手术室基本信息、基金会基本信息、护士的分配情况等进行管理。
1.3.2主要功能模块图
功能模块图
1.4数据流程图
数据流程图1
数据流程图2
1.5数据字典
1.患者
2.护士
3.手术室
4.处方
5.休息室
6.科室
7.转运
8.探视
9.病房
10.查房
11.护工
12.手术
13.药品
14.器械
15.资助
16.家属
17.医生
18.基金会
19.病历
20.看护
21.大楼
1.6 E-R图
1.6.1局部E-R图
1.6.2全局E-R图
带属性E-R图
由于实体集较多以致带属性的E-R图不太清楚,所以将属性去掉制作了简化的E-R图。如下:
1.7关系模型(实线下划线为主码,虚线为外码)
患者(患者编号,姓名,性别,出生日期,电话,主治医师编号,血型)
病历(病历编号,患者编号,时间,诊断结果)
医生(医生编号,姓名,职称,性别,电话,科室号,休息室号)
护士(护士编号,姓名,职称,性别,电话,休息室号)
科室(科室号,科室名,科室电话,大楼号)
病房(病房号,1号床患者,2号床患者,3号床患者,
负责护士编号,大楼编号)
查房(护士编号,病房编号,查房情况)
药品(药品编号,药品名称,售价,数量,存放位置)
大楼(大楼号,大楼名,房间数,楼层功能)
休息室(休息室号,大楼号,剩余床位数)
基金会(基金会编号,基金会名称,负责人,所在城市)
资助(基金会编号,患者编号,资助金额)
处方(药品编号,病患编号,医生编号,药品数量)
家属(家属编号,姓名,电话)探视(家属编号,患者编号,探视时长)
手术室(手术室编号,手术室类型,大楼号)
手术(手术室编号,患者编号,主刀医生编号,手术进行状态)
医疗器械(器械编号,器械名称,价格,可使用科室号,使用年限)
转运(转运编号,患者编号,转移路线,转运方式,陪护医生编号)
护工(护工编号,姓名,性别,电话,出生日期,时薪,工作年份)
看护(护工编号,患者编号,看护时长,评价)
二、Sql语句
2.1创建
2.2查询语句
例1:SELECT *
FROM section
例2:SELECT medi_name
FROM medicine
例3:SELECT worker_no,2023-YEAR(worker_birth) worker_age
FROM worker
例4:SELECT medi_name,price
FROM medicine
WHERE price BETWEEN 10 AND 40
例5:SELECT *
FROM doctor
WHERE doc_name LIKE ‘叶_’
例6:SELECT *
FROM section,building
WHERE section.building_no=building.building_no
例7:SELECT *
FROM patient
WHERE chief_no IN (SELECT doc_no FROM doctor WHERE sect_no<7)
例8:SELECT *
FROM doctor,(SELECT * FROM section WHERE building_no<4) AS a
WHERE doctor.sect_no=a.sect_no
2.3授权语句
2.4插入数据
例1:INSERT INTO
doctor VALUE(1,’薛安’,’主治医师’,’男’,16398884658,1,103)
例2:INSERT INTO
patient(pati_no,pati_name,pati_sex,pati_birth,pati_tele)
VALUE(5,’方伟’,’男’,’1964-08-22′,19654845645)
2.5删除数据
例1:DELETE
FROM doctor
WHERE doc_no=2
例2:DELETE
FROM doctor
例3:DELETE
FROM doctor
WHERE sect_no IN (SELECT sect_no FROM section WHERE building_no=2)
2.6建立视图
CREATE VIEW doc1
AS
SELECT *
FROM doctor