数据库原理课程设计报告.docx

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

数据库原理课程设计报告.docx

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

数据库原理课程设计报告.docx

数据库原理课程设计报告

《数据库原理及应用》课程设计

 

课程设计题目:

学生公寓管理系统

 

院别:

计算机科学与工程学院

专业:

信息管理与信息系统

小组成员:

设计者:

指导教师:

 

2013年6月20日

一、系统概述

1、系统概述

学生公寓管理系统是一个落实国家有关规章制度、加强学生住宿管理、规范高校公寓日常工作、提高公寓管理效能的有效工具。

系统以公寓房间、入住学生为基础信息源,可以对房间床位分配、住宿收费、物业收费、房间设施、日常检查、公寓工作人员等进行规范管理,可以是教务处、学生处、保卫处、公寓管理中心、财务处等学校只能部门及学校领导随时获得全方位的公寓管理信息,试试掌握学生入住与缴费统计,动态监控公寓管理情况,实现信息共享,提高工作效率。

系统全面体现了教育部相关文件的精神要求,为高校扩招、建设、后勤制度改革提供支持。

在吸收先进管理思想的基础上,综合运用了各种现代信息技术,是促进管理科学化的新型管理系统。

2、系统目标

面对学生公寓管理工作的特点以及该管理工作的具体问题,本系统可以解决一下问题:

1)录入公寓各学生的基本情况

2)全面查询学生的基本情况

3)对来访人员进行出入管理

4)对公寓楼财务进行管理

5)对公寓楼进行管理

6)对公寓楼的宿舍进行管理

7)对班级信息进行管理

8)对系别信息进行管理

二、系统分析

1、需求分析

学生公寓是学生日常生活和学习的重要场所,是对学生进行思想政治工作和素质教育的重要阵地。

学生住宿管理事关学生人身安全和财产安全,关系到学校正常的教学、生活秩序,关系到学校和社会的稳定,也关系到我国高等教育的发展。

随着高校的扩招,住宿生的数量越来越多,学生公寓的数量与日俱增;同时,伴随着高校后勤的社会化改革,学生的住宿条件有了很大的改善,公寓楼内的贵重设施、电器也越来越多;另外,学校在宿舍的安排上也打破了原来按专业班级强制几种的住宿限制。

以上这些情况都清楚的表名公寓管理的难度越来越大。

然而,由于各种原因,具有稳定、高效率查询能力和管理能力的公寓管理系统还很少见,所以大多数的学校依然采用手工管理的方式。

这种管理方式不仅效率低下、手续繁琐,易出差错;而且还耗费大量的人力、物力、财力。

因此,设计一个稳定、高效率的学生公寓管理系统势在必行。

2、业务流程图

根据学生公寓管理系统的普遍特点,学生公寓管理系统的业务流程图如下图所示:

注释:

带方框的基本情况和基本信息,分别表示这一业务操作过程中的操作对象

3、数据流程图

4、数据字典

1)公寓楼信息表

表名:

公寓楼信息表(Apart)

数据名

类型

范围

约束

备注

ApartID

Int

主键

公寓楼ID

ApartNum

Char(12)

非空

公寓楼编号

FloorNum

Int

0-5

Check

楼层数

NumPerFloor

Int

0-18

Check

每层寝室数

Gender

Char

(2)

“男”或“女”

Check

性别

DepID

Int

系别ID

2)寝室信息表

表名:

寝室信息表(Dor)

数据名

类型

范围

约束

备注

DorID

Int

主键

寝室ID

DorNum

Char(3)

非空

寝室编号

ApartID

Int

非空、外键

公寓楼ID

MaxNum

Int

0—4

Check

最大住宿数

3)学生信息表

表名:

学生信息表(S)

数据名

类型

范围

约束

备注

StID

Int

主键

学生ID

StNum

Char(9)

非空

学生学号

StName

Char(12)

非空

学生姓名

Gender

Char

(2)

“男”或“女”

Check

性别

CID

Int

非空、外键

班级ID

Grade

Char(8)

非空

年级

4)班级信息表

表名:

班级信息表(C)

数据名

类型

范围

约束

备注

CID

Int

主键

班级ID

CNum

Char(7)

非空

班级编号

DepID

Int

非空、外键

系别ID

