排课系统中数据库表的设计
2015-06-29李娟
李娟
摘要:数据库表是数据库中所必需要设计的内容,表结构是否规范直接关系到后续数据的保持,这就要求建立一个简洁、清晰的数据库表。以免存储冗余信息,造成浪费。
关键词:数据库 排课 逻辑设计
中图分类号:G71 文献标识码:A 文章编号:1672-3791(2015)05(C)-0000-00
对排课进行分析之后,需要设计一个合适的数据库表,并要求该数据库表满足前面提到的排课算法以及第三范式,因此笔者对数据库表进行了设计。
(1) 周课时数设定表 周课时数设定表主要体现的是年级与课时数的关系,这里主要包括各个年级在规定学期当中一天的课时数(在这里,课时数用Ω的一个子集表示,用Kci来表示某个年级的日课时)。
(2) 年级科目设置表 年级科目设置表主要体现的是不同年级不同科目之间的关系,其主要结构是不同年级在每个学期的科目代码、周课时数之间的关系,还有一天最大节数、不同天同一节最大数等等。
(3) 教师任教设置表 教师任教设置表主要体现的是教师、年级和科目之间的关系。
(4) 年级科目排课限制表 年级科目排课限制主要体现的是年级、科目与时间之间的关系,其主要结构是学期、年级、科目代码、固定教室代码、每日时间段允许标志等(每日时间段允许标志值用0或1来表示,0表示不允许在这段时间安排课程,1表示允许)。
表结构参见下表1所示。
(5) 教师排课表 教师排课表主要体现的是教室、年级与时间之间存在的关系,它是由年级代码、教师代码、时间允许标志等组成(该表的设计思想模仿了年级科目排课表,即每日时间允许标志值用0和1来表示,0表示不允许在该时间段安排课程,1表示允许)。
(6) 固定课程设置表 固定课程设置表主要体现的是班级、课程与时间之间的关系,其主要结构是学期、年级、班级、教师代码、周、节、科目等(自动排课前预先设置的固定课程均作为记录保存在该表中,也就是某个班级在指定时间段的课程设置)。参见表2所示。
上面的表中,第几天用WK表示,第几节用JJ表示。由于不同年级、不同学期在每天的课时数会发生改变,所以这里采用序列号,即某节课只是在该年级、该学期有意义,在其它情况下无意义。例如10年级在周一上午4节课,12年级在周一上午2节课,那么第4节课对10年级来说是上午第4节课,对12年级来说就是下午第2节课,在这种情况下,每周课时数设定表要与固定课程设置表配合起来使用,避免产生冲突。
(7) 学校课程表 学校课程表指的是课程总表,其主要结构是年级、学期、某个班级在每周、每节的科目以及教室代码、教师代码(这是排课的最总结果,也就是某个教师在一周的某一天给那个班级上那一门课的具体安排,以课时周为循环周期)。参见表3-3所示。
其中WK、JJ对应的是“固定课程设置表”中的相应字段,为了在生成课程表时可以按照班级生成对应的班级课程表在表3-3中设计了JSDM和JSID字段,这样即可以按照教室生成教室课程表,还按照教师生成教师课程表以方便不同用户在不同需要下查询。
数据库表的逻辑设计
能否正确的使用数据结构关系到是否可以其他应用程序的内容,因此在设计数据库时,一定要确保数据正确分布到数据库的表中。排课参数在这里会确定课程编
排所需要的实体,下面是各表之间的关系。
(1) 科目字典表和学校课程表 这两个表在使用时采用的是一个表对应多个表的关系。在学校的课表中一门课程可能会出现两次或以上的情况,例如一个年级可能会有若干个班级,那么不同的班级就有可能上相同的公共课程,一门课程也可能在一周内上两次以上。
(2) 科目字典表和教师任教设置表 这两个表在使用时采用的是一个表对应多个表的关系。一个年级的不同班级需要上同一科目,甚至需要多名教师任教,对于某一个科目,由于班一名教师可以同时教授不同班级。
(3) 科目字典表和固定课程设置表 这两个表在使用时采用的是一个表对应多个表的关系。在学校课表中一门课程在固定课程表中可能出现两次或以上,这就是与在学校课程表所出现的情况中类似,也就是说同一年级中的不同班级可能会要上同一门课程。
(4) 科目字典表和年级科目设置表 这两个表在使用时采用的是一个表对应多个表的关系,不同班级或班级在同一学期内的课时数可能不同。
(5) 年级科目表和年级科目排课表 这两个表在使用时采用的是一个表对应一个表的关系。每个年级都对应于它所上的每个科目,不会出现重复现象。
(6) 固定教室字典表和科目排课表 这两个表在使用时采用的是一个表对应多个表的关系。一个教师根据需要有时候可能会担任同一年级两门及以上的课程,那么在这种情况下就可以给该教师在不同的时间里安排不同的课程。
(7) 教师排课表和教师任教表 这两个表在使用时采用的是一个表对应多个表的关系。在学校里有时候根据需要,一个教师不但要担任同一年级不同的课程,还有可能担任不同年级的的不同课程,这样一名教师不但可以任教不同的年级,也可以任教不同的年同课程,一名教师也可能不止在本系或本学院担任课程,还可能在其他系或学院担任不同的课程。
参考文献
[1] 郑广成. ASP. NET中AWSMVC架构模式研究. 河北科技大学学报, 2011, (6): 598-604
[2] 张永弟, 岳彦芳. 基于Web的CAPP与MES信息集成化管理系统, 河北科技大学学报, 2008, (2): 152-157
[3] 白云飞, 倪素虹. 基于自适应遗传算法的智能组卷的研究. 河北工业科技, 2006, 23(4): 210-212
[4] 李颖, 张世民. 基于Web的高校户籍管理系统研究. 河北工业科技, 2009, 9(5): 319-350