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

  • 前言
  • 1.概述
  • 2.需求分析
    • 2.1 学校的教室使用情况
    • 2.2 用户要求
    • 2.3 功能需求
  • 3.概念结构设计
    • 3.1 抽象出系统的实体
    • 3.2 设计分E-R图
    • 3.3 全局E-R图
  • 4.逻辑结构设计
    • 4.1 数据字典
  • 5.数据库物理设计与实施
    • 教室信息表
    • 课程信息表
    • 院系信息表
    • 学生信息表
    • 教师信息表
    • 教室借用表
    • 教师开课信息
    • 数据库关系图
  • 6.数据操作要求及实现
    • 6.1 数据查询、更新操作
    • 6.2 视图
    • 6.3 触发器
    • 6.4 存储过程
  • 7.总结
  • 参考文献
  • 附部分代码

前言

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

关键词:数据库 教室 管理


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 教室信息管理gocreate proc 教师课程表(@教师编号 int)asselect 教师信息.教师姓名 教师名,教室信息.教室编号 教室号,课程信息.课程名称 课程名,教师开课信息.星期 星期,教师开课信息.上课时间段 节次from 教师开课信息join 教室信息 on 教师开课信息.教室编号=教室信息.教室编号join 教师信息 on 教师开课信息.教师编号=教师信息.教师编号join 课程信息 on 教师开课信息.课程号=课程信息.课程号where 教师开课信息.教师编号=@教师编号order by 教师开课信息.星期 desc,教师开课信息.上课时间段 ascGOexecute 教师课程表 '10101081'--创建触发器删除教师信息时删除教师的开课信息create trigger 教师删除触发器on 教师信息instead of deleteasbegindelete 教师信息 where 教师编号=(select 教师编号 from deleted)delete 教师开课信息 where 教师编号=(select 教师编号 from deleted)endgo