5)系别信息表

表名:

系别信息表(Dep)

数据名

类型

范围

约束

备注

DepID

Int

主键

系别ID

DepName

Char(50)

系别名称

6)寝室分配表

表名:

寝室分配表(DorAllot)

数据名

类型

范围

约束

备注

ApartID

Int

外键

公寓楼ID

DorNum

Char(3)

非空

寝室编号

StuNum

Char(9)

非空

学生学号

BedNum

Int

0-4

非空、Check

床位号

7)寝室财产表

表名:

寝室财产表(DorProperty)

数据名

类型

范围

约束

备注

ApartID

Int

外键

公寓楼ID

DorNum

Char(3)

非空

寝室编号

DamBed

Int

0—4

Check

报修床位数

DamWard

Int

0—4

Check

报修衣柜数

DamDesk

Int

0—4

Check

报修桌子数

DamChair

Int

0—4

Check

报修椅子数

Door

Int

0—2

Check

报修门数

三、系统设计

1、E-R图设计

1)公寓楼实体

2)学生实体

3)班级实体

4)系别实体

5)寝室实体

6)系统E-R图

2、逻辑结构设计

1)公寓楼信息表(公寓楼ID公寓楼编号楼层数每层寝室数性别系别)

2)寝室信息表(寝室ID寝室编号公寓楼ID最大住宿数)

3)学生信息表(学生ID学生学号学生姓名性别班级ID年级)

4)班级信息表(班级ID班级编号系别ID)

5)系别信息表(系别ID系名称)

6)寝室分配表(公寓楼ID寝室编号学生学号床位号)

7)寝室财产表(公寓楼ID寝室编号报修床铺数报修衣柜数报修书桌数报修靠椅数报修门数)

8)进出人员登记表(进出人员姓名性别年龄证件类型证件编号进出原因描述公寓楼ID)

3、存储文件格式设计

1)创建数据库ApartmentManager,其步骤如下图:

●右键单击数据库,选择“新建数据库”命令,如下图:

●接下来弹出如下图所示的“新建数据库”对话框:

●在数据库名称文本框中输入要创建的数据库的名称:

ApartmentManager,然后单击“确定”按钮即可

●然后,展开“数据库”文件夹即可查看到刚创建的数据库(图中用红线标记),如下图:

 

2)创建公寓信息表(Apart),代码如下:

CREATETABLEApart

ApartIDintconstraintPK_Apart_ApartIDprimarykey,

ApartNumchar(12)notnull,

FloorNumintconstraintCHECK_Apart_FloorNumcheck(FloorNumbetween0and5)default5,

NumPerFloorintconstraintCHECK_Apart_NumPerFloorcheck(NumPerFloorbetween0and18)default18,

Genderchar

(2)constraintCHECK_Apart_Gendercheck(Genderin('男','女'))default'男',

DepIDintconstraintFK_Apartment_DepIDforeignkeyreferencesDep(DepID)

3)创建宿舍信息表(Dor),代码如下:

CREATETABLEDor

DorIDintconstraintPK_Dor_DorIDprimarykey,

DorNumchar(3)notnull,

ApartIDintnotnullconstraintFK_Dor_ApartIDforeignkeyreferencesApart(ApartID),

MaxNumintconstraintCHECK_Dor_MaxNumcheck(MaxNumbetween0and4)default4

4)创建学生信息表(S),代码如下:

CREATETABLES

StIDintconstraintPK_S_StIDPrimaryKey,

StNumchar(9)notnull,

StNamechar(12)notnull,

Genderchar

(2)constraintCHECK_S_Gendercheck(Genderin('男','女'))default'男',

CIDintnotnullconstraintFK_S_CIDforeignkeyreferencesC(CID),

Gradechar(8)notnull,

5)创建班级信息表(C),代码如下:

CREATETABLEC

CIDintconstraintPK_C_CIDprimarykey,

CNumchar(7)notnull,

DepIDintnotnullconstraintFK_C_DepIDforeignkeyreferencesDep(DepID)

6)创建系别信息表(Dep),步骤如下:

●登录到相应的数据库服务器上,然后找到相应的数据库,找到“表”文件夹,然后右键单击,选择新建表命令,如下图:

●接着在右侧的工作区编辑该数据表的列,设置结果如下图:

