博客 [数据库课程设计]基于Sql Server的教室信息管理系统(附部分源码)

[数据库课程设计]基于Sql Server的教室信息管理系统(附部分源码)

   数栈君   发表于 2023-06-09 14:46  1860  0

1.概述
在大学里,教室仍然是教学的主要场所,也是学生学习的重要场所,所以教室环境和设备直接影响到教学活动的开展和学生的学习。
为了保证教室环境良好的运转,教室的管理也就显得十分的必要和重要。但是教室的管理也并不是一件很容易的事情。教室设备有所损坏必须及时登记,修复,否则很可能影响以后教学,造成教学事故。
教室的使用具有一定的计划性和流动性,即一个班在相应的时间里,所上的课程和使用的教室是固定的,但是不同的课程在不同的时间里会使用不同的教室,这与教务处的课程安排是密切相关的。
为此,经过较详细的调查和慎重的思考,我决定做一个教室信息管理系统,来解决这些问题,使管理简化,方便而且更有效。
课程设计报告的组织:
本课程设计报告主要包括三个方面的内容:(1)前置部分:封面、目录页;(2)主体部分:摘要(课程设计的目的、任务与要求等)、正文、结论、参考文献;(3)附录部分:设计图件、照片等。

2.需求分析
2.1 学校的教室使用情况
与教室管理相关的学校的成分有:学生、教师和教室。学校的所有日常工作都是围绕着这三大部分进行的。
学校下设若干学院,如软件学院、数学与统计学院、外国语学院等;每个学院下设多种专业,如软件学院下设三个专业:计算机科学与技术、软件工程、数据科学技术;每个专业配有若干教师,每个教师的职称可能会有所不同。同时,教师可以开设若干门课程,一门课程可以由多个老师来教授。每个专业开设有若干课程,如软件学院软件工程专业开设有数据库原理、操作系统原理等课程。每个专业有若干班级组成,班级的专业、人数、学生信息等各不相同。
每个教室在不同的时段可以上不同的课程。

2.2 用户要求
(1)基本信息要求:
教师的基本信息(教师的教师编号,教师姓名,性别,所属院系,职称,工号);
学生的基本信息(学生的学号,姓名,院系号,身份证号);
教室的基本信息(教室的教室编号,教室类型,教室容量,教室多媒体状况);
课程的基本信息(课程编号,课程名称、课程学分、课程种类、所属院系号);
院系的基本信息(院系编号、院系名称);
(2)处理信息要求:
为了能够妥善管理教室信息,使得教室的利用效率提高,完善目前学校教室管理统的不足,充分满足教师、学生的要求,必须对教室的借用规则、使用情况做出明确的规定与清晰地显示。
(3)安全性要求:
a、访问用户的标识唯一以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;
b、不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;
c、不同用户设置不同的权限,区分不同的用户,如学生、教师和教务处管理人员。学生(只能查询教室、教师和课程信息以及提出借用教室申请),教师(只能查询教室、教师和课程信息,以及提出借用教室申请),管理人员(可进行日常事务的处理,如增加、删除、更新课程、教室、教师信息,并批准或拒绝借用教室的申请)。
(4)完整性要求
a、各种信息记录的完整性,信息记录内容根据实际情况判断是否能为空;
b、各种数据间相互的联系的正确性(外键、主键等的正确设置);
c、相同的数据在不同记录中的一致性(数据连接过程中合理使用表间的联系元素)。

2.3 功能需求
实现教师信息编号,姓名,性别,所属院系,职称等的管理
实现学生信息,学号,姓名,院系号,身份证号等的管理
实现教室信息编号,教室类型,教室容量,教室多媒体状况的管理
创建规则用于限制性别项只能输入“男”或“女”
创建视图查询不同类型的不同规模教室以及使用情况
创建存储过程生成指定教师的课程表
创建触发器删除教师信息时删除对应的教师开课信息
建立数据库相关表之间的参照完整性约束

3.概念结构设计
3.1 抽象出系统的实体
教师信息实体-属性图
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/af3b0af364155fbf100160437bdde4b3..png

学生信息实体-属性图
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/125bfbd36f256d64f47f1188b7d947e5..png



教室信息实体-属性图
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/73593460ae9b5d3c0ae0e4990c3dccb9..png


课程信息实体-属性图
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/cf7dc3769cac5963bfc23421b68ffff9..png


院系信息实体-属性图
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/2c8c4183968dbf3f4b400688135887ce..png


3.2 设计分E-R图

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/db3520e67c0609084e94508ca15c6e53..jpg

图3.2.1 学生-课程 分E-R图
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/25325d0431d3a4d9cfd3f64b6620ab80..jpg


图3.2.2 学生-院系-教师 分E-R图

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/65f8cd0afc2a4b096ef0e4ead4a7dde3..jpg


图3.2.3 教师-课程-教室 分E-R图

3.3 全局E-R图
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/1cb4ff0c63690ffd7e08c45b0903b0cc..jpg


图3.3.1 教室信息管理系统全局E-R图

4.逻辑结构设计
教室(教室编号,教室类型,教室容量,教室多媒体)
院系 (院系号,院系名称)
课程(课程号,课程名称,课程学分,课程类型,开课院系号)
教师(教师编号,教师姓名,性别,所属院系,职称, 身份证号)
学生(学号,姓名,院系号,身份证号)
教师开课表(教室号,上课时间,上课时间段,教师号,课程号,院系号)
教室借用表(教室号,学号,使用日期,借用时间段,工作日,用途,审批状态)

