就医信息管理系统-数据库设计(数据流图、ER图、数据库建立)

本文主要介绍就医信息管理系统数据库的逻辑结构设计、概念结构设计以及数据库建立,主要包括数据流图、ER图和数据库源码。

数据流图

在这里插入图片描述

ER图

1.总ER图
在这里插入图片描述

2.医生科室关系
在这里插入图片描述

3.挂号关系
在这里插入图片描述

4.诊断结果关系
在这里插入图片描述

5.开处方关系
在这里插入图片描述

6.病人病历关系
在这里插入图片描述

7.病人费用关系
在这里插入图片描述

8.处方医嘱关系
在这里插入图片描述

9.医嘱药品关系
在这里插入图片描述

10.药品药房关系
在这里插入图片描述

数据库建立

CREATE  DATABASE  HOSPITAL;
USE HOSPITAL;
#科室
CREATE TABLE ROOM(
    RNUM CHAR(15) PRIMARY KEY ,
    RNAME CHAR(15) NOT NULL ,
    PEUPLE INT CHECK ( PEUPLE>=0 ),
    RTEL CHAR(15) NOT NULL
);

#医生
CREATE TABLE DOCTOR(
    DNUM CHAR(15) PRIMARY KEY ,
    DAGE INT CHECK ( 25<DAGE AND DAGE<80 ),          #年龄
    DNAME CHAR(15) NOT NULL ,    #姓名
    DSEX CHAR(2) CHECK ( DSEX IN('男','女')),       #性别
    RNUM CHAR(15),    #所属科室编号
    DSPC CHAR(50) ,      #擅长方向
    DPROF CHAR(15),     #职称
    DINFO TEXT(1000),   #简介
    DFEES FLOAT CHECK ( DFEES>=0 AND DFEES <=200),        #诊费
    FOREIGN KEY(RNUM) REFERENCES ROOM(RNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE
);

#病人
CREATE TABLE PAT(
    PNUM CHAR(15) PRIMARY KEY ,
    PNAME CHAR(15) NOT NULL , #姓名
    PSEX CHAR(15) CHECK ( PSEX IN('男','女')),  #性别
    PAGE INT CHECK ( PAGE>0 ),       #年龄
    PBIRTH DATE,    #出生日期
    PID CHAR(20),   #身份证号
    PSID CHAR(20),  #社保卡号
    PTEL CHAR(20),  #电话
    PETEL CHAR(20)  #紧急联系人
);

#病历
CREATE TABLE MEDRECORD(
    MNUM CHAR(20) PRIMARY KEY ,
    DNUM CHAR(15),
    PNUM CHAR(15),  #患者编号
    EMED TEXT,      #病情说明
    ADAVICE TEXT,    #医嘱
    MTIME DATE,     #时间
    FOREIGN KEY(PNUM) REFERENCES PAT(PNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE,
    FOREIGN KEY (DNUM) REFERENCES DOCTOR(DNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE
);

#挂号
CREATE TABLE REGIS(
    RENUM CHAR(15) PRIMARY KEY ,
    RNUM CHAR(15),   #科室编号
    DNUM CHAR(15),   #医生编号
    PNUM CHAR(15),  #患者编号
    PDISC TEXT,     #患者描述
    PTIME DATETIME, #挂号时间
    STAUS CHAR(4) CHECK ( STAUS IN ('已挂号','已就诊','已开处方')), #状态
    FOREIGN KEY (PNUM) REFERENCES PAT(PNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE,
    FOREIGN KEY (RNUM) REFERENCES ROOM(RNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE,
    FOREIGN KEY (DNUM) REFERENCES DOCTOR(DNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE
);

#消费记录
CREATE TABLE CONSRECORD(
    RECNUM CHAR(15) PRIMARY KEY ,
    PNUM CHAR(15), #患者编号
    PRNUM CHAR(15),#处方编号
    DFEES FLOAT CHECK ( DFEES>=0 ),  #诊费
    DRAFEES FLOAT CHECK ( DRAFEES>=0 ), #药品总费用
    AFEES FLOAT CHECK ( AFEES>=0),  #总费用
    STATUS CHAR(5) CHECK ( STATUS IN ('已支付','未支付') ), #状态
    FOREIGN KEY (PNUM) REFERENCES PAT(PNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE,
    FOREIGN KEY (PRNUM) REFERENCES PRESCRI(PRNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE
);

#药品
CREATE TABLE DRUG(
    DRNUM CHAR(15) PRIMARY KEY ,
    DENAME CHAR(15), #名称
    DECATE CHAR(30) , #类别
    DEFEES FLOAT CHECK ( DEFEES>=0 ),   #价格
    PHNUM CHAR(15), #药房编号
    INVENT INT CHECK ( INVENT>=0 )     #总量
);

#药房
CREATE TABLE PHARMACY(
    PHNUM CHAR(15) PRIMARY KEY ,
    PHNAME CHAR(15) #药房名
);

#开处方关系
CREATE TABLE PRESCRI(
    PRNUM CHAR(15) PRIMARY KEY ,
    DNUM CHAR(15), #医生编号
    PNUM CHAR(15),#患者编号
    PRTIME DATETIME,
    FOREIGN KEY (PNUM) REFERENCES PAT(PNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE,
    FOREIGN KEY (DNUM) REFERENCES DOCTOR(DNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE
);

#处方
CREATE TABLE PRESCTIPTION(
    PRENUM CHAR(15) PRIMARY KEY ,
    PRNUM CHAR(15),
    DRNUM CHAR(15), #药品编号
    WAY CHAR(15), #用药方法
    COUNT INT CHECK ( COUNT>0 ),
    FOREIGN KEY (DRNUM) REFERENCES DRUG(DRNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE,
    FOREIGN KEY (PRNUM) REFERENCES PRESCRI(PRNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE
);

#患者账户表
CREATE TABLE P_ACCOUNT(
    U_TYPE CHAR(5),
    U_NAME CHAR(20) PRIMARY KEY ,
    U_PASS CHAR(50),
    PNUM CHAR(15),
    FOREIGN KEY (PNUM) REFERENCES PAT(PNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE
);

#医生账户表
CREATE TABLE D_ACCOUNT(
    U_TYPE CHAR(5),
    U_NAME CHAR(20) PRIMARY KEY ,
    U_PASS CHAR(50),
    DNUM CHAR(15),
    FOREIGN KEY (DNUM) REFERENCES DOCTOR(DNUM)
    ON DELETE CASCADE  ON UPDATE CASCADE
);


/*                            创建视图                     */
#医生科室账号
create view r_doc_acc
as
select DOCTOR.DNUM,ROOM.RNUM,DNAME,DSEX,DAGE,RNAME,DPROF,DSPC,DFEES,U_NAME,DINFO
from doctor,room,d_account
where DOCTOR.RNUM=ROOM.RNUM
and DOCTOR.DNUM=D_ACCOUNT.DNUM;

#挂号视图
create view res_p_d
as
select RENUM,REGIS.DNUM,REGIS.PNUM,PDISC,PTIME,STAUS,DNAME,PNAME,PID,PAGE,PSEX,PETEL,PTEL
from pat,doctor,regis
where REGIS.DNUM=DOCTOR.DNUM
and REGIS.PNUM=PAT.PNUM;

#查看病历视图
create view rec_m_r
as
select MNUM,RENUM,MEDRECORD.DNUM,MEDRECORD.PNUM,PNAME,DNAME,PDISC,EMED,ADAVICE,PTIME
from MEDRECORD,REGIS,PAT,DOCTOR
where MEDRECORD.DNUM=DOCTOR.DNUM
and MEDRECORD.PNUM=PAT.PNUM
and REGIS.PNUM=PAT.PNUM
and REGIS.DNUM=DOCTOR.DNUM;


#处方视图
create view pres_drug
as
select PRESCRI.PRNUM,PRENUM,PRESCRI.DNUM,PRESCRI.PNUM,PRESCTIPTION.DRNUM,DENAME,DNAME,PNAME,WAY,COUNT,DFEES ,DEFEES,INVENT,PRTIME
FROM prescri,presctiption,drug,doctor,pat
where PRESCRI.PRNUM=PRESCTIPTION.PRNUM
and PRESCTIPTION.DRNUM=DRUG.DRNUM
and PRESCRI.DNUM=DOCTOR.DNUM
and PRESCRI.PNUM=PAT.PNUM;


#账单视图
create view bill
as
select RECNUM,CONSRECORD.PRNUM,CONSRECORD.PNUM,DRNUM,CONSRECORD.DFEES,DRAFEES,AFEES,STATUS,DNAME,COUNT,DENAME,DEFEES,INVENT,PNAME,PRTIME
from consrecord,pres_drug
where CONSRECORD.PRNUM=pres_drug.PRNUM;

系统主要功能按照数据流量、流向及处理过程分为临床诊疗、药品管理、财务管理、患者管理。诊疗活动由各工作站配合完成,并将临床信息进行整理、处理、汇总、统计、分析等。本系统包括以下工作站:门诊医生工作站、药房医生工作站、医技医生工作站、收费员工作站、对帐员工作站、管理员工作站。基于Spring cloud和Spring boot 2.x 实现 *项目演示 username:演示用户 password:test 由于没有进行部署,首次加载需要等待1~2分钟,加载完成之后比较流程流畅 好不容易抓到了推免的尾巴,所以最近打算更新一下部署文档,暂时不打算再维护代码了,但会继续推出其他有意思的基于Cloud的项目,欢迎关注 有问题请直接 issue(如果需要数据库和真实数据请联系本人邮箱) 申明:项目为NEU实训课设本组所作,包前缀为neu,侵权必改 之前由于学校突然增加人机交互课设,所以把该项目变成Private,但很多人无情fork之后并不删除,例如 TANGKUO,我已经联系他多次,他还是不删除。只能挂个名字在这了... 持续更新中...... 前言 HIS 项目致力于打造一个完整的医疗系统,采用现阶段流行技术实现。 下一阶段计划 添置部署教程 提高代码质量 更新技术栈为最新版本,并引入新技术 本仓库包含 系统 描述 HIS-master 单体应用 his-cloud 分布式微服务应用 HIS-web 诊疗前端 HIS-app 患者前端 注:单体应用和分布式实现业务完全相同 一. 项目架构 项目开发进度 后端技术栈 技术 版本 说明 Spring Cloud Netflix Finchley.RELEASE 分布式全家桶 Spring Cloud Eureka 2.0.0.RELEASE 服务注册 Spring Cloud Zipkin 2.0.0.RELEASE 服务链路 Spring Cloud config 2.0.0.RELEASE 服务配置 Spring Cloud Feign 2.0.0.RELEASE 服务调用 Spring Cloud Zuul 2.0.0.RELEASE 服务网关 Spring Cloud Hystrix 2.0.0.RELEASE 服务熔断 Spring Cloud Turbine 2.0.0.RELEASE 服务熔断监控 Spring Boot Admin 2.0.1 服务监控 Spring Boot 2.0.3.RELEASE 容器+MVC框架 Spring Security 5.1.4.RELEASE 认证和授权框架 MyBatis 3.4.6 ORM框架 MyBatisGenerator 1.3.3 数据层代码生成 PageHelper 5.1.8 MyBatis物理分页插件 Maven 3.6.1 项目管理工具 Swagger2 2.7.0 交互式API文档 Elasticsearch 6.2.2 搜索引擎 kibana 6.2.2 数据分析和可视化平台 LogStash 6.2.2 数据采集引擎 RabbitMq 3.7.14 消息队列 Redis 3.2 缓存 Druid 1.1.10 数据库连接池 OSS 2.5.0 对象存储 JWT 0.9.1 跨域身份验证解决方案 Lombok 1.18.6 简化对象封装工具 Junit 4.12 单元测试框架 Logback 1.2.3 日志框架 Java doc ———— API帮助文档 Docker 18.09.6 应用容器引擎 Docker-compose 18.09.6 容器快速编排 前端技术栈 技术 版本 说明 Vue 2.6.10 前端框架 Vue-router 3.0.2 前端路由框架 Vuex 3.1.0 vue状态管理组件 Vue-cli ———— Vue脚手架 Element-ui 2.7.0 前端UI框架 Echarts 4.2.1 数据可视化框架 Uni-app ———— 跨平台前端框架 Mockjs 1.0.1-beta3 模拟后端数据 Axios 0.18.0 基于Promise的Http库 Js-cookie 2.2.0 Cookie组件 Jsonlint 1.6.3 Json解析组件 screenfull 4.2.0 全屏组件 Xlsx 0.14.1 Excel表导出组件 Webpack ———— 模板打包器 二. 项目展示 主页 主页 门诊医生工作台 门诊医生工作台 医技医生工作台 医技医生工作台 药房医生工作台 药房医生工作台 收银员工作台 收银员工作台 对账员工作台 对账员工作台 病历模板 病历模板 排班管理 排班管理 App挂号 App挂号 Sprin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值