当前位置:文档之家› sql学校教室管理系统课程设计

sql学校教室管理系统课程设计

SQL Server数据库综合实验说明书学院:信息科学与工程学院班级:计算机科学与技术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.2X X X X X (7)3.3X X X X X (7)3.4X X X X X (8)3.5X X X X X (8)3.6X X X X X (8)4X X X X (19)4.1X X X X X (19)4.2X X X X X (20)4.3X X X X X (30)5X X X X (30)5.1X X X X X (30)5.2X X X X X (31)5.3X X X X X (31)6X X X X (31)1 写在前面1.1 本课题的研究意义本课题的研究对于大学的教室管理有较大的好处,大学里教室数量较多,上课和学生自习的流动性强,这就为教室的管理带来一些困难,传统的教室管理方式耗人力较多,随着时代的发展,它就显得跟不上时代的步伐,为了能够更加有效的,耗人力少的管理教室,也为了能够适应时代的发展,很有必要利用计算机,运用数据库来开发一个教室管理系统。

1.2 概要设计根据功能分析,建立系统的体系结构,即将整个系统分解成若干子模块,用E—R图表示各功能。

通过本系统软件,能帮助教务处人员利用计算机,快速方便的对教室使用情况进行管理、输入、输出、查询的所需操作,使散乱、动态的教室使用情况档案能够具体化,直观化、合理化。

1.3 要求报告内容包括:E—R图,电子表格,SQL语句,模块图,关系图,查询截图等。

根据概念结构模型给出整个系统的关系模式,说明各关系所包含的主码、属性(含名称、取值类型、长度、含义说明等)、关系与关系之间的联系(外码)等。

根据逻辑结构设计,给出创建数据库、数据表、定义索引、视图等语句。

完整性约束包括:主键约束、外键约束、非空约束、规则、默认值、触发器等。

给出数据表的操纵语句:包括数据插入、数据删除、据修改操作语句。

1.4数据结构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 目标与任务充分了解学校的需求,深入了解工作的流程,以及可能出现的问题。

高校教室管理系统是学校管理中的一个重要内容,随着时代的进步,学校也逐渐变得庞大起来。

如何管理好学校内部教室信息,成为学校管理中的一个大问题。

在这种情况下,开发一个小型高校教室管理系统就显得非常必要。

本高校教室管理系统是是把学校的教室信息和学生上课信息以及员工的值班等进行信息化管理,通过它的管理,可以将信息直观的提供给学校管理人员,加强对学校资源的优化分配,充分发挥其作用,提高学校整体工作效率,创造价值。

本系统结合学校实际的高校教室分配制度,经过实际的需求分析,采用功能强大的SQL Server 2012作为开发工具而开发出来的学校教室管理系统。

