住院管理系统课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
课程名称数据库
题目名称住院管理系统
学生学院计算机学院
专业班级
学号
学生姓名
指导教师___左亚尧_____ _______ 2013年1 月17 日
目录
一、系统定义 (1)
二、需求分析 (1)
三、系统设计 (1)
四、详细设计 (4)
五、课程设计总结 (11)
六、参考文献 (11)
一、系统定义
通过一个住院管理系统的设计,使医院住院管理工作系统化、规范化、自动化,从而达到提高医院管理效率的目的。医院住院管理是医院管理系统的一个分系统,也是医院管理系统的重要组成部分。住院管理又分为病人管理和病房管理两个子系统。病人管理功能比较复杂,管理人员可以全局浏览医院的病人状况,也可以逐条浏览医院病人情况。管理人员既可以简单查询病人状况,又可以高级查询病人状况,可以添加新的病人资料,可以修改、删除已经存在的病人。病房管理用来实现对当前病床分配的情况进行查看。管理人员可以很方便的将某个病房的某些病床分配给一个病人。
二、需求分析
1.功能需求
住院管理系统应实现以下功能:病房管理模块可以很简单查询病床分配情况。可以很方便的将医院的空病床分配给住院的病人,对于没有床位的病人直接进行分配,对于已有病房的床位可以进行增减。另外还可以列出所有的空床位。
病人的管理模块,可以浏览医院当前所有病人的详细资料,可以方面的向该数据库系统中添加新入院病人的资料。对于现有病人的资料也可以通过一些简单操作来进行修改,病人出院可以对其进行删除。该病人管理模块可以提供了各种查询。
2.数据需求
某医院住院管理系统中需要如下信息:
科室:科名,科地址,科电话
病房:病房号,床位数,所属科室名
医生:工作证号,姓名,职称,年龄,所属科室名
病人:病历号,姓名,性别,诊断,病房号,床位号,主管医生
其中:一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
三、系统设计
1.概念结构设计
由需求分析可以知道:某医院住院管理系统中需要如下信息:
科室:科名,科地址,科电话
病房:病房号,床位数,所属科室名
医生:工作证号,姓名,职称,年龄,所属科室名
病人:病历号,姓名,性别,诊断,病房号,床位号,主管医生
其中:一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
则E-R图如下所示:
2.逻辑结构设计
将E-R图转换成关系模型并对关系模式进行规范化,至少达到3NF
关系模型如下:
(1)科室(科名,地址,电话)
主码:科名
(2)病房(病房号,床位数,科名)
主码:病房号外码:科名
(3)医生(医生号,姓名,职称,年龄,科名)
主码:医生号外码:科名
(4)病人(病历号,姓名,性别,诊断,病房号,床位号,医生号)
主码:病历号外码:病房号,医生号
3.物理结构设计
科室表
病房表
医生表
病人表
4.系统功能模块图
四、详细设计
1.创建对象
(1)创建数据库
CREATE DATABASE Hospital
ON primary
(
NAME = hospital,
FILENAME = 'd:\DataBase\hospital.mdf', SIZE = 30,
FILEGROWTH = 20%)
LOG ON
(
NAME = hospital_log,
FILENAME = 'd:\DataBase\hospital.ldf',
SIZE = 3MB,
FILEGROWTH = 1MB)
(2)创建基本表
--科室表
create table 科室表(
科名char(8) primary key, --列级完整性约束条件,是主码
地址char(20),
电话char(12)
)
--医生表
create table 医生表(
医生号char(10) primary key, --列级完整性约束条件,是主码
姓名char(4) unique,
职称char(20),
年龄smallint,
科名char(8),
foreign key(科名) references 科室表(科名)
--表级完整性约束条件,“科名”是外码,被参照表是“科室表”,被参照列是“科名”
)
--病房表
create table 病房表(
病房号char(4),
床位数char(2) ,
科名char(8),
primary key(病房号), --表级完整性约束,主码
foreign key(科名) references 科室表(科名)
--表级完整性约束条件,“科名”是外码,被参照表是“科室表”,被参照列是“科名”
)
--病人表
create table 病人表(
病历号char(4) primary key, --列级完整性约束条件,是主码
姓名char(8) ,
年龄smallint,
性别char(2),
诊断char(20) NOT NULL,
病房号char(4),
床位号char(4) ,
入院时间datetime,
出院时间datetime,
医生号char(10),
foreign key(病房号) references 病房表(病房号),
--表级完整性约束条件,“病房号”是外码,被参照表是“病房表”,被参照列是“病房号”