教室管理系统大数据库课设.docx
《教室管理系统大数据库课设.docx》由会员分享,可在线阅读,更多相关《教室管理系统大数据库课设.docx(37页珍藏版)》请在冰豆网上搜索。
教室管理系统大数据库课设
摘要
在校园生活中,教室仍然是教学活动和学生课余活动中最主要的场所之一,然而,由于学生数目过大,教室资源有限限制了师生使用教室。
以前,一些学校对教室的管理仅限于人工管理,处理起来比较复杂,容易出错,而且不利于删除和添加,更加不利于查找,凸显出建立教室安排系统的紧迫性。
本系统着力于整合教室管理中的课程安排,教室调课,设备损坏及维修以及单位借用等影响教室使用的环节,实现统一管理。
在此基础上提供方便有效的课表查询,空教室查询,学生出勤次数查询,设备维护记录查询。
本系统针对教室管理不统一的问题,着力于将教室管理中的课程安排,教师调课,单位借用等联系起来,建立一个统一的管理系统,以提高处理效率,方便统一管理,同时为师生提供方便的查询。
教室安排系统使得教室的安排变得更加简单,添加与删除变得更加容易,特别是教室查找。
此系统提高了信息处理的速度与准确性,能够及时准确有效的查询和修改教室的安排情况,以及更有效的对设备维护进行管理。
关键词:
数据库教室管理自动化处理
一、序言
在大学里,教室仍然是教学的主要场所,也是学生学习的重要场所,所以教室环境和设备直接影响到教学活动的开展和学生的学习。
为了保证教室环境良好的运转,教室的管理也就显得十分的必要和重要。
但是教室的管理也并不是一件很容易的事情。
教室设备(尤其是多媒体设备)有所损坏必须及时登记,修复,否则很可能影响以后教学,造成教学事故。
教室的使用具有一定的计划性和流动性,即一个班在相应的时间里,所上的课程和使用的教室是固定的,但是不同的课程在不同的时间里会使用不同的教室,这与教务处的课程安排是密切相关的。
尤其是使用多媒体教室的时候,这就显得比较麻烦。
为了能够更系统的,更有序的,更合理的,更有效的进行教室管理,有必要利用计算机来处理各种信息,这也就需要一个更有效的教室管理系统。
为此,经过较详细的调查和慎重的思考,我决定做一个教室管理系统,来解决这些问题,使管理简化,方便而且更有效。
二、教室系统的需求分析
处理对象:
本系统总体上说涉及了五个方面的数据,后勤的信息,教室的信息,课程的信息,教师的信息,学生的信息。
处理功能要求:
教室管理系统的具体包括四个子系统:
学生查询子系统,教师查询子系统,后勤管理子系统,管理员管理子系统。
学生登录界面的功能是查询教室信息,查询自己课程信息,更改自己账户信息;教师登陆界面的功能是查询教室信息,查询自己教授课程信息,更改账户信息;后勤登陆界面的功能是查询教室信息,包括设备故障情况,故障时间;管理员登陆界面的功能是查询并更改教室信息,包括设备故障情况,故障时间,是否空闲。
安全性和完整性要求:
在这个系统中涉及到了相关人员的问题,而且同一个职工可能在不同的表中存在,要考虑到,如果辞退或者某职工辞职,那么不仅要在职工信息表中删除相应的信息,还要在其他的相关表中删除信息,这就涉及到了安全性的问题,初步打算用一个触发器来解决这个问题。
完整性也是一个重要的内容,它也涉及安全性上的问题。
三、概念结构设计
图3-1教室管理系统E-R图
四、数据结构设计
图4-1教室管理系统
4.1数据流图
图4-1-1教室管理系统功能模块图
4.2学生管理子系统:
图4-2-1学生查询子系统顶层数据流图
图4-2-2底层数据流图
数据字典:
“学生”是该子系统一个重要的数据结构,可以如下描述:
数据结构:
学生
含义说明:
学生查询子系统的重要数据结构,定义了一个学生的有关信息
组成:
学号,姓名,性别,班级
“教室”是该子系统另一个重要数据结构,可以如下描述:
数据结构:
教室
含义说明:
学生查询子系统的重要数据结构,定义了教室的有关信息
组成:
教室编号,教室信息
“学号”是该子系统一个重要的数据项,可以如下描述:
数据项:
学号
含义说明:
唯一标识每个学生
类型:
varchar
长度:
10
取值范围:
0000000000-9999999999
取值含义:
前两位标识该学生所在年级,再三位标识所在学院,再三位标识所在班级,后两位按顺序编号
“姓名”是该子系统重要数据项,可以如下描述:
数据项:
姓名
含义说明:
学生个人信息
类型:
varchar
“性别”是该子系统重要数据项,可以如下描述:
数据项:
性别
含义说明:
学生个人信息
类型:
varchar
“班级”是该子系统重要数据项,可以如下描述:
数据项:
班级
含义说明:
标识学生所在集体
类型:
varchar
长度:
8
取值范围:
00000000-99999999
取值含义:
前两位标识学生所在年级,再三位标识所在学院,后三位按顺序编号
“教室编号”是该子系统另一重要数据项,可以如下描述:
数据项:
教室编号
含义说明:
唯一标识每个教室
类型:
varchar
长度:
5
取值范围:
00000-99999
取值含义:
前两位标识楼号,后三位标识房号
“教室信息”是该子系统另一重要数据项,可以如下描述:
数据项:
教室信息
含义说明:
教室是否空闲,教室课程信息
类型:
varchar
长度:
2
数据流“教室信息”可如下描述:
数据流:
教室信息
说明:
每个教室编号,教室是否空闲
组成:
教室信息=教室编号+是否空闲
数据流来源:
教务处
数据流去向:
学生查询
数据存储“学生”可如下描述:
数据存储:
学生
说明:
学生查询结果
流入数据流:
教室信息
流出数据流:
是否空闲,课程信息
组成:
教室是否空闲,课程信息
处理过程“学生查询服务”可如下描述:
处理过程:
学生查询服务
说明:
为学生提供查询教室和课程信息服务
输入:
学号,姓名,教室编号
输出:
教室是否空闲,课程信息
处理:
审定是否符合查询目标后,学生自行决定学习情况
4.3教室查询子系统:
图4-3-1教师查询子系统顶层数据流图
图4-3-2底层数据流图
数据字典
“教师”是该子系统一个重要的数据结构,可以如下描述:
数据结构:
教师
含义说明:
教师查询子系统的重要数据结构,定义了一名教师的有关信息
组成:
教师编号,姓名,性别,班级,年龄
“教室”是该子系统另一个重要数据结构,可以如下描述:
数据结构:
教室
含义说明:
教师查询子系统的重要数据结构,定义了教室的有关信息
组成:
教室编号,教室信息
“教师编号”是该子系统一个重要的数据项,可以如下描述:
数据项:
教师编号
含义说明:
唯一标识每名教师
类型:
varchar
长度:
8
取值范围:
00000000-99999999
取值含义:
前三位标识所在学院,再三位标识所在班级,后两位按顺序编号
“姓名”是该子系统重要数据项,可以如下描述:
数据项:
姓名
含义说明:
教师个人信息
类型:
varchar
“性别”是该子系统重要数据项,可以如下描述:
数据项:
性别
含义说明:
教师个人信息
类型:
varchar
“班级”是该子系统重要数据项,可以如下描述:
数据项:
班级
含义说明:
标识教师教授学生集体
类型:
varchar
长度:
8
取值范围:
00000000-99999999
取值含义:
前两位标识锁教授学生所在年级,再三位标识所在学院,后三位按顺序编号
“教室编号”是该子系统另一重要数据项,可以如下描述:
数据项:
教室编号
含义说明:
唯一标识每个教室
类型:
varchar
长度:
5
取值范围:
00000-99999
取值含义:
前两位标识楼号,后三位标识房号
“教室信息”是该子系统另一重要数据项,可以如下描述:
数据项:
教室信息
含义说明:
教室是否空闲,教室课程信息
类型:
varchar
长度:
2
数据流“教室信息”可如下描述:
数据流:
教室信息
说明:
每个教室编号,教室是否空闲
组成:
教室信息=教室编号+是否空闲
数据流来源:
教务处
数据流去向:
教师查询
数据存储“教师”可如下描述:
数据存储:
教师
说明:
学生查询结果
流入数据流:
教室信息
流出数据流:
是否空闲,课程信息
组成:
教室是否空闲,课程信息
处理过程“教师查询服务”可如下描述:
处理过程:
教师查询服务
说明:
为教师提供查询教室和课程信息服务
输入:
教师编号,姓名,教室编号
输出:
教室是否空闲,课程信息
处理:
审定是否符合查询目标后,教师了解自己教授情况,占用教室进行另外授课
4.4管理员管理子系统
图4-4-1管理员管理子系统顶层数据流图
图4-4-2底层数据流图
数据字典
“管理员”是该子系统一个重要的数据结构,可以如下描述:
数据结构:
管理员
含义说明:
管理员管理子系统的重要数据结构,定义了一个管理员的有关信息
组成:
管理员编号,姓名,性别,年龄,负责教室
“教室”是该子系统另一个重要数据结构,可以如下描述:
数据结构:
教室
含义说明:
管理员管理子系统的重要数据结构,定义了教室的有关信息
组成:
教室编号,是否空闲,课程信息,上课班级,故障信息
“管理员编号”是该子系统一个重要的数据项,可以如下描述:
数据项:
管理员编号
含义说明:
唯一标识每个管理员
类型:
varchar
长度:
10
取值范围:
0000000000-9999999999
取值含义:
按顺序编号
“姓名”是该子系统重要数据项,可以如下描述:
数据项:
姓名
含义说明:
管理员个人信息
类型:
varchar
“性别”是该子系统重要数据项,可以如下描述:
数据项:
性别
含义说明:
管理员个人信息
类型:
varchar
“年龄”是该子系统重要数据项,可以如下描述:
数据项:
年龄
含义说明:
管理员个人信息
类型:
varchar
长度:
2
取值范围:
20-50
“负责教室”是该子系统重要数据项,可以如下描述:
数据项:
负责教室
含义说明:
管理员负责的教室
类型:
varchar
长度:
5
取值范围:
00000-99999
取值含义:
前两位标识楼号,后三位标识房号
“教室编号”是该子系统另一重要数据项,可以如下描述:
数据项:
教室编号
含义说明:
唯一标识每个教室
类型:
varchar
长度:
5
取值范围:
00000-99999
取值含义:
前两位标识楼号,后三位标识房号
“教室信息”是该子系统另一重要数据项,可以如下描述:
数据项:
教室信息
含义说明:
教室是否空闲,教室故障信息
类型:
varchar
“班级信息”是该子系统另一重要数据项,可以如下描述:
数据项:
班级信息
含义说明:
上课班级,班级学生人数
类型:
varchar
“课程信息”是该子系统另一重要数据项,可以如下描述:
数据项:
课程信息
含义说明:
课程编号,课程名称
类型:
varchar
数据流“教室信息”可如下描述:
数据流:
教室信息
说明:
负责教室的基本信息
组成:
教室信息=教室编号+是否空闲+故障情况+上课班级+班级学生人数
数据流来源:
教务处
数据流去向:
管理员管理子系统
数据存储“管理员管理子系统”可如下描述:
数据存储:
管理员管理子系统
说明:
管理员更新信息后录入该子系统
流入数据流:
教室信息
流出数据流:
教室信息
组成:
教室编号,是否空闲,课程信息,上课班级,故障信息
处理过程“管理员管理”可如下描述:
处理过程:
管理员对教室信息进行管理更新
输入:
管理员编号,姓名,教室编号
输出:
教室信息
处理:
审定是否有更新后,将更新内容录入管理员管理子系统
4.5后勤管理子系统:
图4-5-1后勤管理子系统顶层数据流图
图4-5-2底层数据流图
数据字典
“后勤人员”是该子系统一个重要的数据结构,可以如下描述:
数据结构:
后勤
含义说明:
后勤查询子系统的重要数据结构,定义了一个后勤人员的有关信息
组成:
人员编号,姓名,性别,年龄,负责教室
“教室”是该子系统另一个重要数据结构,可以如下描述:
数据结构:
教室
含义说明:
后勤查询子系统的重要数据结构,定义了教室的有关信息
组成:
教室编号,故障信息,卫生情况
“人员编号”是该子系统一个重要的数据项,可以如下描述:
数据项:
人员编号
含义说明:
唯一标识每个后勤人员
类型:
varchar
长度:
10
取值范围:
0000000000-9999999999
取值含义:
按顺序编号
“姓名”是该子系统重要数据项,可以如下描述:
数据项:
姓名
含义说明:
后勤人员个人信息
类型:
varchar
“性别”是该子系统重要数据项,可以如下描述:
数据项:
性别
含义说明:
后勤人员个人信息
类型:
varchar
“年龄”是该子系统重要数据项,可以如下描述:
数据项:
年龄
含义说明:
后勤人员个人信息
类型:
varchar
长度:
2
取值范围:
20-50
“负责教室”是该子系统重要数据项,可以如下描述:
数据项:
负责教室
含义说明:
后勤人员负责的教室
类型:
varchar
长度:
5
取值范围:
00000-99999
取值含义:
前两位标识楼号,后三位标识房号
“教室编号”是该子系统另一重要数据项,可以如下描述:
数据项:
教室编号
含义说明:
唯一标识每个教室
类型:
varchar
长度:
5
取值范围:
00000-99999
取值含义:
前两位标识楼号,后三位标识房号
“教室信息”是该子系统另一重要数据项,可以如下描述:
数据项:
教室信息
含义说明:
教室故障信息,卫生信息
类型:
varchar
数据流“教室信息”可如下描述:
数据流:
教室信息
说明:
负责教室的基本信息
组成:
教室信息=教室编号+故障情况+卫生情况
数据流来源:
教务处
数据流去向:
后勤人员管理子系统
数据存储“后勤人员”可如下描述:
数据存储:
后勤人员
说明:
后勤人员查询得到信息后进行故障处理
流入数据流:
教室信息
流出数据流:
教室信息
组成:
教室编号,故障信息,卫生情况
处理过程“后勤人员管理”可如下描述:
处理过程:
后勤人员查询教室信息
输入:
人员编号,姓名,教室编号
输出:
教室信息
处理:
审定是否有故障后,对教室故进行一系列故障处理,清扫卫生
五、数据库逻辑结构设计
教室(编号,人数,是否空闲,故障情况,故障时间,录入时间)
主键为:
编号。
教师(教师编号,姓名,性别,年龄,职称)
主键为:
教师编号。
课程(课程编号,课程名称,时间,教室,班级,教师)
主键为:
课程编号。
学生(学号,姓名,性别,班级)
主键为:
学号
后勤(职工编号,姓名,性别,年龄,负责教室)
主键为:
职工编号
表5-1教室信息数据属性
数据项名
数据类型
长度
非空
主键
教室编号
varchar
5
非空
主键
教室人数
varchar
3
非空
故障情况
varchar
2
空
故障时间
varchar
20
空
是否空闲
varchar
2
非空
录入时间
varchar
20
非空
表5-2课程信息数据属性
数据项名
数据类型
长度
非空
主键
课程编号
varchar
10
非空
主键
课程名称
varchar
30
非空
教室编号
varchar
5
非空
时间
varchar
20
非空
教师
varchar
20
非空
班级
varchar
40
非空
表5-3学生信息数据属性
数据项名
数据类型
长度
非空
主键
学号
varchar
10
非空
主键
姓名
varchar
10
非空
性别
varchar
2
非空
班级
varchar
8
非空
表5-4后勤信息数据属性
数据项名
数据类型
长度
非空
主键
人员编号
varchar
20
非空
主键
姓名
varchar
20
非空
性别
varchar
2
非空
年龄
varchar
2
非空
教室编号
varchar
5
非空
表5-5教师信息数据属性
数据项名
数据类型
长度
非空
主键
姓名
varchar
20
非空
主键
性别
varchar
2
非空
职称
varchar
20
非空
年龄
varchar
2
非空
教师编号
varchar
20
非空
六、数据库的实施
创建数据库
图6-1创建数据库
创建基本信息表
图6-2创建基本信息表
创建视图
图6-3创建视图
创建存储过程
图6-4创建存储过程
创建触发器
图6-5创建触发器
七、数据库运行与维护
图7-1备份数据库
(1)
图7-2备份数据库
(2)
八、VB程序的实现
8.1登陆界面设计
窗口设计
图8-1-1登陆界面
程序设计
图8-1-2程序设计
8.2系统管理员界面设计
窗口设计
图8-2-1管理员界面
图8-2-2管理员界面
(2)
图8-2-3管理员界面(3)
程序设计
图8-2-4程序设计
8.3后勤服务人员界面设计
窗口设计
图8-3后勤界面
8.4学生登陆界面
图8-4-1学生界面
(1)
图8-4-2学生界面
(2)
程序设计
图8-4-3程序设计
8.5教师登陆界面设计
窗口设计
图8-5教师界面
九、附录
创建数据库
createdatabase教室数据库--创建教室数据库
onprimary
(name='classroomdb_data',
filename='d:
\sqldata\classroomdb_data.mdf',
size=5mb,
maxsize=100mb,
filegrowth=5mb)
logon
(name='classroomdb_log',
filename='d:
\sqldata\classroomdb_log.ldf',
size=5mb,
maxsize=100mb,
filegrowth=5mb)
创建表的基本信息
use教室数据库
createtable登陆基本信息
(账号varchar(20)notnull,
密码varchar(20)notnull)
go
createtable教室基本信息
(教室编号varchar(5)notnullprimarykey,
容纳人数varchar(3)notnull,
是否空闲varchar
(2)notnull,
故障情况varchar
(2),
故障时间varchar(20),
录入日期varchar(20))
go
--创建课程基本信息表
createtable课程基本信息
(课程编号varchar(10)notnullprimarykey,
课程名称varchar(30)notnull,
时间varchar(20),
教室编号varchar(5)notnull,
班级varchar(40)notnull,
教师varchar(20)notnull)
go
--创建后勤基本信息表
createtable后勤基本信息
(职工编号varchar(20)notnullprimarykey,
姓名varchar(20)notnull,
性别varchar
(2)notnull,
年龄varchar
(2)notnull,
负责教室varchar(5)notnull,
值班时间varchar(20)notnull)
go
--创建学生基本信息表
createtable学生基本信息
(学号varchar(20)notnullprimarykey,
姓名varchar(20)notnull,
性别varchar
(2)notnull,
班级varchar(40)notnull)
go
--创建教师基本信息表
createtable教师基本信息
(教师编号varchar(20)notnullprimarykey,
姓名varchar(20)notnull,
性别varchar
(2)notnull,
年龄varchar
(2)notnull,
职称varchar(20)notnull)
go
创建视图
use教室数据库
go
createview当日教室信息as
selectj.教室编号,j.是否空闲,k.时间
fromdbo.教室基本信息asjINNERJOIN
dbo.课程基本信息askonj.教室编号=k.教室编号
go
createview故障教室信息as
SELECT教室编号,故障情况,故障时间,录入日期AS录入时间
FROMdbo.教室基本信息ASg
go
createview后勤值班信息as
SELECT姓名,值班时间,负责教室
FROMdbo.后勤基本信息ASh
go
createview教师课程信息as
SELECTJ.教室编号,K.课程名称,K.班级,K.时间,K.教师
FROMdbo.教室基本信息ASJINNERJOIN
dbo.课程基本信息ASKONJ.教室编号=K.教室编号
go
创建存储过程
use教室数据库
go
ifexists(selectnamefromsysobjectswherename='isbusy'andtype='p')
dropprocedureisbusy
go
--创建存储过程:
找出空闲教室
createprocedureisbusyas
select*from教室基本信息where教室基本信息.是否空闲='是'
go
ifexists(selectnamefromsysobjectswherename='isgz'andtype='p')
dropprocedureisgz
go
--创建存储过程:
找出故障情况教室
createprocedureisgzas
select*from教室基本信息where教室基本信息.故障情况='是'
go
创建触发器
use教室数据库
ifexists(selectnamefromsysobjectswherename='coursetr'andtype='tr')
droptriggercoursetr
go
createtriggercoursetr--在更新‘课程基本信息表’中的是‘教室编号’时,教室表中的‘是否空闲也被更新
on课程基本信息forupdate
as
declare@rowsint
select@rows=@@ROWCOUNT