数据库原理与应用课程设计
图3.3病房实体属性
医院护士的实体属性,主要包括护士的护士编号、姓名、性别、所属科室、年龄;如图3.4所示:
图3.4护士实体属性
病人的实体属性,主要包括病人的病历号、姓名、性别、年龄、诊断、医生姓名、病房号、血型、所属科室。如图3.5所示:
图3.5 病人实体属性
3.2总 E-R 流程图
医院管理信息系统总 E-R如图2.6所示:
医生 1 工作 N 科室 N N 拥有 病人 1 属于 数据库原理与应用课程设计
1 护士 N 分配 图2.6 总E-R图
M 病房 第四章 数据库逻辑结构设计
4.1关系模式 用户(用户名、密码)
医生(姓名、工作证号、性别、年龄、所属科室、学历) 护士(护士编号、护士姓名、性别、所属科室、年龄)
病人(病历号、姓名、性别、年龄、诊断、医生姓名、病房号、血型、所属科室) 科室(科室名、科室地址、科室电话、科室主任) 病房(病房号、床位数、所属科室、地址) 4.2数据模型优化
第一步:对于1:N联系“工作”,可以在“科室”模式中加入姓名属性。 对于1:N联系“属于”,可以在“科室”模式中加入病历号属性。 对于1:N联系“拥有”,可以在“科室”模式中加入病房号属性。 这样第一步得到的模式的形式如下:
科室(科室名、科室地址、科室电话、科室主任、姓名、病历号、病房号)
第二步:对于M:N联系“分配”则生成一个新的关系模式: 分配(病房号、护士编号) 这样转换成的六个模式如下:
医生(姓名、工作证号、性别、年龄、所属科室、学历) 护士(护士编号、护士姓名、性别、所属科室、年龄)
病人(病历号、姓名、性别、年龄、诊断、医生姓名、病房号、血型、所属科室) 科室(科室名、科室地址、科室电话、科室主任、姓名、病历号、病房号) 病房(病房号、床位数、所属科室、地址) 分配(病房号、护士编号)
数据库原理与应用课程设计
用户(用户名、密码)
分析,关系模式的每个关系都是不可再分的原子值,即为第一范式,又因为每个非主属性都不传递依赖于模式的候选键,因此该模式集为第三范式。
通过关系模式和不断优化修改,得出如表4.1所示的医生表:
表4.1医生表
字段名称 工作证号 姓名 性别 年龄 学历 所属科室 数据类型 char(8) char(8) char(2) char(20) char(20) Char20) 是否允许空 否 否 是 是 是 是 备注 主键 外键
通过关系模式和不断优化修改,得出如表4.2所示的病人表:
表4.2病人表
字段名称 病历号 姓名 性别 年龄 病房号 医生姓名 诊断 血型 所属科室
数据类型 char(8) char(8) char(2) char(8) char(8) char(8) varchar(20) varchar(4) char(20) 是否允许空 否 否 是 是 是 是 是 是 是 备注 主键 外键
通过关系模式和不断优化修改,得出如表4.3所示的科室表:
表4.3科室表
字段名称 科室名 科室主任 电话
数据类型 char(20) char(6) char(20) 是否允许空 否 是 是 备注 主键 数据库原理与应用课程设计
科室地址 varchar(20)
是
姓名 病房号 病历号
char(8) char(8) char(8) 否 是 否 主键 主键
通过关系模式和不断优化修改,得出如表4.4所示的病房表:
表4.4病房表
字段名称 病房号 床位数 所属科室 地址
数据类型 char(8) char(8) char(20) char(20) 是否允许空 否 是 是 是 备注 主键 外键
通过关系模式和不断优化修改,得出如表4.5所示的护士表:
表4.5护士表
字段名称 护士编号 姓名 性别 年龄 病房号
数据类型 char(8) char(8) char(2) char(8) char(8) 是否允许空 否 是 是 是 是 备注 主键 外键
通过关系模式和不断优化修改,得出如表4.6所示的分配表:
表4.6 分配表
字段名称 数据类型 char(8) 病房号 护士编号 char(8) 是否允许空 否 是 备注
通过关系模式和不断优化修改,得出如表4.7所示的用户表:
表4.5用户表
数据库原理与应用课程设计
字段名称 用户名 密码
数据类型 char(10) char(10) 是否允许空 否 否 备注 主键
第五章 数据库实施阶段
完成分析与结构优化以后,开始数据库的实施阶段,本章主要以数据库的创建,数据表的增、删、改、查,视图的创建以及存储过程的创建为内容。 5.1数据库创建
create database 医院管理系统 --创建数据库 go
use 医院管理系统 go
create table 用户表 --创建用户表 (
用户名 char(20) primary key, 密码 char(20) )
create table 科室表 --创建科室表 (
科室名 char(20) primary key, 电话 char(20) , 科室地址 varchar(20),
医院管理系统sql数据库
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)