●在相应表选项卡上,单击右键,进行保存,操作如下图:

●在弹出的保存对话框中的“输入表名称(E)”下的文本框中输入相应的表名:

Dep,之后单击“确定”按钮进行保存,如下图:

7)创建寝室分配表(DorAllot),代码如下:

CREATETABLEDorAllot

ApartIDintnotnullconstraintFK_DorAllot_ApartIDforeignkeyreferencesApart(ApartID),

DorNumchar(3)notnull,

StuNumchar(7)notnull,

BedNumintnotnull

下面的代码为该表的BedNum列添加chek约束

altertableDorAllotaddconstraintCHECK_DorAllot_BedNumcheck(BedNumbetween1and4)

8)创建寝室财产表(DorProperty),代码如下:

CREATETABLEDorProperty

AparIDintnotnullconstraintFK_DorProperty_ApartIDforeignkeyreferencesApart(ApartID),

DorNumchar(3)notnull,

DamBedintdefault0constraintCHECK_DorPro_DamBedcheck(DamBedbetween0and4),

DamWardintdefault0constraintCHECK_DorPro_DamWardcheck(DamWardbetween0and4),

DamDeskintdefault0constraintCHECK_DorPro_DamDeskcheck(DamDeskbetween0and4),

DamChairintdefault0constraintCHECK_DorPro_DamChaircheck(DamChairbetween0and4),

Doorintdefault0constraintCHECK_DorPro_Doorcheck(Doorbetween0and2)

9)创建进出人员登记表(ReForm),代码如下:

CREATETABLEReForm

ReNamechar(12)notnull,

Genderchar

(2)constraintCHECK_ReForm_Gendercheck(Genderin('男','女'))default'男',

AgeintconstraintCHECK_ReForm_Agecheck(Agebetween0and100),

SignTypechar(50)notnull,

SignNumchar(50)notnull,

Describechar(500)notnull,

ApartIDintconstraintFK_ReForm_ApartIDforeignkeyreferencesApart(ApartID)

10)创建学生住宿信息视图(StuHot),代码如下:

CREATEVIEW

StuHot(StuName,StuNum,Class,Grade,Gender,Dept,DorNum,ApartNum)

AS

SELECTS.StName,DorAllot.StuNum,C.CNum,S.Grade,S.Gender,Dep.DepName,DorAllot.DorNum,Apart.ApartNum

FROMDorAllot,Apart,S,C,Dep

WHEREDorAllot.ApartID=Apart.ApartIDANDS.StNum=DorAllot.StuNumANDS.CID=C.CIDANDc.DepID=Dep.DepID

11)创建出入登记视图(ReView),代码如下:

CREATEVIEWReViewASselect*fromReForm

12)创建财产信息视图(ProInfo),代码如下

CREATEVIEWProInfo

AS

SELECTApart.ApartNum,DorNum,DamBed,DamWard,DamDesk,DamChair,Door

FROMApart,DorProperty

WHEREApart.ApartID=DorProperty.ApartID

4、指定该项目的备份恢复计划

虽然该系统提供了一定的安全管理功能来防止非法登录者或非授权用户对数据库或数据造成破坏,但是在有些情况下这种安全管理机制显得力不从心。

例如:

合法用户不小心对数据库的数据做了不正确的操作;或者保存数据库文件的磁盘遭到破坏;或者数据库服务器因某种不可预见的事情而导致崩溃。

所以需要提出另外的方案来解决,即用数据库的备份还原来解决这种问题。

制定该数据库备份和还原的过程如下:

第一步:

启动EnterpriseManager,登录到想要进行数据库备份的数据库服务器,这里我们登录到附加有ApartmentManager数据库文件的服务器上,结果如下图所示:

第二步:

右键单击数据库文件“ApartmentManager”,在弹出的快捷菜单中选择“所有任务”,结果如下图:

第三步:

在弹出的“备份数据库-ApartmentManager”对话框中进行设置,该对话框如下图所示:

设置项及其内容如下:

a)在“数据库”选项后的文本框中选择:

ApartmentManager

b)在“备份类型”选项中选择:

“完整”,

c)在“备份组件”选项中选择:

“数据库”

d)在“备份集过期时间”选项中选择:

“在以下天数后(E)”,这里天数设置为5天

e)在“目标”选项中选择:

“磁盘”,然后单击“添加”按钮,在弹出的对话框中进行选择,结果如下:

第四步:

单击“确定”按钮,数据库的备份计划就制定完成了。

制定完数据库备份计划后,要做的就是能够在数据库遭到破坏时利用已备份的文件将数据库恢复到破坏前的状态,制定数据库恢复计划的步骤如下:

第一步:

启动EnterpriseManager,登录到想要进行数据库还原的数据库服务器,这里我们登录到附加有ApartmentManager数据库文件的服务器上,并在“ApartmentManager”上单击鼠标右键,过程及结果如下图所示:

第二步:

在弹出的“还原数据库-ApartmentManager”对话框中进行选项设置,如下图:

设置项及其内容如下:

1)“目标数据库(O)”选项后的内容为:

ApartmentManager

2)“目标时间点(T)”选项后的内容为:

最近状态

3)“还原的源”选项下的设置:

“源数据库(R)”选项后的内容设置为:

ApartmentManager

“选择用于还原的备份集(E)”选项后的内容设置为:

默认,

设置的结果如下图

第三步:

单击“确定”按钮,即可进行还原操作

执行备份还原的具体代码如下:

usemaster

go

--在硬盘上创建备份设备

execsp_addumpdevice'disk',mybackupfile,

'c:

\Mybackupfile.bak'

--删除备份设备

execsp_dropdevicemybackupfile

--备份数据库数据到临时设备

backupdatabasenorthwind

todisk='c:

\northwind.bak'

--完全备份数据库到备份设备

backupdatabasenorthwind

tomybackupfile

--执行差异备份

backupdatabasenorthwind

tomybackupfile

withdifferential

--备份日志文件到备份设备

execsp_addumpdevice'disk',mybackupLog,

'c:

\MybackupLog.bak'

backuplognorthwind

tomybackupLog

--备份日志文件到临时备份设备

backuplognorthwind

todisk='c:

\mybackupLog.bak'

--从备份设备还原数据库

restoredatabasenorthwind

frommybackupfile

--从备份文件还原数据库

backupdatabasenorthwind

todisk='c:

\northwindback.bak'

backupdatabasenorthwind

todisk='c:

\northwindback.bak'

withdifferential

restoredatabasenorthwind

fromdisk='c:

\northwindback.bak'

withfile=1,recovery

restoredatabasenorthwind

fromdisk='c:

\northwindback.bak'

withfile=2,recovery

--事务日志还原

restoredatabasenorthwind

fromdisk='c:

\northwindback.bak'

withfile=1,norecovery

restorelognorthwind

fromdisk='c:

\northwindLog.bak'

withfile=1,recovery

--时点还原

backupdatabasenorthwind

todisk='c:

\northwind.bak'

backuplognorthwind

todisk='c:

\mybackupLog.bak'

restoredatabasenorthwind

fromdisk='c:

\northwind.bak'

withfile=1,norecovery

restorelognorthwind

fromdisk='c:

\mybackupLog.bak'

withfile=1,stopat='2006-4-79:

54:

00',recovery

四、课程设计总结或体会

通过一周的课程设计,我们学到了一些东西。

此前,对数据库的了解仅仅局限于,其能够存储数据,对数据进行批量管理,能够通过SQL语句对数据进行查询、修改、删除。

不过,通过这次对学生宿舍管理系统数据库部分的设计,我们对于数据库的知识有了一个比较系统的认识,了解到数据库设计的各个步骤之间是环环相扣,不可分割的。

数据库设计的步骤为:

系统需求分析阶段、概念结构设计阶段、逻辑结构设计、物理结构设计、数据库实施阶段、数据库运行与维护阶段。

在这次课程设计中我们主要对需求分析阶段、概念结构设计阶段和逻辑结构设计方面进行了比较深入的了解。

通过这些步骤产生了概念模型(E-R图),数据字典,关系模型等。

由于时间紧迫,对于知识的了解也比较肤浅,因此我们的课程设计有许多不足之处。

不过,这次设计也给了我们一些教训和经验。

在以后的学习中,我们一定努力改正自身缺点。

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

当前位置:首页 > 幼儿教育 > 育儿理论经验

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

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