sql学校教室管理系统课程设计.docx
- 文档编号:4296149
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:23
- 大小:241.63KB
sql学校教室管理系统课程设计.docx
《sql学校教室管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《sql学校教室管理系统课程设计.docx(23页珍藏版)》请在冰豆网上搜索。
sql学校教室管理系统课程设计
SQLServer数据库
综合实验说明书
学院:
信息科学与工程学院
班级:
计算机科学与技术11-2班
完成人:
姓名:
学号:
姓名:
学号:
指导教师:
山东科技大学
2013年10月23日
综合实验任务书
一、综合实验题目:
学校教室管理
二、综合实验解决的主要问题、实现的主要功能:
(1)目标
学校教室的使用具有一定的计划性和流动性,即一个班在相应的时间里,所上的课程和使用的教室是固定的,但是不同的课程在不同的时间里会使用不同的教室,这与教务处的课程安排是密切相关的。
尤其是使用多媒体教室的时候,这就显得比较麻烦。
(2)任务
处理对象:
本系统涉及了三个方面的数据,职工的信息,教室的信息,课程的信息,其中职工信息包括了教室管理员信息和清洁工信息。
此外还有值班安排信息,多媒体设备损坏纪录。
处理功能要求:
教室管理系统的具体功能包括三个方面:
教室查询子系统,卫生管理子系统,设备管理子系统。
教室查询子系统主要完成空闲教室查询(无课教室),教室使用查询的功能;卫生管理子系统主要完成值班安排与修改功能和值班情况记录的功能;设备管理子系统比较麻烦,主要是接收损坏信息,通过检查其有效性,把有效的损坏信息分类并且记录,然后通知维修工,再纪录维修情况的功能。
(3)安全性和完整性要求
在这个系统中涉及到了相关人员的问题,而且同一个职工可能在不同的表中存在,要考虑到,如果辞退或者某职工辞职,那么不仅要在职工信息表中删除相应的信息,还要在其他的相关表中删除信息,这就涉及到了安全性的问题,初步打算用一个触发器来解决这个问题。
完整性也是一个重要的内容,它也涉及安全性上的问题。
小组分工说明
小组编号题目:
教室管理系统数据库设计
小组分工情况:
王炜程负责:
实体、系统关系逻辑结构设计、确定七种查询、建立视图、约束、默认值、触发器、游标、自定义函数、储存过程。
宋呈祥负责:
E-R图的构建,创建数据库、表、建立索引、控制流语句、触发器
组长签字:
年月日
指导教师对综合实验的评价
学生姓名:
成绩:
学生姓名:
成绩:
指导教师签字:
年月日
1写在前面…………………………………………………………1
1.1本课题的研究意义…………………………………………………………1
1.2设计概要……………………………………………………………………1
1.3要求…………………………………………………………………………1
1.4处理逻辑描述………………………………………………………………2
2概念设计…………………………………………………………2
2.1引言………………………………………………………………………………2
2.2概念模型设计……………………………………………………………………3
2.3实体的属性、联系的属性………………………………………………………5
3数据库设计…………………………………………………………6
3.1需求设计………………………………………………………………7
3.2XXXXX………………………………………………………7
3.3XXXXX…………………………………………………………7
3.4XXXXX……………………………………………………………8
3.5XXXXX…………………………………………………………8
3.6XXXXX…………………………………………………………8
4XXXX…………………………………………………………19
4.1XXXXX……………………………………………………19
4.2XXXXX…………………………………………………………20
4.3XXXXX………………………………………………………30
5XXXX………………………………………………………30
5.1XXXXX…………………………………………………………30
5.2XXXXX…………………………………………………………31
5.3XXXXX…………………………………………………………31
6XXXX……………………………………………………31
1写在前面
1.1本课题的研究意义
本课题的研究对于大学的教室管理有较大的好处,大学里教室数量较多,上课和学生自习的流动性强,这就为教室的管理带来一些困难,传统的教室管理方式耗人力较多,随着时代的发展,它就显得跟不上时代的步伐,为了能够更加有效的,耗人力少的管理教室,也为了能够适应时代的发展,很有必要利用计算机,运用数据库来开发一个教室管理系统。
1.2概要设计
根据功能分析,建立系统的体系结构,即将整个系统分解成若干子模块,用E—R图表示各功能。
通过本系统软件,能帮助教务处人员利用计算机,快速方便的对教室使用情况进行管理、输入、输出、查询的所需操作,使散乱、动态的教室使用情况档案能够具体化,直观化、合理化。
1.3要求
报告内容包括:
E—R图,电子表格,SQL语句,模块图,关系图,查询截图等。
根据概念结构模型给出整个系统的关系模式,说明各关系所包含的主码、属性(含名称、取值类型、长度、含义说明等)、关系与关系之间的联系(外码)等。
根据逻辑结构设计,给出创建数据库、数据表、定义索引、视图等语句。
完整性约束包括:
主键约束、外键约束、非空约束、规则、默认值、触发器等。
给出数据表的操纵语句:
包括数据插入、数据删除、据修改操作语句。
1.4数据结构
数据结构名
含义说明
组成
Class
教室信息
校区名,教室名称,所在位置,教室类型,容量
Course
课程信息
课程号,课程名称,周次,星期,节次,课程学时,教室名称,系号,系名,班级,人数
Worker
职工信息
职工编号,姓名,职业名称,性别,年龄,住址,联系电话
Duty
值班安排
职工编号,姓名,职业名称,星期,上班时间,下班时间
State
值班缺勤记录
职工编号,姓名,职业名称,星期,周次
Media
多媒体设备维修记录
教室名称,损坏程度,修复难易,维修工编号,维修工姓名,是否修复
1.5处理逻辑描述
(1)教室查询子系统
输入:
查询条件
输出:
查询结果
处理:
按照条件,在相应的表中,查找相应的数据,然后输出
(1)职工管理子系统
输入:
查询、插入或修改的目标
结果:
输出查询的结果,或者插入成功,或者修改成功
处理:
在相应的表中完成相应的操作。
(3)设备管理子系统
输入:
插入或修改或查询的条件或目标
结果:
输出查询结果或插入成功或修改成功
处理:
在相关表中完成相关的操作。
2概念设计
2.1引言
概念结构的实际是整个数据库设计的关键,这个阶段主要的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于DBMS的概念模型(E-R图)。
它的主要特点是:
1.能真实、充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;2.易于理解,因此可以用它和不熟悉计算机的用户交换意见;3.易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;4.易于向关系、网状、层次等各种数据模型转换。
2.2概念模型设计
设计E-R图(详见附录)。
2.3实体的属性、联系的属性
主码表示如:
教室名称;外码表示如:
教室名称;普通属性如:
教室名称。
教室(校区名,教室名称,所在位置,教室类型,容量);
课程(课程号,教室名称,课程名称,周次,星期,节次,课程学时,系名,班级,人数);
职工(职工编号,姓名,职业名称,性别,年龄,住址,联系电话);
多媒体设备损坏(教室名称,维修工编号,损坏程度,修复难易,维修工姓名,是否修复,备注);
常规设备损坏(教室名称,维修工编号,损坏程度,维修工姓名,是否修复,备注);
值班信息(职工编号,姓名,职业名称,星期,上班时间,下班时间);
值班记录(职工编号,姓名,职业名称,星期,周次);
2.4逻辑模型设计
2.4.1系统功能模块图
3数据库设计
3.1.引言
教室是教学的主要场所,也是学生学习的重要场所,所以教室环境和设备直接影响到教学活动的开展和学生的学习。
为了保证教室环境良好的运转,教室的管理也就显得十分的必要和重要。
教室的使用具有一定的计划性和流动性,即一个班在相应的时间里,所上的课程和使用的教室是固定的,但是不同的课程在不同的时间里会使用不同的教室,这与教务处的课程安排是密切相关的。
尤其是使用多媒体教室的时候,这就显得比较麻烦。
为了能够更系统的,更有序的,更合理的,更有效的进行教室管理,有必要利用计算机来处理各种信息,这也就需要一个更有效的教室管理系统。
3.2目标与任务
充分了解学校的需求,深入了解工作的流程,以及可能出现的问题。
高校教室管理系统是学校管理中的一个重要内容,随着时代的进步,学校也逐渐变得庞大起来。
如何管理好学校内部教室信息,成为学校管理中的一个大问题。
在这种情况下,开发一个小型高校教室管理系统就显得非常必要。
本高校教室管理系统是是把学校的教室信息和学生上课信息以及员工的值班等进行信息化管理,通过它的管理,可以将信息直观的提供给学校管理人员,加强对学校资源的优化分配,充分发挥其作用,提高学校整体工作效率,创造价值。
本系统结合学校实际的高校教室分配制度,经过实际的需求分析,采用功能强大的SQLServer2012作为开发工具而开发出来的学校教室管理系统。
教室管理系统的具体功能包括三个方面:
教室实体,课程实体,职工实体.
3.3阶段结果
(1)数据表格
教室信息表(Class)
列名
数据类型
是否允许为空
是否为主键
备注
Spart
char(10)
不允许
教学楼
Rname
char(10)
不允许
主键
教室名
Position
char(20)
不允许
教室号
Type
char(10)
不允许
教室类型
Room
int
不允许
容量
课程信息表(Course)
列名
数据类型
是否允许为空
是否主键
备注
Cno
char(10)
不允许
主键
课程号
Cname
char(20)
不允许
课程名
Rname
char(10)
不允许
教室名
Cweek
char(10)
不允许
周次
Cday
char(10)
不允许
星期
Node
char(10)
不允许
节次
Ctime
int
不允许
学时
Grade
char(20)
不允许
班级
Number
Int
不允许
人数
Sdept
Char(20)
不允许
学分
职工信息表(Worker)
列名
数据类型
是否允许为空
是否主键
备注
Wno
char(10)
不允许
主键
职工编号
Wname
char(20)
不允许
职工姓名
Wsex
char(4)
不允许
职工性别
Wage
int
允许
职工年龄
Jname
char(10)
不允许
职业名称
Addr
char(40)
允许
职班室
Tel
char(20)
不允许
联系电话
值班安排表(Duty)
列名
数据类型
是否允许为空
是否主键
备注
Wno
char(10)
不允许
主键
职工编号
Wname
char(20)
不允许
职工姓名
Jname
char(10)
不允许
职业名称
Ontime
char(20)
不允许
上班时间
Uptime
char(20)
不允许
下班时间
多媒体维修记录表(Media)
列名
数据类型
是否允许为空
是否主键
备注
Rname
char(10)
不允许
教室名称
Wno
char(10)
不允许
职工编号
Wname
char(20)
不允许
职工姓名
Describe
char(20)
不允许
描述
Repair
char(4)
不允许
是否修复
Mdate
datetime
不允许
日期
Pmark
char(50)
允许
备注
值班缺勤表(State)
列名
数据类型
是否允许为空
是否主键
备注
Wno
char(10)
不允许
主键
职工编号
Wname
char(20)
不允许
职工姓名
Jname
char(10)
不允许
职业名称
Wdate
char(40)
不允许
缺勤日期
Wpark
char(20)
允许
备注
4数据库实施
4.1建立基本表
/*建立教室信息表*/
createtableClass
(
Spartchar(10),
Rnamechar(10)notnullunique,
Positionchar(20),
Typechar(10),
Roomint,
primarykey(Rname)
)
/*建立课程信息表*/
createtableCourse
(
Cnochar(10),
Cnamechar(20),
Rnamechar(10),
Cweekchar(10),
Cdaychar(10),
Nodechar(10),
Ctimeint,
Gradechar(10),
Roomint,
Numberint,
Sdeptchar(20)
)
/*建立职工信息表*/
createtableWorker
(
Wnochar(10)notnullunique,
Wnamechar(20),
Wsexchar(4),
Wageint,
Jnamechar(10),
Addrchar(40),
Telchar(20),
primarykey(Wno),
check(Wage>=18andWage<=60)
)
/*建立值班信息表*/
createtableDuty
(
Wnochar(10),
Wnamechar(20),
Jnamechar(10),
Ontimechar(20),
Uptimechar(20),
primarykey(Wno),
foreignkey(Wno)referencesWorker(Wno),
)
/*建立值班情况记录表*/
createtableState
(
Wnochar(10),
Wnamechar(20),
Jnamechar(10),
Wdatechar(20),
statechar(20)
)
/*建立多媒体设备损坏记录表*/
createtableMedia
(
Rnamechar(10),
Wnochar(10),
Wnamechar(20),
Describechar(20),
Dlevelchar(10),
Repairchar(4),
Mdatechar(20),
Pmarkchar(50)
)
/*建立常规设备损坏记录表*/
createtableRoutine
(
Rnamechar(10),
Wnochar(10),
Wnamechar(20),
Describechar(20),
Repairchar(4),
Mdatechar(20),
Pmarkchar(50)
)
4.2建立视图
/*教室信息视图*/
useclassmanagement
go
createviewClass1(教学楼,教室名称,地点,教室类型,容量)
as
select*
fromClass
go
useclassmanagement
go
/*课程信息视图*/
dropviewCourse1
go
createviewCourse1(教学楼,教室名称,教室类型,课程名称,周次,星期,节次,容量)
as
selectClass.Spart,Class.Rname,Type,Cname,Cweek,Cday,Node,Class.Room
fromClass,Course
WhereClass.Rname=Course.Rname
go
useclassmanagement
go
/*职工信息视图*/
createviewWorker1(职工编号,姓名,职业名称,性别,年龄,住址,联系电话)
as
select*
fromWorker
go
useclassmanagement
go
/*值班信息视图*/
createviewDuty1(职工编号,职工姓名,职业名称,上班时间,下班时间)
as
select*
fromDuty
go
useclassmanagement
go
/*职工值班情况记录视图*/
createviewState1(职工编号,职工姓名,职业名称,日期,情况)
as
select*
fromState
go
useclassmanagement
go
/*多媒体设备损坏视图*/
useclassmanagement
go
createviewMedia1(教室名称,职工编号,职工姓名,描述,是否修复,日期,备注)
as
select*
fromMedia
go
4.3创建过程
/*多媒体课程查询*/
createProcedurejs_dmtkc
@C_Spartchar(10),
@C_Cweekchar(10),
@C_Cdaychar(10),
@C_Nodechar(10)
as
select教学楼,教室名称,课程名称,教室类型,容量
fromCourse1
where教学楼=@C_Spartand周次=@C_Cweekand星期=@C_Cday
and节次=@C_Nodeand教室类型='多媒体教室'
orderby教室名称ASC
go
useclassmanagement
go
/*学生课程查询*/
createprocedurejs_ptkc
@C_Spartchar(10),
@C_Cweekchar(10),
@C_Cdaychar(10),
@C_Nodechar(10)
as
select教学楼,教室名称,课程名称,教室类型,容量
fromCourse1
where教学楼=@C_Spartand周次=@C_Cweekand星期=@C_Cdayand节次=@C_Node
orderby教室名称ASC
go
useclassmanagement
go
/*空教室查询*/
createprocedurejs_kjs
@C_Spartchar(10),
@C_Cweekchar(10),
@C_Cdaychar(10),
@C_Nodechar(10)
as
select教学楼,教室名称,教室类型,容量
fromClass1
where教学楼=@C_Spartandnotexists
(
select*
fromCourse1
where周次=@C_Cweekand星期=@C_Cday
and节次=@C_Nodeand教室名称=Class1.教室名称
)
go
useclassmanagement
go
/*职工值班查询*/
createprocedurejs_zgxx
@S_Wnochar(10)
as
select职工编号,职工姓名,职业名称,上班时间,下班时间
fromDuty1
where职工编号=@S_Wno
go
useclassmanagement
go
/*职工值班缺勤记录的插入*/
createprocedurejs_zbqqcr
@S_Wnochar(10),
@S_Wnamechar(20),
@S_Jnamechar(10),
@S_Wdatechar(20),
@S_Wparkchar(20)
as
insertintoState
values(@S_Wno,@S_Wname,@S_Jname,@S_Wdate,@S_Wpark)
go
/*职工缺勤记录的删除(视图)*/
createprocedurejs_zbqqsc
@S_Wparkchar(10)
as
delete
fromState
whereWpark=@S_Wpark
go
/*职工信息表的插入*/
createprocedurejs_zlc3
@W_Wnochar(10),
@W_Wnamechar(20),
@W_Wsexchar(4),
@W_Wageint,
@W_Jnamechar(10),
@W_Addrchar(40),
@W_Telchar(20)
as
insertintoWorker
values(@W_Wno,@W_Wname,@W_Wsex,@W_Wage,@W_Jname,@W_Addr,@W_Tel)
go
4.4游标
/*用游标完成的主任对职工信息表的修改*/
declarejs_dmtjscursor
keyset
for
select*
fromCourse1
where教室类型='多媒体教室'
orderby教室名称
forreadonly
openjs_dmtjs
fetchnextfromjs_dmtjs
closejs_dmtjs/*关闭游标*/
4.5触发器
/*建立职工信息表触发器*/
CREATETRIGGERjs_zgONdbo.WorkerFORDELETE
AS
deleteDutyfromdeletedwhereDuty.Wno=deleted.Wno
deleteStatefromdeletedwhereState.Wno=deleted.Wno
go
5数据库调试与试运行
由于内容较多,这里只调试和运行一部分。
建立基本表、导入数据和建立视图比较简单,这里就不再显示,下面调试查询。
5.1查询
5.1.1一般查询
select教学楼,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 学校 教室 管理 系统 课程设计