4.1 数据字典

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/0fac05f53ef20783b5a87e5067921eab..png

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/96cbed982981d4f01a3a42adde64d1e4..png

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/4c6788358eb371e43a29ff1941d90e0f..jpg

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/767a95976c2844816a151749ab52da5f..jpg

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/aa7d328b40abab4575929a4fb8e426f3..png

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/d8247fd497a2003480d137ac61729c34..jpg

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/c7a82369cd704a7ec6d94e236bf6a72e..jpg


5.数据库物理设计与实施
建立数据库和基本表

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/73133ea99aaecac001f404d4d7ff2e84..jpg

教室信息表

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/953ea10ee6ecff85c5785078da64bdb7..png

课程信息表

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/797734ac6d50c289698147d8ac73a26b..png

院系信息表

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/be3e2bd4f36dd36ba93cc7ad0aede265..png

学生信息表

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/24ac1a52d7629415063b64769bffde24..png

教师信息表

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/e4c6e18f642a697ddfdf6b7dfa9d0b6f..png

教室借用表

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/6fe3b17c1b6a86750778698459b197b5..jpg

教师开课信息

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/e4af244aa470e19e66bdcf40823bbbc0..png

数据库关系图

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/65d7c77fe42ed42be71139bd240b8460..jpg



6.数据操作要求及实现
6.1 数据查询、更新操作
实现教师信息编号,姓名,性别,所属院系,职称等的管理
select * from 教师信息
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/ab1b0dfae2989cc5515f95606bb91f85..png

实现学生信息,学号,姓名,院系号,身份证号等的管理
select * from 学生信息
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/86de3514fd5268fe973877977b1f5db4..png

实现教室信息编号,教室类型,教室容量,教室多媒体状况的管理
select * from 教室信息
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/d0c8d40d1f6ccb7087122e5834fbb0ec..png




6.2 视图
创建视图查询不同类型的不同规模教室以及使用情况
–创建需要多媒体普通教室的教室信息查询视图

select * from 多媒体普通教室信息查询
1


–创建需要多媒体阶梯教室的教室信息查询视图

select * from 多媒体阶梯教室信息查询
1

–创建不需要多媒体普通教室的教室信息查询视图

select * from 无多媒体普通教室信息查询
1

–创建不需要多媒体的阶梯教室信息查询视图

select * from 大教室信息查询
1

–对学生申请信息的视图查询

select * from 申请信息
1


6.3 触发器
创建触发器删除教师信息时删除对应的教师开课信息

delete from 教师信息 where 教师编号='10101080'
select * from 教师信息
select * from 教师开课信息
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/99275390546d9ff287957f44ef4cb73b..png


6.4 存储过程
创建存储过程生成指定教师的课程表

execute 教师课程表 '10101080'

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/39064e9052756933718c8683ab0fb75b..png


7.总结
通过这次数据库课程设计,我更加深刻的学习了数据库的知识,感觉到要做出一个好的系统绝对不是一件容易的事情,它必须要经过详细的调查,了解所有涉及的流程和数据,考虑到各种可能出现的情况以及处理的方法。在建立与之相适应的数据库时,不仅要全面而且要完整,这个过程是很困难的。不仅如此,还有例如安全性和完整性地问题,对存储过程地优化以及效率等问题,也都需要在各方面考虑。
同时我也认识到,在设计数据库之前,做好充分的准备工作也是十分必要、十分重要的,它综合了Sql Server 2008 的数据库、表、视图、触发器、存储过程以及函数的创建的应用,以及数据的增删查改等简单操作,让我真切地感受到了若想要在这方面精通,就必须下苦功夫。

参考文献
[1]陈素芳.浅析SQL Server数据库的性能优化方法[J].信息记录材料,2021,22(05):90-91.DOI:10.16009/j.cnki.cn13-1295/tq.2021.05.049.
[2]王晓燕.MySQL查询的基本原则[J].办公自动化,2021,26(15):61-62+47.
[3]王珊 萨师煊.数据库系统概述(第五版)[J].高等教育出版社,2014.9: 978-7-04-040664-1
[4]赵杰,杨丽丽,陈雷. 数据库原理与应用[M].人民邮电出版社:, 201302.285.
[5]陈显通. 数据库基础与应用—SQL Server 2005[M].重庆大学出版社:国家骨干高职院校重点建设项目——软件技术专业系列教材, 201501.213.
[6]唐扬. 数据库游标与触发器机制的研究与实现[D].国防科学技术大学,2004.

附部分代码
-创建存储过程生成指定教师的课程表
use 教室信息管理
go

create proc 教师课程表(@教师编号 int)
as
select 教师信息.教师姓名 教师名,教室信息.教室编号 教室号,课程信息.课程名称 课程名,教师开课信息.星期 星期,教师开课信息.上课时间段 节次
from 教师开课信息
join 教室信息 on 教师开课信息.教室编号=教室信息.教室编号
join 教师信息 on 教师开课信息.教师编号=教师信息.教师编号
join 课程信息 on 教师开课信息.课程号=课程信息.课程号
where 教师开课信息.教师编号=@教师编号
order by 教师开课信息.星期 desc,教师开课信息.上课时间段 asc
GO

execute 教师课程表 '10101081'

--创建触发器删除教师信息时删除教师的开课信息
create trigger 教师删除触发器
on 教师信息
instead of delete
as
begin
delete 教师信息 where 教师编号=(select 教师编号 from deleted)
delete 教师开课信息 where 教师编号=(select 教师编号 from deleted)
end
go

  • 免责申明:

    本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!

  • 《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu


  • 《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1

  • 想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs

    同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
    https://github.com/DTStack

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群