人数 班 级 教 室 人数 课程号 班级课程 班级号 教室类别 课 程 排课处理 可用教室 分析教室 教室状态 时间点 老师号 课程号 数据流出 班级上课时段 教师授课 基本数据流程图(图1)
注:在该数据流程图中简要将系统的数据流向标示,在排课处理中综合所有的相关数据,最后得到一个班级一门课程在一个时间点的上课地点和任课老师。
精选文档
二、 概念结构设计
将以上需求分析阶段得到的数据字典及数据流程图整合为对应得到实体联系图,为下一步逻辑结构设计中创建关系代数模型和建立相应得表做最后的分析准备。
2.1 数据各实体及其属性
以下各图将系统所有实体的属性集合表示如下:
教 师 班 级 代号 姓名 专业 性别 代号 班级班级
教室号
教 室 课 程 教室类教室规模 课程号 课程名 上课类别 班级课 授课 课程号 班级号 课时数 周数 教师号 课程号
精选文档
学期时间 班级课表 教师号 班级号 代号 周次 星期 节次 时间号 课程号 教室号
教室状态 教室号 时间号 是否空
以上将数据各实体分别将图表列出。
2.2 基本E-R图的形成
实体联系部分情况: 1、 一个班级可以是在一个学期内学习没M门课程,一门课程也可以同
时在我们学校的N个班级内开课;
2、 一个老师可以教M门课程的情况,同时一门课程有N个老师在教授
课程;
3、 一个班级有M个老师授课学习,一个老师也可能在N个班级中讲课; 4、 一个班上课只能在1个教室,同时一个教室在一时刻只能一个班上
课(大课及公选课没有考虑进去);
5、 一个老师上课在1个教室,一个教室只能1个老师在上课; 6、 一个时间点有M个班级在上课,一个班级只能只能在1个时间点上
课。
基本E-R图:
精选文档
老师 M M 1 讲 课 讲课 教学 1 教 室 1 N 占 用 1 1 N 占用 1 班级 M 学习 N 课 程
系统基本E-R图
在形成E-R图的过程中,由于将各实体联系到一块,可能会产生命名冲突,结构冲突和属性冲突,在此将不具体介绍相关冲突的解决办法,只在后面的模型中自行分析并解决。
精选文档
三、 逻辑结构设计
逻辑结构设计是在概念结构设计好的基础上把形成的基本系统实体联系图转化为我们现在要使用的DBMS关系模型结构,在此将具体将E-R图的各实体和属性联系转化为一个个的关系模式,并对各关系模式分析各规范要求。
3.1 E-R图转化为关系模式
生成的关系表:
1、课程表(课程号,课程名,课程类别)
该表记录全校所有课程的相关信息,包括该课程的上课类别,也就是上课教室的类别,将课程号作为主码。
该关系中其它两个非主属性完全依赖于码值课程代号,也不存在传递依赖,同时满足于1NF,2NF,3NF三个规范。
2、班级表(班级代号,班级名,班级人数)
表记录学校各班级的的简单信息,包括班级名称和班级人数,班级人数同时将会确定该班级上课的教室规模,班级代号为主码约束,班级名和班级人数完全依赖于该码,不存在传递依赖,该关系满足3范式规范要求。 3、教师表(教师代号,教师性别,教师姓名)
教师表将学校所有老师的信息记录,教师代号为为主码,也满足三范式的规范要求。
4、教室表(教室代号,教室规模,教室类别)
将记录全校所有教室信息的表,其中实体完整性为教室代号为主码,教室规模为教室容纳人数,教室类别取值有int型数据4种,两个非主属性完全依赖于码且不传递依赖于主码。
5、时间表(时间代号,星期,节次,周次)
记录学校一个学期所有上课时间的表,将节假日和双休日可以不再表内,包含周次,星期,节次三个时间属性,时间代号为主码约束,三个属性完全依赖于主码,也不传递依赖于主码,满足关系范式要求。
6、班级选课表(班级代号,课程代号,课时数,周数)
班级选课表将记录一个班级一门课程的上课信息,包括课时数,和上课总周数,班级代号和课程代号为主码,同时也是班级表和课程表的外码,一个班的某门课程的上课课时和周数一定的,两个属性完全依赖于主码,同时这个关系也将是编程实现时进行排课所需要的表,将会生成视图和编写触发器对应外码的参照完整性。
7、班级派课表(班级代号,时间代号,课程号,教师代号,教室代号)
班级派课表中记录排课后的班级上课表,也是最终得到的班级课表信息,以班级代号和时间代号为主码约束,其他属性有该班级在该时刻上课的课程,上课的老师代号,以及上课的教室代号。
8、教室状态表(教室代号,时间代号,使用状态)
精选文档