数据库课程设计文档自己做的.docx

上传人:b****8 文档编号:10041576 上传时间:2023-02-08 格式:DOCX 页数:19 大小:385.19KB
下载 相关 举报
数据库课程设计文档自己做的.docx_第1页
第1页 / 共19页
数据库课程设计文档自己做的.docx_第2页
第2页 / 共19页
数据库课程设计文档自己做的.docx_第3页
第3页 / 共19页
数据库课程设计文档自己做的.docx_第4页
第4页 / 共19页
数据库课程设计文档自己做的.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数据库课程设计文档自己做的.docx

《数据库课程设计文档自己做的.docx》由会员分享,可在线阅读,更多相关《数据库课程设计文档自己做的.docx(19页珍藏版)》请在冰豆网上搜索。

数据库课程设计文档自己做的.docx

数据库课程设计文档自己做的

数据库的设计

课题名称:

住院管理信息系统

班级:

信工08-1BF

学号:

14083901153

姓名:

杨上霈

 

信息与通信工程学院

2011年06月14日

 

一设计目的

基于sqlserver2000,并以vc6.0为编程环境设计的一个住院管理信息系统.

由于本系统主要针对于住院病人及其费用的管理,因此医生,检查项目,药品名称等信息都已经存在,不需要进行入库。

二功能分析

◆病人住院登记

◆病人处方(给病人开药)

◆病人检查检验项目开立(检查项目包括:

验血、验大小便、做透视、做CT等等)

◆病人出院及费用结算

◆收费信息查询

◆病人住院登记查询

三、系统的数据库设计

1.需求分析:

1)用户将从数据库中获得医院信息,包括住院信息,处方信息,检查信息,出院信息,收费信息等,从而需要建立以上各个信息的模块来实现数据交互。

2)用户要完成查询,添加,浏览等处理功能。

3)安全性,协调性和完整性。

当用户添加病历号和床位号时,要保证病历号和床位号不能重复,所以对数据进行添加,修改,删除,浏览进行监控,进行出错提示及处理。

通过以上分析,得到系统业务流图及功能模块图:

1

病人

数据流图(DFD)

登记住院

检查病情

住院管

理系统

登陆开处方

收费

出院结算

图1系统数据流图

②本系统的主要功能是:

(1)添加、查询病人住院信息

(2)医生为病人检查项目录入信息

(3)开处方

(4)换病房

(5)病房使用信息查询

(6)出院及费用结算

③本系统的功能模块图如下:

图2:

系统功能模块图

4).数据字典(DD):

本系统需要使用的数据包括以下关系

科室

字段名

存储类型

备注

科室号

Nchar(10)

科室所在的房间编号(主键)

科室名

Char(20)

科室电话

Char(10)

医生

字段名

存储类型

备注

工作证号

Char(10)

(主键)

姓名

Char(10)

职称

Char(10)

所属科室号

Nchar(10)

出生日期

Datetime(8)

病房

字段名

存储类型

备注

病房号

Char(10)

病房房间号(主键)

一号床位号

Char(4)

使用情况(已用,未用)

二号床位号

Char(4)

使用情况(已用,未用)

三号床位号

Char(4)

使用情况(已用,未用)

四号床位号

Char(4)

使用情况(已用,未用)

所属科室和

Char(4)

使用情况(已用,未用)

住院

字段名

存储类型

备注

病历号

Char(10)

递增1(主键)

姓名

Char(8)

病人姓名

床位号

Char(10)

房间号+床位号

性别

Char

(2)

诊断

Ntext(16)

主管医生编号

Char(10)

住院日期

Datetime(8)

检查名目

字段名

存储类型

备注类型

项目编号

Char(10)

(主键)

项目名称

Nchar(10)

项目单价

Int(4)

处方

字段名

存储类型

备注

编号

Nchar(10)

递增1(主键)

病历号

Nchar(10)

处方

Ntext(16)

开方医生编号

Nchar(10)

记录日期

Datetime(8)

费用

Char(10)

结算状态

Char(6)

已结算,未结算

住院检查开支

字段名

存储类型

备注

项目编号

Char(10)

(主键)

病历号

Char(10)

检查项目内容

Char(10)

存储项目名称,且名称之间用","隔开

记录日期

Datetime(8)

结算状态

nChar(10)

费用

Char(10)

出院

字段名

存储类型

备注

病历号

Char(10)

从住院表中复制(主键)

姓名

Char(8)

从住院表中复制

性别

Char

(2)

从住院表中复制

诊断

Ntext(16)

从住院表中复制

主管医生编号

Char(10)

从住院表中复制

病房号

Char(10)

从住院表中复制

住院日期

Datetime(8)

从住院表中复制

出院日期

Datetime(8)

总费用

Char(10)

住院检查开支+处方开支

管理员信息

字段名

存储类型

备注

管理员帐号

Char(10)

(主键)

管理员姓名

Char(8)

登录密码

Char(10)

性别

Char

(2)

出生日期

Datetime(8)

联系方式

Char(10)

2.概念结构设计:

根据需求分析,得到系统E-R图如下

图3:

系统E-R图

3.逻辑结构设计:

(1).将上面E-R图转换为关系模型,关系的码为黑体字加下划线。

病人(病历号,姓名,性别,住院日期,床位号,主治医生编号)

此为病人实体对应的关系模式,其中病历号是码。

医生(工作证号,姓名,职称,出生日期,所属科室号)

此为医生实体对应的关系模式,其中工作证号是码。

病房(房号,床号)

此为实体病房对应的关系模式,其中(房号)是码。

(2).设计用户子模式

为医生建立视图:

病人(病历号,姓名,性别,住院日期,床位号,主治医生编号)

定义医生存取权限:

为添加,查询

(3).数据库中库和表的定义(见以下SQL代码)

