0


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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

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


前言

在大学里,教室仍然是教学的主要场所,也是学生学习的重要场所,所以教室环境和设备直接影响到教学活动的开展和学生的学习。 为了保证教室环境良好的运转,教室的管理也就显得十分的必要和重要。但是教室的管理也并不是一件很容易的事情。教室的使用具有一定的计划性和流动性,即一个班在相应的时间里,所上的课程和使用的教室是固定的,但是不同的课程在不同的时间里会使用不同的教室,这与教务处的课程安排是密切相关的。 为此,经过较详细的调查和慎重的思考,我决定做一个教室管理系统,来解决这些问题,使管理简化,方便而且更有效。
关键词:数据库 教室 管理


1.概述

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

2.需求分析

2.1 学校的教室使用情况

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

2.2 用户要求

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

2.3 功能需求

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

3.概念结构设计

3.1 抽象出系统的实体

教师信息实体-属性图
在这里插入图片描述
学生信息实体-属性图

在这里插入图片描述

教室信息实体-属性图
在这里插入图片描述

课程信息实体-属性图
在这里插入图片描述

院系信息实体-属性图
在这里插入图片描述

3.2 设计分E-R图

在这里插入图片描述

图3.2.1 学生-课程 分E-R图
在这里插入图片描述

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

在这里插入图片描述

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

3.3 全局E-R图

在这里插入图片描述

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

4.逻辑结构设计

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

4.1 数据字典

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.数据库物理设计与实施

建立数据库和基本表

在这里插入图片描述

教室信息表

在这里插入图片描述

课程信息表

在这里插入图片描述

院系信息表

在这里插入图片描述

学生信息表

在这里插入图片描述

教师信息表

在这里插入图片描述

教室借用表

在这里插入图片描述

教师开课信息

在这里插入图片描述

数据库关系图

在这里插入图片描述

6.数据操作要求及实现

6.1 数据查询、更新操作

实现教师信息编号,姓名,性别,所属院系,职称等的管理
select * from 教师信息
在这里插入图片描述
实现学生信息,学号,姓名,院系号,身份证号等的管理
select * from 学生信息
在这里插入图片描述
实现教室信息编号,教室类型,教室容量,教室多媒体状况的管理
select * from 教室信息
在这里插入图片描述

6.2 视图

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

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

在这里插入图片描述

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

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

在这里插入图片描述
–创建不需要多媒体普通教室的教室信息查询视图

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

在这里插入图片描述
–创建不需要多媒体的阶梯教室信息查询视图

select * from 大教室信息查询

在这里插入图片描述
–对学生申请信息的视图查询

select * from 申请信息

在这里插入图片描述

6.3 触发器

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

delete from 教师信息 where 教师编号='10101080'
select * from 教师信息
select * from 教师开课信息

在这里插入图片描述

6.4 存储过程

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

execute 教师课程表 '10101080'

在这里插入图片描述

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://blog.csdn.net/pdsu_Zhe/article/details/122082277
版权归原作者 慢热型网友. 所有, 如有侵权,请联系我们删除。

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

还没有评论