教室管理系统的具体功能包括三个方面:教室实体,课程实体,职工实体.3.3阶段结果(1)数据表格教室信息表(Class)课程信息表(Course)职工信息表(Worker)值班安排表(Duty)多媒体维修记录表(Media)值班缺勤表(State)4数据库实施4.1 建立基本表/*建立教室信息表*/create table Class(Spart char(10),Rname char(10) not null unique, Position char(20),Type char(10),Room int,primary key(Rname))/*建立课程信息表*/create table Course(Cno char(10),Cname char(20),Rname char(10),Cweek char(10),Cday char(10),Node char(10),Ctime int,Grade char(10),Room int,Number int,Sdept char(20))/*建立职工信息表*/create table Worker(Wno char(10) not null unique,Wname char(20),Wsex char(4),Wage int,Jname char(10),Addr char(40),Tel char(20),primary key(Wno),check(Wage >= 18 and Wage <= 60))/*建立值班信息表*/create table Duty(Wno char(10),Wname char(20),Jname char(10),Ontime char(20),Uptime char(20),primary key(Wno),foreign key(Wno) references Worker(Wno),- )/*建立值班情况记录表*/create table State(Wno char(10),Wname char(20),Jname char(10),Wdate char(20),state char(20))/*建立多媒体设备损坏记录表*/ create table Media(Rname char(10),Wno char(10),Wname char(20),Describe char(20),Dlevel char(10),Repair char(4),Mdate char(20),Pmark char(50))/*建立常规设备损坏记录表*/create table Routine(Rname char(10),Wno char(10),Wname char(20),Describe char(20),Repair char(4),Mdate char(20),Pmark char(50))4.2建立视图/*教室信息视图*/use classmanagementgocreate view Class1(教学楼,教室名称,地点,教室类型,容量) asselect *from Classgouse classmanagement/*课程信息视图*/drop view Course1gocreate view Course1(教学楼,教室名称,教室类型,课程名称,周次,星期,节次,容量) asselect Class.Spart,Class.Rname,Type,Cname,Cweek,Cday,Node,Class.Room from Class,CourseWhere Class.Rname = Course.Rnamegouse classmanagementgo/*职工信息视图*/create view Worker1(职工编号,姓名,职业名称,性别,年龄,住址,联系电话)asselect *from Workergouse classmanagementgo/*值班信息视图*/create view Duty1(职工编号,职工姓名,职业名称,上班时间,下班时间)select *from Dutygouse classmanagementgo/*职工值班情况记录视图*/create view State1(职工编号,职工姓名,职业名称,日期,情况)asselect *from Stategouse classmanagementgo/*多媒体设备损坏视图*/use classmanagementgocreate view Media1(教室名称,职工编号,职工姓名,描述,是否修复,日期,备注) asselect *from Mediago4.3创建过程/*多媒体课程查询*/create Procedure js_dmtkc@C_Spart char(10),@C_Cweek char(10),@C_Cday char(10),@C_Node char(10)asselect 教学楼,教室名称,课程名称,教室类型,容量from Course1where 教学楼= @C_Spart and 周次= @C_Cweek and 星期= @C_Cday and 节次= @C_Node and 教室类型= '多媒体教室'order by 教室名称ASCgouse classmanagementgo/*学生课程查询*/create procedure js_ptkc@C_Spart char(10),@C_Cweek char(10),@C_Cday char(10),@C_Node char(10)asselect 教学楼,教室名称,课程名称,教室类型,容量from Course1where 教学楼= @C_Spart and 周次= @C_Cweek and 星期= @C_Cday and 节次= @C_Nodeorder by 教室名称ASCgouse classmanagementgo/*空教室查询*/create procedure js_kjs@C_Spart char(10),@C_Cweek char(10),@C_Cday char(10),@C_Node char(10)asselect 教学楼,教室名称,教室类型,容量from Class1where 教学楼= @C_Spart and not exists(select *from Course1where 周次= @C_Cweek and 星期= @C_Cdayand 节次= @C_Node and 教室名称= Class1.教室名称)gouse classmanagementgo/*职工值班查询*/create procedure js_zgxx@S_Wno char(10)asselect 职工编号,职工姓名,职业名称,上班时间,下班时间from Duty1where 职工编号= @S_Wnogouse classmanagementgo/*职工值班缺勤记录的插入*/create procedure js_zbqqcr@S_Wno char(10),@S_Wname char(20),@S_Jname char(10),@S_Wdate c har(20),@S_Wpark c har(20)asinsert into Statevalues(@S_Wno,@S_Wname,@S_Jname,@S_Wdate,@S_Wpark) go/*职工缺勤记录的删除(视图)*/create procedure js_zbqqsc@S_Wpark char(10)asdeletefrom Statewhere Wpark = @S_Wparkgo/*职工信息表的插入*/create procedure js_zlc3@W_Wno char(10),@W_Wname char(20),@W_Wsex char(4),@W_Wage int,@W_Jname char(10),@W_Addr char(40),@W_Tel char(20)asinsert into Workervalues(@W_Wno,@W_Wname,@W_Wsex,@W_Wage,@W_Jname,@W_Addr,@W_ Tel)go4.4游标/*用游标完成的主任对职工信息表的修改*/declare js_dmtjs cursorkeysetforselect *from Course1where 教室类型='多媒体教室'order by 教室名称for read onlyopen js_dmtjsfetch next from js_dmtjsclose js_dmtjs /*关闭游标*/4.5触发器/*建立职工信息表触发器*/CREATE TRIGGER js_zg ON dbo.Worker FOR DELETEASdelete Duty from deleted where Duty.Wno=deleted.Wnodelete State f rom deleted where State.Wno=deleted.Wnogo5 数据库调试与试运行由于内容较多,这里只调试和运行一部分。

相关主题