高校学生公寓设计.docx
《高校学生公寓设计.docx》由会员分享,可在线阅读,更多相关《高校学生公寓设计.docx(26页珍藏版)》请在冰豆网上搜索。
![高校学生公寓设计.docx](https://file1.bdocx.com/fileroot1/2022-11/24/c949b87d-76cd-4147-942f-8d28a8e3ffa9/c949b87d-76cd-4147-942f-8d28a8e3ffa91.gif)
高校学生公寓设计
2011—2012学年第一学期
实践教学
课程名称:
数据库原理及应用综合实训
指导教师:
郑全录
专业班级:
11级计算机科学与技术6班
教学部门:
计算机学院
中原工学院信息商务学院
课程设计说明书
2012—2013学年第一学期
题目:
高校学生公寓管理系统
系:
计算机学院
专业班级:
11级计算机科学与技术6班
学号:
110201061037110201061002
110201061023110201061028
110201061033
学生姓名:
刘航、李章、郑健浩
雷杰文、黄粲
指导教师:
郑全录
成绩:
时间:
2013年1月7日
数据库原理及应用综合实训任务书
2012~2013学年第1学期
学生姓名:
刘航、李章、郑健浩、雷杰文、黄粲
专业班级:
11级计算机科学与技术6班
指导教师:
郑全录工作部门:
软件工程教研室
一、综合实践题目:
高校学生公寓管理系统
二、综合实践内容(含技术指标)
设计一个高校学生公寓管理系统,可以实现学生管理、公寓房间管理、财产管理、出入登录和外来人员管理等主要功能。
至少设计6个表,并创建各个表之间的关系,定义相关的完整性约束;
根据需要,至少设计四个视图;
根据实际需要,至少创建两个存储过程;
完成相关的物理设计;
对数据库进行测试和试运行。
三、进度安排
1.需求分析,1.各小组根据具体的题目,讨论相关的用户需求;2.确定需求,撰写需求分析文档;画出每个子系统的数据流图;写出系统各实体和联系的数据字典;8学时
2.概念结构设计,1.设计出系统的局部E-R图;2.集成分E-R图,设计出基本E-R图;4学时;
3.逻辑结构设计1.设计系统的关系模型;2.对关系模型进行优化;3.设计出相关的子模式;4.在SQLServer2000或SQLServer2005里,创建数据库和表;5.安全控制—分析用户和权限,设计视图和存储过程;4学时
4.物理设计,1.关系模式存取方法的选择;2.确定数据的存储结构;3.评价物理结构;4学时
5.数据库实施;1.基础数据的录入;2.数据库的试运行;4学时
6.数据的运行和维护;1.确定数据库的备份方案;2.检查数据的安全性、完整性控制;3.监视数据库性能,分析和优化性能。
4学时
7.小组总结和修改、完善课程设计报告,准备课程设计答辩PPT;4学时
四、基本要求
1.分析系统的功能,写出详细的需求分析报告,并根据数据设计的各个阶段,写出完整的课程设计报告;
2.在具体的数据管理系统上,实现该数据系统,设计相应的用户子模式,并设计系统的安全性和完整性。
完成数据加载和试运行;
3.参加课程设计答辩。
课程负责人签名:
年月日
课程设计分工安排
姓名
课程设计负责工作
备注
黄粲
高校学生公寓管理系统报告整体设计、需求分析等。
李章
概念结构设计,设计系统的E-R图。
雷杰文
编写代码,包括创建数据库和表,设计视图和储存过程等。
郑健浩
数据库的实施,基础数据的录入,数据库的试运行。
刘航
逻辑结构设计,概念结构转换。
高校学生公寓管理系统
摘要
随着学校的不断发展,住校学校人数也在不断增长。
所以,为了方便管理学生的住宿问题,需要设计学生公寓管理系统,利用数据库的技术让学生公寓的管理更加快捷和方便,同时也有助于宿舍和学生信息的及时更新。
本文介绍了在SQLsever2005环境下所开发一个宿舍管理信息系统的过程。
其中包括学生公寓管理系统的需求分析,主要是用户的要求及功能划分;系统设计部分主要包括系统功能设计和数据库设计;系统实现部分包括数据库的创建及一些数据库技术运用。
关键词:
学生公寓管理系统、数据库、E-R模型、表的关系
目录
摘要
目录
一、需求分析1
1.1用户需求1
1.1.1宿舍楼的基本情况1
1.1.2用户对系统的要求1
1.2系统功能的设计和划分2
1.2.1画出每个子系统的数据流图3
1.2.2写出系统各实体和联系的数据字典4
二、概念结构设计7
2.1设计出系统的局部E-R图7
2.2集成分E-R图,设计出基本E-R图10
三、逻辑结构设计11
3.1设计系统的关系模型11
3.2在SQLServer2000或SQLServer2005里,创建数据库和表11
3.3安全控制—分析用户和权限,设计视图和存储过程13
四、物理设计14
4.1物理设计阶段的目的与任务14
4.2数据库存储方面14
五、数据库实施15
5.1基础数据的录入15
5.2数据库的试运行16
六、数据的运行和维护19
6.1确定数据库的备份方案19
6.2检查数据的安全性、完整性控制20
参考文献21
心得体会22
一、需求分析
1.1调查用户需求
本系统的用户为宿舍楼管理员。
根据调查,基本要求有如下几条:
1.1.1宿舍楼的基本情况
每栋宿舍楼都会有几名管理员打点各种事情。
1.1.1.1学生信息:
每个学生的学号唯一,宿舍楼和宿舍也是唯一的,其中也包括床位。
一般情况下,为了方便,同一院系的学生宿舍一般都在一起,所以需要记录相应的专业班级。
1.1.1.2宿舍信息:
每间宿舍的宿舍号唯一,同时楼层固定,管理员可以通过系统查询宿舍住了多少人以及有多少人离校和在校。
在系统中,所有宿舍的信息都应该具有缺省值。
1.1.1.3财产维护信息:
宿舍财产信息基本上就是维修更换,所以需要对详细情况进行记录,包括时间,损坏情况,方便维修人员的维修工作。
1.1.1.4快递信息:
每栋宿舍楼都有邮件和快递等物的收发管理,宿舍的学生或管理员如果有信件,一般需要记录到达时间,接受信件人的姓名,而一般通过备注记录是否被取走。
1.1.1.5出入信息:
宿舍楼中人员的出入主要是学生,其中有学生携带如手提之类的贵重物品时需要记录,这是为了加强安全,并且方便学校的查证和管理。
一般要有普通的出入和离校入校四种情况,若是离校则宿舍信息的在校人数数据应该产生相应的变化。
除此之外,也可对晚归情况进行登记。
1.1.1.6外来人员信息:
宿舍楼有外来人员时需要进行登记,比如家长,学生的朋友之类的,管理员需要记录来人的身份的时间以及出入情况。
1
1.1.2、用户对系统的要求
宿舍楼管理员:
1.1.2.1信息:
宿舍楼管理员要能够查询上面所描述的宿舍的所有信息,包括某一学生在宿舍楼中住宿的详细信息、快递信息、所在宿舍的财产报修信息、出入信息,以及
外来人员信息,管理员通过这些信息对宿舍进行管理。
1.1.2.2处理:
学生信息变化时,宿舍楼管理员要能够对其进行修改。
比如,学生的专业变换、宿舍更换,而对应的信息便需要修改。
快递到达时,宿舍楼管理员应根据快递的信息在系统中插入一条记录。
学生接收快件后,管理员应在备注中登记,说明此快递已被收取。
财产报修时,管理员应登记情况。
而在修理完成,管理员也要登记表明该财产已维修完成。
1.1.2.3安全性与完整性:
安全性要求:
1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;
2.系统应对不同的数据设置不同的访问级别,但由于该系统基本是只面向一名管理员,所以在这一方面不需要有太多的权限方面的设置;
完整性要求:
1.各种信息记录的完整性,信息记录内容不能为空;
2.各种数据间相互的联系的正确性;
3.相同的数据在不同记录中的一致性。
1.2系统功能的设计和划分
1.2.1画出每个子系统的数据流图
功能如下:
1.2.1.1、管理员管理部分
1、管理员注册和登录
2、管理员可以查询学生信息(学校教务系统数据库给出学生信息)。
3、管理员可以查询宿舍信息(宿舍信息按宿舍楼情况由系统给出)。
4、管理员可以插入、查询、修改快递信息。
5、管理员可以插入、查询、修改财产维护信息。
6、管理员可以插入、查询学生出入信息(一般不用修改)。
7、管理员可以插入、查询外来人员信息(一般不用修改)。
8、管理员可以修改管理员密码。
2
1.2.1.2、数据流图
学生报修登记表
报修信息报修信息维修信息
管理员
登记报修
修改报修
查询报修
报修信息报修信息报修信息
图1-1财产维护数据流信息
管理员
学生收取快递
管理员收取快递
登记到达信息
快递快递信息快递信息
快递登记表
快递信息确认收取
图1-2快递邮件数据流信息
学生出入登记表
出入信息出入信息
登记出入
查询出入在校离校
管理员
出入信息出入信息
图1-3学生出入数据流信息
外来人员登记表
外来人员信息外来人员信息
查询外来人员出入情况
登记信息
管理员
外来人员信息外来人员信息
图1-4外来人员数据流信息
3
1.2.2写出系统各实体和联系的数据字典
1.2.2.1.数据项
学生数据字典:
属性名
存储代码
类型
长度
备注
学号
学号
char
20
主码
姓名
姓名
char
10
非空
性别
性别
char
3
用户定义完整性
年级
年级
char
10
专业班级
专业班级
char
20
宿舍号
宿舍号
char
10
参照完整性
床位
床位
char
10
宿舍数据字典:
属性名
存储代码
类型
长度
备注
宿舍号
宿舍号
char
10
主码
楼层
楼层
int
非空
居住总人数
居住总人数
int
非空
在校人数
在校人数
int
非空
财产维护数据字典:
属性名
存储代码
类型
长度
备注
名称
名称
char
20
非空
宿舍号
宿舍号
char
10
参照完整性
报修时间
报修时间
datetime
非空
维修时间
维修时间
datetime
备注
备注
char
50
快递邮件数据字典:
属性名
存储代码
类型
长度
备注
姓名
姓名
char
10
参照完整性
到达时间
到达时间
datetime
非空
备注
备注
char
50
出入登记数据字典:
属性名
存储代码
类型
长度
备注
学号
学号
char
20
参照完整性
宿舍号
宿舍号
char
10
参照完整性
时间
时间
datetime
非空
行为
行为
char
5
用户定义完整性
备注
备注
char
50
4
外来人员字典:
属性名
存储代码
类型
长度
备注
姓名
姓名
char
10
非空
时间
时间
datetime
非空
身份
身份
char
20
行为
行为
char
5
用户定义完整性
备注
备注
char
50
用户数据字典:
属性名
存储代码
类型
长度
备注
用户ID
用户ID
char
20
用户密码
用户密码
char
20
用户类型
用户类型
管理员
1.2.2.2.数据结构
数据结构名
数据组成
用户信息
用户ID,用户密码,用户类型(管理员)
学生信息
学号,姓名,性别,年级,专业班级,宿舍号,床位
宿舍信息
宿舍号,楼层,居住总人数,在校人数
财产维护信息
名称,宿舍号,报修时间,维修时间,备注
快递邮件信息
姓名,到达时间,备注
出入登记信息
学号,宿舍号,时间,行为,备注
外来人员信息
姓名,时间,身份,行为,备注
1.2.2.3.数据流
数据流名
数据流来源
数据流去向
组成
登记报修信息
管理员
学生报修登记表
报修信息
查询报修信息
学生报修登记表
管理员
报修信息
登记已修信息
管理员
学生报修登记表
维修信息
登记快递信息
管理员
快递登记表
快递信息
收取快递
快递登记表
学生
快递信息
登记确认信息
管理员
快递登记表
确认信息
登记出入信息
管理员
学生出入登记表
出入信息
查询出入信息
学生出入登记表
管理员
出入信息
登记外来人员信息
管理员
外来人员登记表
外来人员信息
查询外来人员信息
外来人员登记表
管理员
外来人员信息
5
1.2.2.4.数据存储
数据存储名
输入的数据流
输出的数据流
组成
学生报修登记表
报修信息
维修信息
报修信息
报修信息
维修信息
快递登记表
快递信息
快递信息
确认信息
快递信息
确认信息
学生出入登记表
学生出入信息
学生出入信息
学生出入信息
外来人员登记表
外来人员信息
外来人员信息
外来人员信息
1.2.2.5.处理过程
处理过程名
输入数据流
输出数据流
登记报修
报修信息
报修信息
查询报修
报修信息
报修信息
登记维修信息
维修信息
维修信息
收取快递
快递信息
快递信息
登记快递信息
快递信息
快递信息
登记出入信息
出入信息
出入信息
查询出入信息
出入信息
出入信息
登记外来人员信息
外来人员信息
外来人员信息
查询外来人员信息
外来人员信息
外来人员信息
6
二、概念结构设计
2.1设计出系统的局部E-R图
分E-R图
宿舍
住宿
学生
楼层
宿舍号
专业班级
性别
姓名
学号
图2-1学生住宿信息管理子系统
原因
报修时间
报修
宿舍
财产维护
备注
宿舍号
宿舍号
楼层
名称
图2-2财产维护信息管理子系统
7
到达时间
接收
快递
学生
专业班级
姓名
学号
性别
姓名
图2-3快递邮件信息管理子系统
时间
出入
宿舍
学生
姓名
专业班级
性别
学号
楼层
宿舍号
图2-4出入信息管理子系统
8
时间
出入
宿舍
外来人员
身份
备注
楼层
宿舍号
姓名
图2-5外来人员信息管理子系统
9
2.2集成分E-R图,设计出基本E-R图
姓名
备注
时间
楼层
出入
身份
外来人员
宿舍号
住宿
宿舍
报修时间
学生
接收
报修
学号
原因
姓名
宿舍号
专业班级
快递
财产维护
性别
名称
备注
到达时间
姓名
10
三、逻辑结构设计
3.1设计系统的关系模型
宿舍(宿舍号,楼层,居住总人数,在校人数)
快递邮件(姓名,到达时间,备注)
学生(学号,姓名,性别,年级,专业班级,宿舍号,床位)
财产维护(名称,宿舍号,报修时间,维修时间,备注)
出入登记(姓名,学号,宿舍号,时间,行为,备注)
外来人员(姓名,时间,身份,行为,备注)
3.2在SQLServer2000或SQLServer2005里,创建数据库和表
创建表格:
宿舍表:
createtable宿舍
(宿舍号char(10)primarykey,
楼层intnotnull,
居住总人数intdefault0,
在校人数int,
);
快递邮件表:
createtable快递邮件
(姓名char(10)notnull,
到达时间datetimenotnull,
备注char(50),
primarykey(姓名,到达时间),
);
学生表:
createtable学生
(学号char(20)primarykey,
姓名char(10)notnull,
11
性别char(3)check(性别in('男','女'))notnull,
年级char(10),
专业班级char(20),
宿舍号char(10)references宿舍(宿舍号),
床位char(10),
);
财产维护表:
createtable财产维护
(名称char(20)notnull,
宿舍号char(10)references宿舍(宿舍号),
报修时间datetimenotnull,
维修时间datetime,
备注char(50),
primarykey(名称,宿舍号,报修时间),
);
出入登记表:
createtable出入登记
(姓名char(10),
学号char(20)references学生(学号),
宿舍号char(10)references宿舍(宿舍号),
时间datetimenotnull,
行为char(5)check(行为in('入','出','离校','回校')),
备注char(50),
primarykey(姓名,时间),
);
外来人员表:
createtable外来人员
(姓名char(10)notnull,
时间datetimenotnull,
身份char(20),
行为char(5)check(行为in('进','出')),
备注char(50),
primarykey(姓名,时间),
);
12
用户表:
createtable用户(
用户名char(20)primarykey,
密码char(20)notnull,
);
3.3安全控制—分析用户和权限,设计视图和存储过程
3.3.1只有管理员用户
管理员用户拥有插入,查询,修改信息等所有数据管理权限。
3.2.2视图设计
学生信息视图
快递邮件视图
财产维护视图
出入登记视图
外来人员视图
13
四、物理设计
4.1物理设计阶段的目的与任务
数据库物理设计主要是为逻辑数据模型选取一个最适应应用要求的物理结构的过程。
其中主要结构包括索引、聚簇索引、索引视图和分区等,而它的目的在于提高数据库的性能和可管理型。
而在这个阶段中需要要完成两个任务:
1、确定数据库的物理结构,在关系数据库中主要是存取方法和存取结构;
2、对物理结构进行评价,评价的重点是时间和空间效率。
4.2数据库存储方面
为数据库中各基本表建立的索引如下:
1、在基本表的宿舍表中,学生的学号和姓名以及宿舍的宿舍号经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引:
2、基本表中宿舍信息属性值几乎没有变化,更新率很低,可考虑适当建立索引:
3、基本表中快递邮件信息、财产维护信息,出入信息的属性值经常发生变化,权衡系统为维护索引付出的代价,可考虑不建立索引,也可以适当建立索引。
14
五、数据库实施
5.1基础数据的录入
学生表:
宿舍表:
财产维护表:
快递邮件表:
出入登记表:
15
外来人员表:
用户表:
5.2数据库的试运行
可以在运行文本框中输入命令:
Services.msc,打开服务管理,或开始->控制面板->管理工具->服务。
图3-1使用前必须保证此服务开启
16
图3-2确定服务器是否处于启动状态
图3-3数据库连接界面
17
图3-4SQL2005界面(如果没有数据库要导入)
18
六、数据的运行和维护
6.1确定数据库的备份方案
为了保证SQLServer数据的安全,数据库管理员应定期备份数据库,在不同情况下应采用不同备份数据库备份策略,一方面维持数据的安全性,另一方面也可保持SQLServer能顺畅运行。
尽最大的努力减少由于数据的损坏对用户造成的损失。
数据的备份方案有很多,例如:
1、完全数据库备份配合事务日志备份
2、全数据库备份配合差异式备份
3、文件或文件组备份
在SQLServer备份窗口,可以通过设置,将当前进行的备份处理设置为定时自动处理的作用。
具体的步骤如下:
1.展开一个服务器组。
2.展开一个服务器(SQLServer实例)。
3.展开【数据库】,右单击要备份的数据库,在弹出的菜单中选择【任务】—〉【备份】命令。
19
4.在随后打开的SQLServer备份窗口中,设置备份的相关选项。
参见前面的备份方案
单击【常规】选项卡,在【备份类型】项中可以根据情况设置备份方案。
在下面的【备份过期时间】中进行设置,调度安排。
5.设置完成后,单击【确定】按钮,SQLServer将执行备份操作。
6.2检查数据的安全性、完整性控制
在建表的时候,完整性约束条件也需要确认,内容包括:
1、实体完整性
实体完整性为表级完整性,它要求表中所有的元组都应该有一个惟一标识,即主码。
2、参照完整性
参照完整性是表级完整性,它维护从表中的外码与主表中主码的相容关系。
如果在主表中某一元组被外码参照,那么这个元组既不能被删除,也不能更改其主码。
3、用户定义完整性
用户定义完整性也称域完整性,请看下方解释。
4、域完整性
域完整性为列级和元组级完整性。
它为列或列组指定一个有效的数据集,并确定该列是否允许为空值(NULL)。
20
参考文献
[1]王珊萨师煊,《数据库系统概论》(第四版),北京:
高等教育出版社,2006年5月第4版
[2]XX,
21
心得体会
这次实践提高了我们实地调查获得数据的能力方面。
通过对多个宿舍楼的实地调查和了解,采用询问调查—记录的方式,从宿管员和老师同学们处获得了关于宿舍管理的业务流程和一些可靠表单,为学生宿舍管理系统开发的需求分析阶段,提供了一个很好的开始和充分的准备。
加强了数据库系统理论知识和SQL2005相关功能的理解。
在课堂上关于数据库系统的理论知识及相关功能,大家都停留在知识层面并不能很好的灵活应用,如存储过程。
通过本次课程设计的实践,很好的将所学知识通过实际操作进行理解消化掌握在进行,在进行对数据库及其对象做的相应处理时,能够熟练的应用理论知识,达到知行合一,并进一步掌握相关的SQL语句,高校学生公寓管理系统开发的过程中牵涉到相当多基本表的建立,视图,以及存储过程的设计,系统开发使得对数据库系统及SQL语句的操作更熟练。
22