教室管理信息系统数据库的设计.docx
- 文档编号:5754734
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:41
- 大小:534.95KB
教室管理信息系统数据库的设计.docx
《教室管理信息系统数据库的设计.docx》由会员分享,可在线阅读,更多相关《教室管理信息系统数据库的设计.docx(41页珍藏版)》请在冰豆网上搜索。
教室管理信息系统数据库的设计
信息学院
《数据库原理与应用》课程设计论文
题目:
教室管理信息系统数据库的设计
摘要
通过调查研究,发现教室管理大多采用人工方式,不便于管理和用户使用。
本系统针对教室管理人员和用户,采用存储过程和触发器,实现数据的增删改,方便用户操作和系统的实现。
主要实现了空教室查询,教师调课的管理,设备维护管理和教室借用的管理。
其中空教室查询包括空闲教室查询和空余座位查询以及学生出勤人数的统计查询等;调课管理完成教师调课的处理及相关课表的查询等;设备维护管理主要记录教室设备的损坏及修复信息;借用管理完成教室的借用处理和记录等。
关键字:
教室管理,空教室查询,数据库设计
1.引言
1.1本系统研究的意义
在当今的大学校园中,教室仍然是教学活动和学生课余活动的主要场所。
但是教室资源的有限性使师生使用并不方便。
以前,一个学校对于教室的安排大多是靠一些人工处理,安排起来比较复杂,容易出错,而且不易于添加和删除,更不利于查找。
建立了教室安排系统以后,对教室的安排就变的更加容易,添加和删除也更加容易,特别是对于教室的查找,上课教师的查找都变的更加容易。
建立了教室安排系统,提高信息处理的速度和准确性,能够及时,准确,有效的查询和修改教室的安排情况,以及更有效得对设备维护进行管理。
1.2本系统的目的
本系统着力于整合教室管理中课程安排、教师调课、设备损坏及维修以及单位借用等影响教室使用的环节,实现统一管理。
在此基础上提供方便有效的课表查询、空教室查询、学生出勤次数查询、设备维护记录查询。
1.3本系统的任务
本系统针对教室管理中出现的管理不统一的问题,着力于将教室管理中课程安排,教师调课、单位借用等联系起来,建立一个统一的管理系统,以提高处理效率,方便统一管理。
同时为师生提供方便可靠的查询。
2.数据库设计
2.1需求分析阶段
2.1.1引言
需求分析就是根据系统的目标、需求和功能,制定和选择一个较好的系统方案,不仅有助于教室管理者的管理,而且方便用户的查询及其它操作。
本系统针对教室管理这一学校日常事务,所设计的系统应当实现课程教室安排,教师调课管理,教师借用管理,教师设备维护等基本功能及学生到课情况的统计功能。
因此确定本系统的功能如下:
(1)空教室资源管理
(2)教师调课管理
(3)单位借用管理
(4)设备维护管理
2.1.1需求分析的目的和任务
(1)目标
通过充分与用户接触,充分了解用户的需求,熟悉系统设计的业务流程与信息处理要求及系统所涉及的数据流。
(2)任务
本系统设计的处理对象有学生信息、课程信息、教室信息、教师信息、借用单位信息
以及学生的课程出勤记录,教师调课记录,设备维护记录,单位借用教室记录等。
处理功能要求:
教室管理系统的具体功能包括三个方面:
教室查询子系统,教室调课子系统,设备管理子系统,教室借用子系统。
教室查询子系统主要完成教室课程安排,空闲教室查询(无课教室),教室空余座位的查询以及上课时学生到课情况的查询;调课管理子系统主要完成教师调课处理以及教师调课记录的存储与查询功能;设备管理子系统主要完成接收报告设备损坏信息,以及安排维修员维护教室,设备维护记录的存储和查询;借用子系统完成接收借用教室申请与处理,同时存储借用记录以方便查询。
(3)安全性和完整性要求
在这个系统中存在一个实体参与多个事务的情况,因此一个实体在不同事务中可能出现属性取值不一致,以及在事务中引用了实体表中不存在的实体,因此采用外键约束来避免这种不一致情况的发生。
另一方面,在事务处理中,修改了一个实体的属性,可能要修改其它实体,这种事务的完整性约束采用触发器来实现。
2.1.2需求分析阶段的成果
2.1.2.1体会与收获
需求分析阶段主要涉及的系统所要实现的功能,根据调查和访问确定了基本功能和操作,是数据库的设计有个基本目标。
完成了数据库信息要求、处理要求、安全性与完整性要求,使我们对数据库的设计阶段有了个深入的认识和了解,为今后的学习工打下坚实的基础。
2.1.2.2教室管理系统的业务流程图
通过分析教室管理的事务,确定的业务流程图如下。
2.1.2.3教室管理系统的数据流图
根据业务流程图,去掉具体的信息载体,抽象得到了顶层数据流图如图2.1.2.3-1所示。
结合业务流程图,在顶层数据流的基础上,细化出系统的一层数据流包括排课,调课,借用设备维护及查询等数据处理过程,如图2.1.2.3-2所示。
对一层数据流分析,得到的部分二层数据流图如图2.1.2.3-3至图2.1.2.3-5所示。
2.1.2.4教室管理系统的数据字典
根据数据流图,得到的数据字典如下表所示。
数据项的描述如下表所示:
编号
数据项名
别名
数据类型
长度
取值范围
描述
I-1
SNo
学号
char
8
I-2
Sname
学生姓名
char
14
I-3
BirthYear
出生年月
smalldatetime
I-4
Pname
专业名
char
24
I-5
ClassNo
班级号
char
6
I-6
AttendSum
出勤次数
smallint
I-7
Image
照片
Image
I-8
Cno
课程号
char
6
I-9
Cname
课程名
char
16
I-10
TNo
任课教师号
char
6
I-11
Dept
学院名称
char
20
I-12
Time
课时
smallint
I-13
PersonSum
应到人数
smallint
I-14
WeekNo
周次
char
10
I-15
Weekday
星期
char
10
I-16
SectionNo
节次
char
10
I-17
Tname
教师名
char
14
I-18
Title
职称
char
4
I-19
RoomNo
教室号
char
4
I-20
Roomname
教室名
char
6
I-21
Campusname
校区名
char
10
I-22
Buildname
教学楼名
char
6
I-23
Capacity
容量
int
I-24
IsUsable
可用状态
char
4
I-25
RemainCapacity
剩余容量
int
I-26
Type
教室类型
char
10
I-27
RentDeptname
借用单位名称
char
20
I-28
Leadername
负责人姓名
char
14
I-29
IDType
有效证件类型
char
8
负责人证件类型
I-30
RentData
借用日期
smalldatetime
I-31
ID
证件号码
char
20
I-32
Tel
联系方式
char
12
I-33
RepairerNo
维修员编号
char
4
I-34
Repairername
维修员姓名
char
14
I-35
State
状态
char
4
维修员状态
I-36
Devicename
损坏设备名
char
12
I-37
Ischange
是否需更换
char
6
I-38
Supplyname
耗材名称
char
10
I-39
RentNo
借用编号
char
6
I-40
RentReason
借用目的
char
40
I-41
RepaireRecordNo
维修记录编号
char
6
I-42
RepairTime
维修时间
samlldatetime
I-43
DamageInfo
损坏信息
char
50
设备损坏信息描述
I-44
DamageTime
报告时间
samlldatetime
数据结构的描述如下表所示:
数据结构编号
数据结构名
组成
含义说明
DS-1
Student
Sno,Sname,BirthYear,Pname,ClassNo,
AttendSum,
Image,Dept
学生信息
DS-2
Teacher
Tno,Tname,Dept,Title,
教师信息
DS-3
Course
Cno,Cname,Time,WeekNo,
Weekday,SectionNo
课程信息
DS-4
Classroom
RoomNo,Roomname,
Campusname,Buildname,
Capacity,IsUsable,
RemainCapacity,Type
教室信息
DS-5
Group
Leadername,IDType,
ID,Tel
单位信息
DS-6
Repairer
RepairerNo,Repairernam,State,Tel
维修员信息
DS-7
Curriculum
Cno,Tno,WeekNo,
Weekday,
SectionNo,RoomNo
课程表
DS-8
RepaireRecord
RepaireRecordNo,RoomNo,
RepairerNo,Devicename,Ischange,
Supplyname,RepaireTime
维修记录
DS-9
AdjClassLog
TNo,RoomNo,NewWeekNo,NewWeekday,
NewSectionNo,
NewRoomNo
调课记录
DS-10
RentRecord
RentDate,Leadername,
RoomNo,WeekNo,Weekday,SectionNo
借用记录
DS-11
DamageReport
Sno,RoomNo,Supplyname,
DamageInfo,DamageTime
设备损坏报告
2.2概念设计阶段
2.2.1引言
概念设计是数据库设计的关键。
概念结构是对现实世界的一种抽象,包括三种抽象,分别是分类、聚集、概括。
能不能将数据流中的实体及联系抽象成合适的概念模型,具体说就是ER模型,关系到后续数据库的逻辑设计。
2.2.2概念设计的目标与任务
2.2.2.1概念设计的目标
在需求分析的基础上,抽象出实体,实体的属性,以及实体之间的联系。
从一层数据流开始,先绘制局部的ER图,在此基础上通过消除冗余,命名冲突、属性冲突和结构冲突,得到全局ER图。
2.2.2.2概念设计的具体任务
1.选择中层数据流为切入点,通常选择实际系统中的子系统;
2.设计分E-R图,即各子模块的E-R图;
3.生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
4.消除冲突,生成全局E-R图。
2.2.3概念设计的阶段成果
通过对数据流的抽象,得到了系统的ER图。
E-R图是直观表示概念模型的有力工具,在图中有四个基本成分:
1)矩形框:
表示实体类型(考虑问题的对象);
2)菱形框:
表示联系类型(实体间的联系);
3)椭圆形框:
表示实体类型和联系类型的属性;
4)直 线:
联系类型与涉及的实体类型之间以直线连接,并在直线部标上联系的种类(1:
1,1:
n,m:
n)。
具体图示如下:
通过分析,学生和课程之间存在多对多的关系。
具体表现为一个学生选多门课,一门课被多个学生修,其联系的属性为学生的某门课的出勤次数。
其实体联系模型如下图所示:
学生与教室之间存在一个学生使用多个教室,一个教室被多个学生使用,因此两者间为多对多关系,他们之间联系属性为学生进入教室时间,学生报告教室损坏信息等。
其实体联系模型为:
单位与教室之间关系描述为一个单位可借多个教室,一个教室可被多个单位借用。
因此两者之间为多对多的关系,其联系的属性有借用时间,借用原因等。
维修员与教室之间也为多对多关系,两者之间联系为维修员维修教室的相关属性,例如损坏设备名,修复时间,更换部件名。
教室,教师和课程之间的关系比较复杂,具体表现为课程表安排。
即一门课可被多位老师教,一个教室可被多门课程和教师占用。
因此三者之间均为多对多关系。
其联系之间的属性有上课时间,调课后的时间等。
其实体联系模型如图所示:
得到局部ER图后,经过合并,消除冗余和命名冲突,结构冲突和属性冲突,得到的全局ER图如下所示:
2.3逻辑结构设计
2.3.1引言
逻辑结构设计就是把独立于任何一种数据模型的信息结构转化为与选用DBMS所支持的数据模型的过程。
具体来说就是设计优化的,不存在不合理函数依赖的关系模式,以及完成子模式和存储过程的设计。
2.3.2逻辑结构设计阶段的目标和任务
目标:
根据概念设计的ER图,转化为优化的关系模式。
任务:
将ER图转化为关系模式,并利用范式理论对模式进行优化,设计数据处理的,功能模块图,用户子模式与存储过程和触发器,完成事务处理的功能。
2.3.3数据组织
2.3.3.1将E-R图转换为关系模型
实体型转换为关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,具有相同码的关系模式可合并。
由ER图可以转化出以下的关系模式:
(1)学生(SNo,Sname,Sex,BirthYear,Pname,ClassNo,AttendSum,Photo,Dept)
(2)课程信息(CNo,Cname,Time,WeekNo,Weekday,SectionNo,Pname,ClassNo,StuNum)
(3)教师信息(TNo,Tname,Dept,Title,Sex,Tel)
(4)单位信息(RentDeptname,Leadername,IDtype,ID,Tel)
(5)维修员(RepairerNo,Repairername,Statement,Tel)
(6)维修记录(RoomNo,RepairerNo,RepaireRecordNo,RepaireResult,RepairTime,
Supplyname)
(7)课程安排(CNo,TNo,RoomNo,WeekNo,Weekday,SectionNo,Pname,ClassNo,NewWeekday,
(8)NewWeekNo,NewSectionNo,NewRoomNo,AdjLessonID)
(9)学生出勤记录(SNo,CNo,AttendSum)
(10)学生使用教室(SNo,RoomNo,DamageTime,DamageInfo,Devicename,
LeaveTime,EnterTime)
(11)教室信息(RoomNo,Roomname,Campusname,Buildname,Capacity,
IsUusable,Type,RemainCapacity)
(12)单位借用记录(RoomNo,Deptname,RentReason,WeekNo,Weekday,SectionNo)
对模式进行检验和优化。
先根据一事一地原则直觉判断,除了课程安排模式以及学生使用教室关系模式描述的信息不是同一个事物外,其他都符合。
在根据范式理论分析,除了课程安排模式外,都不存在部分函数依赖和传递函数依赖。
课程安排关系中包含了课程表信息和调课信息。
操作上存在大量冗余。
因此应当拆分成两个模式。
课程安排(CNo,TNo,RoomNo,WeekNo,Weekday,SectionNo,Pname,ClassNo)
调课记录(CNo,Tno,RoomNo,WeekNo,Weekday,SectionNo,NewWeekday,
NewWeekNo,NewSectionNo,NewRoomNo,AdjLessonID)
将学生使用教室关系模式分解得到两个关系模式:
设备损坏报告
(SNo,RoomNo,DamageTime,DamageInfo,Devicename)
学生进出教室表
(SNo,RoomNo,EnterTime,LeaveTime)
经过优化,得到的数据库关系模式由十三张二维表组成,具体模式说明见附录一。
2.3.4数据处理
根据需求分析,得到本系统主要由四个模块组成,分别为空教室查询,教师调课管理,教室借用管理和设备维护管理。
空教室查询中包含空闲教室和教室空余座位的查询以及学生上课出勤的查询统计;调课管理子系统主要包含教室调课管理与课表查询;教室借用子系统主要完成教室借用管理和记录的查询功能;设备管理子系统主要有设备损坏报告记录查询和设备维护记录查询。
因此系统功能模块图如2.3.4-1所示:
表2.3.4-1用户子模式设计
视图编号
视图名称
数据项
描述
备注
V1
V_Attendence
SNo,Sname,Cname,Attendsum
用于查看学生的出勤次数
V2
EMPTYCLASSROOM
Rooname,Campusname,Buildname,IsUsable,Type,RemainCapacity
用于空教室查询
V3
KECHENGBIAO
上课时间,地点,教师,班级等
用于课表查询
V4
MENDRECORDS
RepaireRecordNo,Repairername,
Roomname,Devicename,Supplyname,
RepaireTime
用于维修记录查询
V5
RentRecords
Roomname,RentDeptname,
Leadername,Tel,RentReason,
WeekNo,Weekday,SectionNo
用于查询教室借用记录等
2.4物理结构设计
2.4.1物理设计的目标
物理设计阶段的目标是根据SQLServer2000具体的功能,设计优化的物理数据库结构,使得在数据库上运行的各种事务响应时间最小,存储空间利用率高,事务吞吐量大。
2.4.2物理设计的任务
物理设计阶段为逻辑数据模型选取得一个最合适应有环境的物理结构的过程,也就是数据库的物理设计。
数据库的物理设计通常分为两个步骤:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
2.4.3索引的建立
1.建立唯一性索引
在课程安排表上建立课程号的唯一索引,以加快查询速度。
CREATEUNIQUEINDEXIndex_CourseONCURRICULUM(CNoASC)
在教室信息表上建立教室状态的索引
CREATEINDEXIndex_RoomStatementONCLASSROOM(RemainCapacityASC)
2.5数据库实施
2.5.1数据库实施阶段的目标和任务
数据库的实施阶段就是设计人员用RDBMS提供的数据定义语句和其他的实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。
此阶段包括两项重要的工作,一是数据的载入,另一项是应用程序的编码和调试。
2.5.2建立基本表与视图、建立触发器和存储过程、数据入库
根据具体的系统功能,对数据库的部分基本表,建立了插入、删除、更新、查询存储过程,详情见附录4。
数据入库通过两种途径:
一是EXCEL表格导入信息,二是存储过程录入信息。
2.5.3实施结果
建立基本表与视图的SQL语句及结果见附件2。
2.6数据库调试与试运行
2.6.1测试方法
通过对基本表和视图进行查询、插入、删除和更新,然后特意输入错误数据,以检验基本表完整性约束的功能,在操作过程中可以使用存储过程进行的,尽量使用存储过程,查看用触发器保证事务对表的级联操作的效果。
然后在查询分析器里对表或视图的操作结果进行审核,看是否正确。
2.6.2测试内容
针对系统的几大功能模块,涉及的待测试的内容主要有:
1.测试教室空教室查询结果是否正确。
2.测试对学生出勤次数统计查询是否正确。
3.测试教室调课与单位借用处理是否符合要求
4.测试设备报损和维护时的处理是否符合系统要求。
2.6.3测试结果
见附录3
3.收获与体会
在本次实习中,我通过实际设计数据库的过程训练,掌握了数据库设计的步骤与方法。
加深了对数据库设计每一步骤的理解,例如对每一个步骤的目的、任务和所要得到的技术文档。
在训练过程中,我感受到了需求分析的重要性。
整个过程中,较多的时间投入到了需求分析阶段,通过深入分析业务流程和用户需求,明确了系统处理的信息内容,即数据字典的内容。
同时对系统的功能也有了大致的了解。
在接下来的概念设计、逻辑结构设计和物理设计阶段,我更是加深了对每一阶段特点的理解,并且按照每一阶段的任务,设计了ER图,数据库模式和用户子模式,以及存储过程和触发器,来完成事务逻辑。
通过这次综合训练,我加深了对数据库理论的理解,熟练了对数据库的各种操作,尤其是存储过程和触发器的使用。
与此同时,通过课程论文的撰写及排版,熟悉了科技论文的书写格式和排版要求。
在标准化训练的过程中,强化了我对数据库设计的理解。
在实习中,我发现自己理论知识还并不是很扎实,这就要求在以后要加强数据库理论的学习,并且争取机会,多做类似的实战训练。
4.存在的问题和建议
本次实习旨在对数据库设计过程的培训和熟悉,进而养成数据库设计的良好方法。
由于时间有限,并且对真正的业务流程不是十分熟悉,因此难免出现偏差,而只是对具体业务的简单模拟。
因此存在的问题是与实际的业务处理不太符合,功能不太完善。
在逻辑设计阶段,对课程表信息在数据库中的存储方式不太清楚。
因此在以后研究中应该更加详细地熟悉具体业务,进而对系统进行完善和补充。
致谢
在为期两周的实习过程中,自始至终受到了孙健敏老师、蔚继承老师、陈勇老师和杨晓辉老师的支持和帮助,再次表示衷心的感谢!
同时,在我遇到问题彷徨沮丧时,也受到了同学们的支持和鼓励,再次真诚地向他们致谢!
参考文献
[1]王珊萨
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教室 管理信息系统 数据库 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)