数据库的建立

CREATEDATABASEhospital--数据库名为hospital

ON

(NAME=hospital_data,--数据库的逻辑名为hospital_data

FILENAME=‘E:

\sql_data\shospital.mdf’,--数据库的物理名

SIZE=10MB,--数据库的初始大小为10MB

MAXSIZE=50MB,--数据库的最大容量为50MB

FILEGROWTH=10%--数据库容量自动按10%的比例增长

LOGON

(NAME=hospital_log,--日志文件的逻辑名为hospital_log

FILENAME='E:

\sql_data\hospital_log.ldf',

SIZE=2MB,

MAXSIZE=5MB,

FILEGROWTH=1MB

表的建立

Creattable管理员信息

{

管理员帐号char(10)primarykeynotnull,

管理员姓名char(10)notnull,

登录密码char(10)notnull,

性别char

(2),

出生日期datetime(8)notnull,

联系方式char(10),

Check(性别in('男','女')),

}

Creattable科室

{

科室号nchar(10)primarykeynotnull,

科室名char(20)notnull,

科室电话char(10)notnull,

}

Creattable医生

{

工作证号char(10)primarykeynotnull,

姓名char(8)notnull,

职称char(10)notnull,

所属科室号nchar(10)notnull,

出生日期datetime(8),

Foreignkey(所属科室号)references科室(科室号)

}

Createtable病房

{

病房号char(10)primarykeynotnull,

一号床位号char(4)default'未用'notnull,

二号床位号char(4)default'未用'notnull,

三号床位号char(4)default'未用'notnull,

四号床位号char(4)default'未用'notnull,

所属科室号nchar(10)default'未用'notnull,

Foreignkey(所属科室号)references科室(科室号)

Check(一号床位号in('未用','已用')),

Check(二号床位号in('未用','已用')),

Check(三号床位号in('未用','已用')),

Check(四号床位号in('未用','已用')),

}

Createtable检查名目

{

项目编号char(10)primarykey,

项目名称char(10)notnull,

项目单价char(4)notnull

}

Createtable住院

{

病历号char(10)primarykey,

姓名char(8)notnull,

床位号char(10)notnull,

性别char

(2)notnull,

诊断ntext(16)notnull,

主管医生char(8)notnull,

住院日期datetime(8),

Foreignkey(主管医生编号)references医生(工作证号)

}

Createtable处方

{

编号nchar(10)primarykey,

病历号nchar(10)notnull,

处方ntext(16)notnull,

开方医生编号nchar(10),

记录日期datetime(8)notnull,

费用char(10)notnull,

结算状态char(6)

Foreignkey(病历号)references住院(病历号),

Foreignkey(开方医生编号)reference医生(工作证号)

}

Createtable住院开支检查

{

项目编号char(10)primarykey,

病历号char(10)notnull,

检查项目内容nchar(10),

记录日期datetime(8)notnull,

结算状态nchar(10)notnull,

费用char(10)notnull,

Foreignkey(病历号)references住院(病历号)

}

Createtable出院

{

病历号char(10)primarykey,

姓名char(8)notnull,

性别char

(2)notnull,

诊断ntext(16)notnull,

主管医生编号char(10)notnull,

病房号char(10)notnull,

住院日期datetime(8)notnull,

出院日期datetime(8)notnull,

总费用char(10)notnull,

Foreignkey(病历号)references住院(病历号),

Foreignkey(主管医生编号)references医生(工作证号),

Foreignkey(病房号)references住院(病房号)

}

由于住院管理系统只是医院管理系统的一个子系统,因此有些信息是本管理系统所不能编辑的,因而,可看成是有些信息是系统初始时所拥有的.

Insertinto管理员信息values('1','曾云','1','男',1989-7-7,'123654');

Insertinto科室values('1121','心内科','45452');

Insertinto科室values('1221','心胸外科','45221');

Insertinto科室values('1321','骨科','68421');

Insertinto科室values('1421','眼科','54222');

Insertinto科室values('2121',''基本外科,'77541');

Insertinto科室values('2221','消化内科','987512');

Insertinto医生values('14001','李汉忠','主任医师','1121',1960-5-7);

Insertinto医生values('14002','何芳芳','主任医师','1121',1961-9-8);

Insertinto医生values('14003','赵永强','教授','1221',1955-5-5);

Insertinto医生values('14005','朱兰','教授','1421',1975-1-9);

Insertinto医生values('14006','''张一文','副主任医师','2121,1970-10-14);

Insertinto医生values('14007','李丹青','医师','2221',1973-5-23);

Insertinto医生values('14008','朱宇','主任医师','2121',1965-8-10);

Insertinto医生values('14009','张宝中','主任医师','1321',1970-4-20);

Insertinto病房values('1','未用','未用','未用','未用','1121');

Insertinto病房values('2','未用','未用','未用','未用','1221');

Insertinto病房values('3','未用','未用','未用','未用','1421');

Insertinto病房values('4','未用','未用','未用','未用','2221');

Insertinto病房values('5','未用','未用','未用','未用','1321');

Insertinto检查名目values('1','验血','20');

Insertinto检查名目values('2','验大小便','10');

Insertinto检查名目values('3','透视','30');

Insertinto检查名目values('4','CT','40');

设计的表如下

住院

出院

处方

科室

医生

病房

检查名目

管理员信息

住院检查开支

四、系统的详细设计与实现

本系统采用Delphi+SQLServer2000进行开发,运行在WindowsXP/2000环境下。

前台应用程序采用Delphi软件编写,后台数据库采用SQLServer2000设计。

各功能模块界面如下:

1登录界面及主界面如下

2进入住院界面

3进入检查项目录入及开处方界面

5进入病房查询界面

6出院及费用结算界面

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1