医疗信息管理系统数据库--MySQL

20 篇文章 43 订阅
6 篇文章 7 订阅

友情连接

1、学生成绩管理系统数据库设计–MySQL

学生成绩管理系统数据库设计–MySQL

2、邮件管理数据库设计–MySQL

邮件管理数据库设计–MySQL

3、点餐系统数据库设计–SQL Server

点餐系统数据库设计–SQL Server

4、商品管理系统数据库设计–SQL Server

商品管理系统数据库设计–SQL Server

5、SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database)

SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database)

6、SQL Server电影院数据库管理系统【英文版-源码】–(Movie Theatre Management System Database)

SQL Server电影院数据库管理系统【英文版-源码】–(Movie Theatre Management System Database)

一、 数据库的创建

设计一个数据库,描述数据库的功能(100字左右)。数据库至少包含三张数据表,每张表不少于5个字段,每张表至少添加5条测试记录。要求为每张数据表设置主键,表与表之间的数据关联设置外键,字段选择合适的数据类型。

医疗信息管理系统:鉴于现在疫情严重,设计该数据库是为了方便诊所更好的实现医疗就诊信息管理,从而实现病人预约—接待员统计—医生看病—护士护理整个就诊流程所产生信息存储、查询、修改等,该数据库共包含6张表,分别为:诊所职工信息表、病人基本信息表、药品信息表、就诊预约表、病人病历记录表、处方表。

ER图

在这里插入图片描述

创建数据库
在这里插入图片描述

所有的表和视图
在这里插入图片描述

诊所职工信息表
在这里插入图片描述

病人信息表
在这里插入图片描述
药品信息表
在这里插入图片描述
病人预约表
在这里插入图片描述
病人病历信息表
在这里插入图片描述
处方表
在这里插入图片描述

二、基于数据库必须完成以下内容

2.1 数据查询

①  多表连接查询 join on
查询入职在2019年6月入职的医生中,每个医生治疗的病人,要求显示:医生姓名、治疗病人的数量,按治疗病人的数量从大到小排序;
查询语句:

SELECT  	u.name, p.number
FROM 	 	users_info AS u INNER JOIN
-- 需要完整代码请添加文章底部微信,付费咨询
	WHERE  	MONTH(u.hire_date) = 6
	ORDER BY 	p.number DESC;

查询结果:
在这里插入图片描述

②  高级查询 select 聚合函数 from where group by having
查询用药种类大于1的病人,要求显示:病人id, 姓名,病情描述、诊断结果、治疗方案,用药数量,按病人id排序
查询语句:

SELECT 		pa.pt_id,
				pa.name,
				c.description,
				c.diagnosis,
				c.therapy,
				pr.number
-- 需要完整代码请添加文章底部微信,付费咨询
		ORDER BY 	pa.pt_id;

查询结果:
在这里插入图片描述

③  子查询>= > <= = in >=all <all =any(任选2个)
查询用药相同的病人,要求显示:药品名、用药使用量,病人姓名、性别、年龄、病情描述、诊断结果、治疗方案,先按药品名升序排,后按药品使用量降序排
查询语句:

SELECT 		dr.name AS drug_name,
				pr.quantity AS dosage,
				pa.name,
				pa.gender,
				pa.age,
				ca.description,
				ca.diagnosis,
				ca.therapy
-- 需要完整代码请添加文章底部微信,付费咨询
		ORDER BY 	drug_name ASC, dosage DESC;

查询结果:
在这里插入图片描述

2.2 函数

①  自定义一个函数,要基于数据表并调用该函数。
创建函数:根据诊所职工id获取职工类型
创建语句:

DELIMITER //
CREATE FUNCTION get_user_type_by_id(id INT)
RETURNS VARCHAR(300)
BEGIN
RETURN (
-- 需要完整代码请添加文章底部微信,付费咨询
END//
	 DELIMITER ;

调用函数截图:
在这里插入图片描述

②  自定义一个函数,要求函数体中包含其中一种流程控制语句
在这里插入图片描述

创建函数:输入用户id, 查看用户薪资水平,薪资小于5000显示“一般”,大于等于5000小于10000显示“中等”,大于等于10000显示“高薪”
创建语句:

DELIMITER //
CREATE FUNCTION check_salary_level(id INT) 
RETURNS VARCHAR(8)
BEGIN
	DECLARE u_salary INT;
-- 需要完整代码请添加文章底部微信,付费咨询
END IF;
END//
DELIMITER ;

调用函数截图:
在这里插入图片描述

2.3 视图

(1) 创建检查视图,并查看视图
创建病人视图:要求显示病人基本信息和病历信息
创建语句:

	CREATE VIEW v_patients AS
	SELECT 		pa.pt_id,
-- 需要完整代码请添加文章底部微信,付费咨询

查看视图:
在这里插入图片描述

2.4 存储过程

(1) 自定义带输入参数的存储过程,完成调用。
创建存储过程:每增加一个病人,对应的诊断医生薪资自动增加99
创建语句:

DELIMITER //
	CREATE DEFINER = CURRENT_USER PROCEDURE add_patient(
-- 需要完整代码请添加文章底部微信,付费咨询
	COMMIT;
	END//
			DELIMITER ;

调用截图:
在这里插入图片描述

(2) 自定义带输入、输出参数的存储过程,完成调用。
创建存储过程:每创建一个处方,需要从药品信息表的药品库存里扣除处方所包含的相应药品数量,并输出扣除后的该药品的库存数量
创建语句:

	DELIMITER //
	CREATE DEFINER = CURRENT_USER PROCEDURE add_prescription(
-- 需要完整代码请添加文章底部微信,付费咨询
COMMIT;
END//
	DELIMITER ;

调用截图:
在这里插入图片描述

2.5 触发器

①  创建触发器,实现数据的修改 。并对比触发器执行前后的对比。
触发器功能: 实时更新药品库存量
创建语句:

DELIMITER //
CREATE TRIGGER update_info 
-- 需要完整代码请添加文章底部微信,付费咨询
END//
DELIMITER ;

触发器执行前后的对比截图:
在这里插入图片描述

  • 37
    点赞
  • 495
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
医疗信息管理系统的意义是为医疗机构提供一个高效、安全、可靠的方式来管理和存储患者的医疗信息。它可以帮助医生、护士和其他医护人员更好地管理患者的健康记录,提供准确的诊断和治疗,改善医疗质量和安全性。 具体来说,医疗信息管理系统的意义体现在以下几个方面: 1. 提高工作效率:通过电子化记录和管理患者信息,减少了传统纸质记录的繁琐过程,提高了医务人员的工作效率。他们可以通过系统快速访问患者的历史记录、检查结果、诊断报告等信息,提供更准确、及时的医疗服务。 2. 管理协调:医疗信息管理系统能够集中存储和共享患者的医疗信息,使得医护人员可以更好地共同协作和沟通。不同科室的医生可以实时查看患者的历史记录,了解其病情和治疗情况,以便进行综合分析和确保全面的医疗护理。 3. 提高医疗质量:通过医疗信息管理系统,医生可以更准确地记录和跟踪患者的病历、诊断、治疗计划和康复情况。这有助于避免信息丢失、遗漏或错误,提高医疗质量和安全性。 4. 提供决策支持:医疗信息管理系统可提供基于患者数据的分析和报告,帮助医生进行诊断和制定治疗方案。通过数据分析,医生可以更好地了解疾病的趋势和模式,提供个性化的医疗建议和预防措施。 5. 便捷患者服务:患者可以通过医疗信息管理系统预约挂号、查询检查结果、获取医嘱等服务。这样可以减少患者排队等候时间,提高就诊效率和满意度。 总之,医疗信息管理系统的意义是提高医疗机构的工作效率和服务质量,帮助医务人员更好地管理和利用患者信息,为患者提供更好的医疗护理和健康服务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值