一、系统开发概述 3

1.1 系统开发背景 3

1.2 系统功能需求分析 3

1.3 系统性能需求分析 4

1.4 系统数据流程分析 5

二、数据库概念结构设计 5

2.1 数据库局部E-R图 5

2.2 数据库全局E-R图 6

三、数据库逻辑结构设计 7

3.1关系模式的转换 7

3.2 数据模型的优化 8

四、数据库物理结构设计 9

4.1数据库及数据表的创建 9

4.1.1 数据库创建 9

4.1.2 数据表的创建 10

4.2数据完整性设计 13

4.2.1 主键约束的创建 13

4.2.2 DEFAULT约束的创建 14

4.2.3外键约束的创建 15

4.2.4 UNIQUE约束的创建 16

4.2.5 CHECK约束的创建 17

4.3 索引的创建 18

4.4 视图的创建 18

4.5 存储过程的创建 19

4.6 触发器的创建 20

五、数据库的操作 22

5.1数据操纵 22

5.1.1表结构的修改 22

5.1.2 数据插入 23

5.1.3数据更新 24

5.1.4数据删除 25

5.2 数据查询 26

5.2.1 单表查询 26

5.2.2多表查询 27

六、总结 29

七、参考文献 29


一、系统开发概述

1.1 系统开发背景

随着高职院校招生规模的扩大, 学生宿舍管理工作在高职院校变得越来越烦琐。传统的手工管理已无法应对庞大的学生宿舍信息的管理。随着计算机信息技术的高速发展, 以SQL Server2008做为后台数据库对学生宿舍进行管理, 不仅可以提高管理效率, 还可以节约资源、降低管理成本, 实现无纸化管理, 具有传统手工管理无法比拟的优点 [1] 。

1.2 系统功能需求分析

学生宿舍管理系统是通过调研公寓管理人员和学生的相关需求进行设计的,在系统设计过程中,充分考虑公寓管理存在的各种实际情况,根据公寓管理人员提出的需求,提供易于操作和功能强大的学生宿舍管理系统[2]。该系统在设计和开发过程中主要具有一下主要功能:

(1)学生宿舍管理系统主要应实现对宿舍楼信息的查询操作,系统数据库的信息包括学校所有公寓楼宿舍信息和学生住宿情况基本信息。通过点击或输入公寓编号与寝室号,能够正确的显示入的学生人数,宿舍容量,空床数量和住宿标准。通过点击或输入公寓宿舍号,显示宿舍的学生基本信息,具体的入住时间及学生公寓的卫生评分。

(2)系统提供宿舍卫生检查情况的统计和查询操作。公寓管理人员可以通过网络实时的把宿舍卫生情况输入到系统中,将形成一个公寓管理的数据信息数据库,通过操作数据库看到宿舍卫生评分,同时也方便公寓管理员进行对宿舍进行评估和管理。通过该功能能够让辅导员在成千上万的宿舍中评比出宿舍卫生分数高的宿舍,通过这种管理方式为学生树立一个和谐的公寓宿舍环境和学习氛围。

(3)系统应提供学生公寓基本情况统计展示和查询。根据学校宵禁规定,统计缺寝学生,准确统计学生迁出宿舍原因,便利辅导员查寝,保证学生安全。

通过输入缺寝人信息,保持记录。通过迁入迁出表,查询学生是否在学校住宿,原因及迁入迁出时间。

系统具体功能结构图如下:

图1-2-1系统功能结构图

1.3 系统性能需求分析

对学生宿舍管理系统功能设计过程应遵循以下原则:

(1)安全稳定性原则:对学生宿舍管理系统时刻具有网络安全防范措施,坚决制止对系统信息的非法入侵确保系统稳定长期运行。

(2)完整性原则:数据库允许定义实体完整性、参照完整性和用户定义完整。数据库中的主键与外键必须满足完整性约束条件。

(3)可操作性原则:系统功能实用性好,能够满足不同水平宿舍管理人员需求,便于操作,同时能切实满足管理人员与学校相关的工作要求。

1.4 系统数据流程分析

(1)新生入学,登记学生信息,输入学号查询个人信息,录入学生表。

(2)输入公寓楼信息,宿舍信息,四人间宿舍或六人间宿舍,便于学生挑选宿舍入住。

(3)招聘管理员,登记管理员信息以及负责管理的公寓。

(4)录入学生迁入宿舍时间,在校状态,登记学生迁出时间和迁出原因。

(5)根据学校校宵禁时间,记录缺寝学生信息。

(6)将宿舍卫生综合评分录入学生宿舍管理系统,对宿舍评分进行排序输出,以供学生查询。

(7)学生挑选宿舍查看宿舍空余床位。

数据流程图如下所示:

图1-4-1系统流程图结构图

二、数据库概念结构设计

2.1 数据库局部E-R图

(1)学生实体、公寓楼实体与宿舍实体之间局部E-R图,一个学生只能住在一栋公寓的一个宿舍,一栋公寓包含多个宿舍。

