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

2023-11-01

友情连接

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 ;

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

医疗信息管理系统数据库--MySQL 的相关文章

随机推荐

  • 分治法求最近点对问题

    目录 蛮力法 分治法 探究分治规模小于一定程度时采用暴力解法 蛮力法 算法思想 蛮力法 顾名思义 即穷举所有点与点之间的距离 两层循环暴力找出最近点对 算法执行可视化如图1所示 word文档GIF静态显示 附件已含动图 图1 伪代码 mat
  • Vscode 代码插件 Code Runner,一键运行代码

    Vscode 代码插件 Code Runner 一键运行代码 为了方便可以安装代码运行插件进行简单化运行 不用终端运行 Code Runner插件 一键运行代码 支持40多种语言 安装这种插件后面 可以鼠标放到代码文件上面 点击鼠标右键有个
  • Linux三种修改打开文件数量限制的方法

    系统环境 Centos7 为什么要限制打开文件的数量 因为操作系统需要内存来管理每个文件 所以可以打开的文件数可能会受到限制 由于程序也可以关闭文件处理程序 它可以创建任意大小的文件 直到所有可用磁盘空间都已满为止 在这种情况下 安全性的一
  • 华为OD机试 - 字符串反转(C++ & Java & JS & Python)

    目录 描述 输入描述 输出描述 示例1 Java C python 描述 接受一个只包含小写字母的字符串 然后输出该字符串反转后的字符串 字符串长度不超过1000
  • QT接入聊天机器人(OpenAI)

    QT接入聊天机器人 OpenAI 下面的是引用的中国日报对chatgpt的描述 中国日报网2月17日电 综合外媒报道 近段时间来 由美国人工智能公司OpenAI推出的大语言模型ChatGPT在全球科技界和产业界刮起了一场 旋风 数据显示 自
  • 布萌区块链底层技术介绍,看完就能搭私链

    布萌是做什么的 布萌是一个使用区块链技术搭建的数字资产网络 任何拥有资产的机构 个人都可以在这个网络上发行自己的数字资产 例如数字黄金 积分 游戏装备等 资产在网络中可以自由兑换和流通 链上资产的交易流通将不依赖于任何中心化系统 因为服务器
  • VUE----watch和compute

    1 computed 计算属性 computed是一个对象 而里面需要计算的属性是一个函数的返回值 计算属性默认只有getter 可以在需要的时候自己设定setter 在data中没有直接声明出要计算的变量 也可以直接在computed中写
  • Good Bye 2021: 2022 is NEAR

    A Integer Diversity 题目 思路分析 就是给你一个序列 通过改变数字的正负 可以得到最大不同数字的个数是多少 代码分析 include
  • 离散数学中Warshall算法简析【离散数学】

    算法的自己的语言描述 i行j列 依次遍历邻接矩阵中的所有元素M j i 就是这里让人感到别扭 比如按照先列后行进行 如果M j i 0 那么就把i行加到第j行上 尝试过 遍历M i j j加到i行的情况 以下是例子 include
  • 架构师成长之路|Redis配置文件参数讲解

    Redis conf文件 官网Redis文档链接 Redis官网 官网Redis config配置文件参数讲解 https redis io docs management config Redis conf参考模板例子 https red
  • js中元素样式设置的六种方法

    元素的样式设置六种方法 1 对象 style 2 对象 className 3 对象 setAttribute style 4 对象 setAttribute class 5 对象 style setProperty CSS属性 CSS属性
  • 回文串(增减版)

    题目描述 如何判断一个字符串在任意位置 包括最前面和最后面 插入一个字符后能不能构成一个回文串 输入描述 仅一行 为一个由字母和数字组成的字符串 s 输出描述 如果在插入一个字符之后可以构成回文串 则输出 Yes 否则输出 No 输入 ap
  • echarts里面如何设置仪表盘图表里面数字的颜色

    一 问题 仪表盘里面是数值颜色与背景不符 数字颜色太暗了 如下图所示 二 改变仪表盘数字刻度颜色的代码 axisLabel color auto auto就是和所在区域的颜色保持一致 distance 40 fontSize 20 三 整个
  • TensorFlow DLL文件缺失的解决方案:cudnn64_8.dll not found&cusolver64_10.dll not found

    本文目的 解决cublas64 11 dll not found cublasLt64 11 dll not found cufft64 10 dll not found curand64 10 dll not found cusolver
  • Solidity 文档--第一章:智能合约入门

    一个简单的智能合约 先从一个非常基础的例子开始 不用担心你现在还一点都不了解 我们将逐步了解到更多的细节 存储 contract SimpleStorage uint storedData function set uint x store
  • python中将字符变为大写_python如何把小写字母变成大写字母

    python为我们提供了 upper 方法 该方法可以将字符串中的小写字母转为大写字母 语法 str upper 返回值 返回小写字母转为大写字母的字符串 代码示例 usr bin python str this is string exa
  • zxing 二维码扫描优化

    先罗列优化点 1 优化扫描精度 增加解析成功率 hints put DecodeHintType TRY HARDER Boolean TRUE 2 生成图片 用于被解析 时不剪切图片 增加二维码图片的完整性 优化前 new PlanarY
  • js上拉加载更多

    感谢原作者
  • Unity3D相关知识点笔记汇总

    这篇文章将作为一些平时的小知识点笔记来记录 如果有错误望指出来 也欢迎大家在评论底下分享你们的笔记 1 检测点击或者触摸到UI public static bool CheckClickUI bool isClickUI false if
  • 医疗信息管理系统数据库--MySQL

    医疗信息管理系统数据库 MySQL 友情连接 1 学生成绩管理系统数据库设计 MySQL 2 邮件管理数据库设计 MySQL 3 点餐系统数据库设计 SQL Server 4 商品管理系统数据库设计 SQL Server 5 SQL Ser