4.5 数据库逻辑结构设计
模式设计的目的是确定物理数据结构。它的主要问题是处理具体的数据库管理系统的结构约束。第三范式形式的实体及关系模型是模式设计过程的输入。我们通常用“范式”定义来对数据冗余的程度进行消除。第一范式(1NF)数据冗余很大程度上,第五范式(5NF)最小的数据冗余水平。但是,范式级别越高,则需要存储相同的数据被分解成多个表,随着范式水平的提高,数据结构的存储结构和问题的域之间的匹配程度也在不断变化的数据需求下降的时候,因此,不太稳定。第三范式是需要提高访问表中增加的水平,因此性能(速度)将减少。从实际的角度来看,选择在大多数情况下,第三范式是比较合适的。该系统的大致轮廓确定以下,一个重要的步骤就是设计一个数据库的内容以及表的设计直接影响了开发的系统的质量。在设计的过程中,考虑了设计数据表范式规则,但更重要的考虑了用户使用的方便性。根据E-R模型,该软件建立了以下逻辑数据结构。
数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。本系统的数据结构比较清晰,依据基于B2B平台的医疗病历交互系统的功能要求,主要设计出数据库的表如下:
表4.1 病人病历
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
zhanghao varchar(200) 是 NULL 账号
xingming varchar(200) 是 NULL 姓名
yiyuanbianhao varchar(200) 是 NULL 医院编号
xingbie varchar(200) 是 NULL 性别
hunyin varchar(200) 是 NULL 婚姻
nianling varchar(200) 是 NULL 年龄
xianzhudizhi varchar(200) 是 NULL 现住地址
ruyuanriqi varchar(200) 是 NULL 入院日期
zhusu longtext 是 NULL 主诉
xianbingshi longtext 是 NULL 现病史
jiwangshi longtext 是 NULL 既往史
gerenshi longtext 是 NULL 个人史
jiazushi longtext 是 NULL 家族史
tigejiancha longtext 是 NULL 体格检查
binglizhaiyao longtext 是 NULL 病历摘要
chubuzhenduan longtext 是 NULL 初步诊断
yishengzhanghao varchar(200) 是 NULL 医生账号
yishengxingming varchar(200) 是 NULL 医生姓名
表4.2 医生展示评论表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
refid bigint(20) 否 关联表id
userid bigint(20) 否 用户id
nickname varchar(200) 是 NULL 用户名
content longtext 否 评论内容
reply longtext 是 NULL 回复内容
表4.3 医院文章评论表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
refid bigint(20) 否 关联表id
userid bigint(20) 否 用户id
nickname varchar(200) 是 NULL 用户名
content longtext 否 评论内容
reply longtext 是 NULL 回复内容
表4.4 院区展示评论表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
refid bigint(20) 否 关联表id
userid bigint(20) 否 用户id
nickname varchar(200) 是 NULL 用户名
content longtext 否 评论内容
reply longtext 是 NULL 回复内容
表4.5 收藏表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
userid bigint(20) 否 用户id
refid bigint(20) 是 NULL 收藏id
tablename varchar(200) 是 NULL 表名
name varchar(200) 否 收藏名称
picture varchar(200) 否 收藏图片
表4.6 管理员表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
表4.7 文章类型
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
wenzhangleixing varchar(200) 是 NULL 文章类型
表4.8 医疗安排
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yiyuanbianhao varchar(200) 是 NULL 医院编号
zhanghao varchar(200) 是 NULL 账号
xingming varchar(200) 是 NULL 姓名
ruyuanriqi datetime 是 NULL 入院日期
ruzhukeshi varchar(200) 是 NULL 入住科室
ruzhufanghao varchar(200) 是 NULL 入住房号
yishengzhanghao varchar(200) 是 NULL 医生账号
yishengxingming varchar(200) 是 NULL 医生姓名
yongyaoanpai longtext 是 NULL 用药安排
yongyaojindu varchar(200) 是 NULL 用药进度
jianchaxiangmuanpai longtext 是 NULL 检查项目安排
xiangmujianchajindu varchar(200) 是 NULL 项目检查进度
hulianpai longtext 是 NULL 护理安排
hulijindu varchar(200) 是 NULL 护理进度
表4.9 医生
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yishengzhanghao varchar(200) 否 医生账号
mima varchar(200) 否 密码
yishengxingming varchar(200) 否 医生姓名
xingbie varchar(200) 是 NULL 性别
chushengriqi date 是 NULL 出生日期
shouji varchar(200) 是 NULL 手机
youxiang varchar(200) 是 NULL 邮箱
shenfenzheng varchar(200) 是 NULL 身份证
nianling varchar(200) 是 NULL 年龄
keshi varchar(200) 是 NULL 科室
zhicheng varchar(200) 是 NULL 职称
zhiwu varchar(200) 是 NULL 职务
gerenjianjie longtext 是 NULL 个人简介
zhuanyetezhang varchar(200) 是 NULL 专业特长
yiyuanbianhao varchar(200) 否 医院编号
zhaopian varchar(200) 是 NULL 照片
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
表4.10 医生展示
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yishengzhanghao varchar(200) 是 NULL 医生账号
yishengxingming varchar(200) 是 NULL 医生姓名
xingbie varchar(200) 是 NULL 性别
chushengriqi varchar(200) 是 NULL 出生日期
nianling varchar(200) 是 NULL 年龄
keshi varchar(200) 是 NULL 科室
zhicheng varchar(200) 是 NULL 职称
zhiwu varchar(200) 是 NULL 职务
gerenjianjie longtext 是 NULL 个人简介
zhuanyetezhang varchar(200) 是 NULL 专业特长
yiyuanbianhao varchar(200) 是 NULL 医院编号
zhaopian varchar(200) 是 NULL 照片
thumbsupnum int(11) 是 0 赞
crazilynum int(11) 是 0 踩
表4.11 医院
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yiyuanbianhao varchar(200) 否 医院编号
mima varchar(200) 否 密码
yiyuanmingcheng varchar(200) 否 医院名称
fuzeren varchar(200) 是 NULL 负责人
fuzerenshouji varchar(200) 是 NULL 负责人手机
youxiang varchar(200) 是 NULL 邮箱
fuzerenshenfenzheng varchar(200) 是 NULL 负责人身份证
表4.12 医院公告
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
biaoti varchar(200) 是 NULL 标题
neirong varchar(200) 是 NULL 内容
gonggaoshijian datetime 是 NULL 公告时间
gonggaowenjian varchar(200) 是 NULL 公告文件
gonggaotupian varchar(200) 是 NULL 公告图片
yiyuanbianhao varchar(200) 是 NULL 医院编号
表4.13 医院工作人员
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
xingming varchar(200) 否 姓名
xingbie varchar(200) 是 NULL 性别
nianling varchar(200) 是 NULL 年龄
chushengriqi date 否 出生日期
xueli varchar(200) 是 NULL 学历
bumen varchar(200) 否 部门
zhiwu varchar(200) 是 NULL 职务
keshi varchar(200) 是 NULL 科室
shenfenzheng varchar(200) 是 NULL 身份证
shouji varchar(200) 是 NULL 手机
touxiang varchar(200) 是 NULL 头像
yiyuanbianhao varchar(200) 是 NULL 医院编号
表4.14 医院科室
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
keshimingcheng varchar(200) 是 NULL 科室名称
keshileixing varchar(200) 是 NULL 科室类型
keshijianjie longtext 是 NULL 科室简介
keshirenyuan longtext 是 NULL 科室人员
keshitupian varchar(200) 是 NULL 科室图片
yiyuanbianhao varchar(200) 是 NULL 医院编号
表4.15 医院科室预约
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
keshileixing varchar(200) 是 NULL 科室类型
yiyuanbianhao varchar(200) 是 NULL 医院编号
keshimingcheng varchar(200) 是 NULL 科室名称
yuyueshijian datetime 是 NULL 预约时间
zhanghao varchar(200) 是 NULL 账号
xingming varchar(200) 是 NULL 姓名
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
表4.16 医院列表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yiyuanbianhao varchar(200) 否 医院编号
mima varchar(200) 否 密码
yiyuanmingcheng varchar(200) 否 医院名称
fuzeren varchar(200) 是 NULL 负责人
fuzerenshouji varchar(200) 是 NULL 负责人手机
youxiang varchar(200) 是 NULL 邮箱
fuzerenshenfenzheng varchar(200) 是 NULL 负责人身份证
zhanghao varchar(200) 是 NULL 账号
xingming varchar(200) 是 NULL 姓名
zhuceshijian datetime 是 NULL 注册时间
表4.17 医院文章
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
biaoti varchar(200) 是 NULL 标题
wenzhangleixing varchar(200) 是 NULL 文章类型
neirong longtext 是 NULL 内容
zuozhe varchar(200) 是 NULL 作者
shipin varchar(200) 是 NULL 视频
fabiaoshijian datetime 是 NULL 发表时间
wenzhangtupian varchar(200) 是 NULL 文章图片
yiyuanbianhao varchar(200) 是 NULL 医院编号
thumbsupnum int(11) 是 0 赞
crazilynum int(11) 是 0 踩
表4.18 医院注册
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yiyuanmingcheng varchar(200) 否 医院名称
mima varchar(200) 否 密码
fuzeren varchar(200) 是 NULL 负责人
fuzerenshouji varchar(200) 是 NULL 负责人手机
youxiang varchar(200) 是 NULL 邮箱
fuzerenshenfenzheng varchar(200) 是 NULL 负责人身份证
zhanghao varchar(200) 是 NULL 账号
xingming varchar(200) 是 NULL 姓名
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
表4.19 用户
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
zhanghao varchar(200) 否 账号
mima varchar(200) 否 密码
xingming varchar(200) 否 姓名
xingbie varchar(200) 是 NULL 性别
shouji varchar(200) 是 NULL 手机
youxiang varchar(200) 是 NULL 邮箱
shenfenzheng varchar(200) 是 NULL 身份证
zhaopian varchar(200) 是 NULL 照片
表4.20 院区展示
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yiyuanbianhao varchar(200) 是 NULL 医院编号
yuanqumingcheng varchar(200) 否 院区名称
yuanqujianjie longtext 是 NULL 院区简介
yuanqudizhi varchar(200) 是 NULL 院区地址
yuanqudianhua varchar(200) 是 NULL 院区电话
yuanquzongmianji varchar(200) 是 NULL 院区总面积
zhuanjia longtext 是 NULL 专家
keshi longtext 是 NULL 科室
yuanqutupian varchar(200) 是 NULL 院区图片