图2-1-1 局部E-R图

(2)管理员实体与公寓楼实体之间的局部E-R图,每个管理员可管理多个宿舍楼,每个宿舍楼可被多个管理员管理。(部分属性未完全罗列)

图2-1-2 局部E-R图

(3)学生缺寝室信息与评分管理信息局部E-R图,如下所示:

图2-1-3局部E-R图

2.2 数据库全局E-R图

学生宿舍管理系统的实体、实体的属性及实体之间的联系是构成E-R图的三要素,多个管理员可以管理多个不同宿舍楼,一个宿舍楼包含多个宿舍,一个学生只能选择入住一个宿舍,不同管理员对一个宿舍全部学生综合卫生进行评分得出宿舍评分,管理员查寝记录缺寝学生信息,学生迁入宿舍,也可迁出宿舍。

图2-2-1 全局E-R图

三、数据库逻辑结构设计

关系模型的逻辑结构,是一组关系模式的集合,E-R图则是由实体,实体的属性和实体之间的联系三个要素组成。所以将E-R图转化为关系模式实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式。实体的属性就是关系的属性,实体的关键字就是关系的键。假设管理员名字不重复,公寓就是宿舍楼。

关系模式的码用下划线画出。

3.1关系模式的转换

(1)实体与实体属性的转换

学生(学号,姓名,性别,手机号,专业,宿舍楼,宿舍号)

管理员(工号,姓名,年龄,手机号,楼号)

宿舍楼(宿舍楼名,管理员,工号,介绍)

宿舍管理(宿舍号,宿舍楼名,几人间,空余床位,电话)

(2)实体间联系的转换

① 1:n联系的转换

一个宿舍可以居住多个学生,学生学号为主键,与该联系相连的各实体的键以及联系本身的属性转化为关系模式的属性。

学生迁入迁出记录(学号,姓名,宿舍号,宿舍楼名,迁出原因,迁入时间,迁

出时间,状态)

② n:m联系的转换

多个管理员可以管理多个不同学生。与该联系相连的各个实体的键以及联系本身的属性均转化为关系模式的属性,而关系模式的键为各个实体键的组合,一个学生可能多次缺寝而被不同管理员通报,每次缺寝原因不同,当学号与工号确定可查准确信息。

学生评分管理(学号工号,姓名,宿舍楼号,宿舍,缺寝原因,管理员,评分,

缺寝时间,评分时间)

3.2 数据模型的优化

(1)以下实体与实体属性转换的表满足第三范式

学生(学号,姓名,性别,手机号,专业,宿舍楼,宿舍号)∈3NF

管理员(工号,姓名,年龄,手机号,楼号)∈3NF

宿舍楼(宿舍楼名,管理员,工号,介绍)∈3NF

宿舍管理(宿舍号,宿舍楼名,几人间,空余床位,电话)∈3NF

(2)对以下关系模式进行分解

①学生迁入迁出记录(学号,姓名,宿舍号,宿舍楼名,迁出原因,迁入时间,

迁出时间,状态)

学生迁入迁出表属于第三范式,为了提高存储记录的速度,经行垂直分解为两个表,迁入记录和迁出记录。由于迁出原因确定迁出时间,迁出时间传递依赖码,所以为第二范式。

学生迁出记录(学号,姓名,宿舍号,宿舍楼名,迁出原因,时间)∈2NF

学生迁入记录(学号,姓名,宿舍号,宿舍楼名,迁入时间,状态)∈3NF

②学生评分管理(学号工号,姓名,宿舍楼号,宿舍,缺寝原因,管理员,评

分,缺寝时间,评分时间)

学生评分管理属于第一范式,学生姓名、缺寝原因、缺寝时间部分依赖码(学号,

工号),对表进行分解得到第二范式:

学生缺寝表(学号,姓名,宿舍,宿舍楼,缺寝时间,缺寝原因)∈2NF

评分管理表(学号,工号,评分,评分时间)∈2NF

学生管理系统中,管理员将同一个宿舍的所有学生的评分取平均值记录到系统中得到如下表:

评分管理表(宿舍,宿舍楼,工号,管理员,评分,评分日期)∈2NF

(3)最终得到学生宿舍管理数据库表如下所示:

学生(学号,姓名,性别,手机号,专业,宿舍楼,宿舍号)∈3NF

管理员(工号,姓名,年龄,手机号,楼号)∈3NF

宿舍楼(宿舍楼名,管理员,工号,介绍)∈3NF

宿舍管理(宿舍号,宿舍楼名,几人间,空余床位,电话)∈3NF

学生迁出记录(学号,姓名,宿舍号,宿舍楼名,迁出原因,时间)∈2NF

学生迁入记录(学号,姓名,宿舍号,宿舍楼名,迁入时间,状态)∈3NF

学生缺寝表(学号,姓名,宿舍,宿舍楼,缺寝时间,缺寝原因)∈2NF

评分管理表(宿舍,宿舍楼,工号,管理员,评分,评分日期)∈2NF