数据库课程设计文档格式.docx

上传人:b****5 文档编号:17099420 上传时间:2022-11-28 格式:DOCX 页数:12 大小:102.16KB
下载 相关 举报
数据库课程设计文档格式.docx_第1页
第1页 / 共12页
数据库课程设计文档格式.docx_第2页
第2页 / 共12页
数据库课程设计文档格式.docx_第3页
第3页 / 共12页
数据库课程设计文档格式.docx_第4页
第4页 / 共12页
数据库课程设计文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据库课程设计文档格式.docx

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

数据库课程设计文档格式.docx

MicrosoftVisualC++6.0

二需求分析

2.1系统功能要求设计

此系统实现如下系统功能:

(1)使得医院科室对病人的管理工作更加清晰、有条理。

(2)能够实现对病人信息的快速查询功能。

(3)本管理系统操作简便,设计时充分考虑到系统的安全性,完整性,并发控制等方面的功能要求。

(4)高效的管理系统将会使病人得到更多的实惠。

2.2系统概要分析图如下:

2.3系统模块设计

医院病房计算机管理系统应该包括科室管理、病房管理、医生管理和对病人的具体信息等四大板块进行恰到好处的管理。

在此管理系统中,病人作为此系统的核心成分,是必须加以重视的对象。

而作为管理层的医院科室管理系统,如何更好地实现对病人的人性化、智能化,快捷有效地服务于病人,也是此医院管理系统中不可或缺德重要分支。

缺少了病人的医院当然不是好的医院,所以,以病人为中心,科室决策层应该充分利用好医院中德医生和病房资源,加强对病人的照顾,如此运营下去,才能好评不断,发展才会更快。

2.4数据字典

数据项是数据库的关系中不可再分的数据单位,下表是利用SQLServer2005建立得“医院科室管理”数据库。

基本表清单及表结构描述如下:

数据库中用到的表:

数据库表名

关系模式名称

说明

Office

科室

科室基本信息表

Room

病房

病房基本管理表

Doctor

医生

医生基本信息表

Patient

病人

病人基本信息表

Office基本情况数据表,结构如下:

字段名

数据类型及长度

约束控制

Oname

Char(12)

主键(primarykey)

科室名

Oaddress

Char(20)

Notnull

科室地址

Otelephone

科室电话

Dname

Char(15)

医生姓名

Room情况数据表,结构如下:

字段

Rnum

Int(3)

病房号

Rbnum

Int(5)

床位号

外键

所属科室

Doctor情况数据表,结构如下:

Dnum

Char(17)

工作证号

姓名

Dsex

Char(4)

‘男’或‘女’

性别

Dbirthday

出生日期

Dtelephone

联系电话

Dprofession

职称

Patient情况数据表,结构如下:

Pnum

病历号

Pname

Psex

Pbirthday

Precord

Char(100)

诊断记录

主管医生

三概念模型设计

3.1设计实体与联系

由需求分析的结果可知,本系统设计的实体包括:

(1)科室基本信息:

科室名,科室地址,科室电话,医生姓名。

(2)病房基本信息:

病房号,床位号,所属科室。

(3)医生基本信息:

工作证号,姓名,性别,出生日期,联系电话,职称,所属科室。

(4)病人基本讯息:

病历号,姓名,性别,出生日期,诊断记录,主管医生,病房号

这些实体间的联系包括:

(1)一个科室有多个病房、多名医生,而一个病房只属于一个科室;

(2)一个医生只属于一个科室,但可以负责多个病人的诊治;

(3)一个病人的主管医生只有一个。

3.2系统的局部E—R图

3.3系统的全局E—R图:

四逻辑和物理结构设计

4.1由系统E—R图转化而得到的关系模式如下:

(1)科室(科室名,科室地址,科室电话,医生姓名),其主关键字为科室。

(2)病房(病房号,床位号,所属科室),其中主关键字为病房号。

(3)医生(工作证号,姓名,性别,出生日期,联系电话,职称,所属科室),主关键字为工作证号。

(4)病人(病历号,姓名,性别,出生日期,诊断记录,主管医生,病房号),其主关键字为病历号。

(5)拥有(工作证号,科室名),其主关键字为工作证号。

(6)属于(病历号,科室名),主关键字为病历号。

(7)治疗(工作证号,病历号),主关键字为病历号。

4.2分解分析:

(1)各分量都是不可分割的数据项。

满足第一范式;

(2)每一个关系中的非码属性都完全函数依赖于码,符合第二范式;

(3)每个关系中的主属性不传递依赖关系中的每个关系键,符合第三范式;

(4)关系中所有非主属性对每个码都是完全依赖,且所有主码对于每个不包含它的码也是完全函数依赖,没有任何属性完全函数依赖非码的任何一组属性

4.3确定关系模型的存取方法和存储结构

在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信息进行查询。

可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。

在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:

在经常需要搜索的列上建立索引;

在主关键字上建立索引;

在经常用于连接的列上建立索引,即在外键上建立索引;

在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。

才能充分利用索引的作用避免因索引引起的负面作用。

确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。

五、数据库的实施

数据库实施是指根据逻辑设计和物理结构设计的接轨,在计算机上建立起世纪的数据库结构、装入数据、进行测试和试运行的过程。

