自动排课系统——数据库大作业
![自动排课系统——数据库大作业](https://img.360docs.net/img19/12yregz3qt3klay38twe1mhpfqa4kpkc-91.webp)
![自动排课系统——数据库大作业](https://img.360docs.net/img19/12yregz3qt3klay38twe1mhpfqa4kpkc-62.webp)
自动排课系统
一.系统需求
1该“自动排课系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的
熟悉与掌握,其中包括从数据库的概念模型到
ER图的绘制,再到数据库模式的建立(即为数
据库及其基本表的建立),而后数据的录入(在
此从略),最后完成一些简单的关系运算表达式
的表达和相关的Select 查询语句的使用。
2系统结构简述:
2.1本系统包括六个实体:课程,学生,教室,教
师,学院,班级
2.2实体之间的多对多联系:教学计划,选课
2.2.1一个学生可选多门课,一门课可被多个学
生选修。
2.2.2一门课可使用多个教室,一个教室可被多
门课占用。
2.3实体之间的一对多联系:教学,隶属,从属,
属于,开设
2.3.1一个学院有多个教师,一个教师只隶属于
一个学院。
2.3.2一个学院有多个班级,一个班级只隶属于
一个学院。
2.3.3一个学院可开设多门课程,一门课程只能
被一个学院开设。
2.3.4一个班级有多名学生,一个学生只隶属于
一个班级。
2.3.5一个老师可教多门课程,一门课程只能被
一个老师教。
实体之间的关系转换为其他三个表:教学(一对多),教学计划(多对多),选课(多对多)。
注:各个基本表中关键字已在关系模式中说明。3经过分析,得到自动排课系统的如下功能:
3.1部分属性插入时添加默认值。
3.1.1为选课表中属性是否重修创建并绑定默
认值’NO’。
3.1.2为教师表中属性是否可用创建并绑定默
认值’YES’。
3.2对教学计划表插入数据时检查数据是否合理。
3.2.1当插入课程人数多于教室容量的数据时,无法插入数据。
3.2.2当插入课程占用不可被占用的教室的数据时,无法插入数据。
3.3部分表添加唯一约束,使插入数据的数据值受到限制。
3.3.1教学计划表中,每一门课程在一天只能安排一次。
3.3.2教学表中,一门课程只能被一个老师教。
3.4数据检索
3.4.1学生查询所选某门课程的成绩。
3.4.2输入:学生学号,课程编号
3.4.3输出:课程名称,成绩
3.4.4教师查询选修所教课程的学生的信息。
3.4.5输入:教师编号
3.4.6输出:学生姓名,学生学号,学生性别,籍贯
3.4.7学生查询选修课程授课教师的信息。
3.4.8 输入:学生学号
3.4.9 输出:课程编号,教师姓名,教师编号,授课效果,从教时间 3.4.10 学生查询所有选修课程的平均分。 3.4.11 输入:学生学号
3.4.12 输出:选课科目数,平均分 3.4.13 教室查询占用教室课程的信息。 3.4.14 输入:教室编号
3.4.15 输出:教室编号,课程名称,课程编号,教师名称,教师编号, 3.5 数据插入
3.5.1 教室数据插入。 3.5.2 学院数据插入。
3.5.3 教学数据插入。 3.5.4 学生数据插入。 3.6 数据修改
3.6.1 教学计划数据修改:修改教学计划时,输入课程编号及所需修改的属性
值,完成对教学计划表的修改。
3.6.2 教师数据修改:修改教师数据时,输入教师编号及所需修改的属性值,
完成对教师表的修改。
3.6.3 班级数据修改:修改班级数据时,输入班级编号及所需修改的属性值,
完成对班级表的修改。
3.7 数据统计与查询
3.7.1 学生及其选课的所有信息 3.7.2 教师教授课程情况的所有信息 3.7.3 教室安排情况的所有信息 3.7.4 学院_班级_学生间联系的所有信息
二. 概念设计
经需求分析,抽象出以下E-R 模型。 1. 图1 课程实体
2. 学生实体(图2)
3. 教师实体(图3)
4. 教室实体(图4)
图4 教室实体
5. 学院实体(图5)
图3教师实体
教师
教师年龄
教师性别
教师编号
教师姓名
图2 学生实体
学生
出生日期
籍贯
学生性别
学生年龄
学生学号
学生姓名
图7全局E-R 图
图
5 学院实体
6. 班级实体(图6)
图6 班级实体
7. 全局E-R 图(图7)
三.逻辑设计
系统中的实体有:课程、教师、教室、学生、学院、班级
将实体类型转换为关系模式如下:
课程(课程名称,课程编号,课程类型,课程容量,学分,课时数,所属学院编号)教师(教师姓名,教师编号,教师年龄,教师性别,隶属学院编号)
教室(教室编号,教室容量,是否可用)
学生(学生姓名,学生学号,学生年龄,出生日期,学生性别,籍贯,所在班级编号)学院(学院名称,学院编号,联系电话,通讯地址)
班级(班级编号,人数,所属年级,班导师,所在学院编号)
系统中的联系有:教学计划(多对多)、教授(一对多)、选修(多对多)
将联系类型转换为关系模式如下:
教学计划(课程编号,教室编号,起始周数,周数,起始节数,节数,星期),主键为(课程编号,教室编号)
教学(课程编号,教师编号,从教时间,授课效果),主键为(课程编号,教师编号)选课(课程编号,学生学号,是否重修,成绩),主键为(课程编号,学生学号)
注:有下划线的是主键,有波浪线的是外键。
四.物理设计
根据以上关系模式构建数据表如下:
表1 课程表(course)结构
表2 教师表(teacher)结构
表3 教室表(room)结构
表4 学生表(student)结构
表5 学院表(school)结构
表6 班级表(class)结构
表7 教学计划表(eduplan)结构