此阶段主要任务包括创建数据库,加载初始数据,数据库试运行,数据库的安全性和完整性控制数据库的备份与恢复,数据库性能的监督分析和改仅,数据库的重组和重构等。

5.1建立实际的数据库结构

(1)创建科室基本信息表:

createtableOffice()

Onumchar(12)notnull,

Oaddresschar(20)notnull,

Otelephonechar(15)notnull,

Dnamechar(12)notnull,

constraintPK_Officeprimarykey(Onum)

Go

(2)创建病房基本信息表:

createtableRoom(

RnumInt(3)notnull,

RbnumInt(5)notnull,

constraintPK_Roomprimarykey(Rnum)

constraintPK_Onameforeignkey(Onum)

(3)创建医生基本信息表

createtableDoctor(Dnumchar(17)notnull,

Dnamechar(12)notnull,

Dsexchar(4)notnull

Dbirthdaychar(15)notnull

Dtelephonechar(12)notnull

Dprofessionchar(12)notnull

Onumchar(12)notnull

constraintPK_Odoctorprimarykey(Dnum)

(4)创建病人基本信息表

createtablePationt(Pnumchar(17)notnull

Pnamechar(12)notnull

Psexchar(4)notnull

Pbirthdaychar(20)notnull

Precordchar(100)notnull

Onamechar(12)notnull

Rnumint(3)notnull

constraintPK_Odoctorprimarykey(Pnum)

constraintPK_Onameforeignkey(Rnum)

5.2装入数据

装入数据又称数据库加载,是数据库实施阶段的主要工作。

在数据库结构建立好之后,就可以向数据库中加载数据了。

由于本数据库系统属于小型数据库管理系统,可以直接采用人工添加的方法。

首先,将需要装入的数据从各个部门的数据文件中帅选出来,转换成符合此医院病房计算机管理系统数据库要求的数据格式,然后输入到计算机中,最后进行数据校验,检查输入的数据是否有误。

在装入数据的过程中,为了确保装入的数据准确无误,高度重视数据的校验工作。

在数据转换过程中应使用不同德方法进行多次校验,确认正确后方可入库。

5.3应用程序编码与调试

(1)登陆系统

BOOLCDenglu:

:

OnInitDialog()//初始化登陆窗口

{

CDialog:

OnInitDialog();

m=0;

//TODO:

Addextrainitializationhere

}

voidCDenglu:

Ondenglu()//登陆系统,输入账户密码三次错误退出系统

Addyourcontrolnotificationhandlercodehere

UpdateData();

intn=0;

CDlguanlidlgl;

//Cdlgaunli是数据据库中账户表相应的类

dlgl.Open();

dlgl.MoveFirst();

while(!

dlgl.IsEOF())//读取数据库里面的账户信息

{

if(strcmp(dlgl.m_ID,m_yonghuming)==0&

&

strcmp(dlgl.m_code,m_code)==0)

//判断账户密码是否正确

{

this->

EndDialog(0);

n++;

//n是用来控制状态

}

dlgl.MoveNext();

}

if(n==0)

if(m==0)//m控制输入账户密码错误次数

MessageBox("

对不起,您输入的账号或密码错误!

您还有2次输入机会!

"

);

if(m==1)

MessageBox("

您还有1次输入机会!

if(m==2)

MessageBox("

您已三次输入错误,系统将退出!

m++;

if(m>

2)exit(0);

(2)病人病历入库登记系统

voidCRukudengji:

OnButton1()

CShujukuSetcaset;

CTimenow=CTime:

GetCurrentTime();

//获取当前时间

if(Pname>

0&

(Pname!

="

))//判断录入数据是否为0或为空

caset.Open();

caset.MoveFirst();

caset.IsEOF())

{

if(Pname==caset.m_column1)

{//比较录入条码与库存是否有相同,有则直接加1,没有则插入新项

caset.Edit();

caset.m_column5+=1;

caset.Update();

caset.Close();

CRkdjrkdj;

rkdj.Open();

rkdj.AddNew();

rkdj.m_column1=now;

rkdj.m_column2=Pname;

rkdj.m_column3=Psex;

rkdj.m_column4=Pirthday;

rkdj.m_column5=Precord;

rkdj.m_column6=Dnum;

rkdj.m_column7=Rnum;

rkdj.Update();

rkdj.Close();

MessageBox("

录入成功!

this->

EndDialog(0);

}

elsecaset.MoveNext();

//移动到下一个记录集

elseMessageBox("

录入信息不完整!

this->

六、数据库的维护

当试运行数据库合格后,数据库开发设计的工作就基本完成了,接下来就是正式运行中的调试,应为该系统比较简单,数据量小,数据库中几乎不会发生什么大的变化,但是还是需要做好数据的备份,在SQLserver2005中我们可以利用备份数据库的功能对已经设计好的数据做备份,如果数据库受到破坏或系统故障,我们便可轻松的利用备份文件恢复数据库的数据。

当然也可以利用其他各种方法进行数据维护。

七、总结

在本系统的设计中,SQLServer2005数据库的使用技术和VC++6.0的完美结合,为我们创造了一个具有高效简捷查询功能的数据库。

进一步深入理解数据库设计的整个过程,学会系统需求分析、数据库概念结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护过程,提高数据库的使用效率。

综合提高训练编程能力,实现目标代码得能力及调试代码得能力。

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

当前位置:首页 > 外语学习 > 英语学习

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

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