一个中小学排课系统,数据库该如何设计。 我想做一个中小学排课系统,请问:1.这个数据库怎样设计才合理.2.在添加完数据(班级、教师、课程)后,怎么按照规则(比如副课一般排在上午或下午最后一节)自动生成一张课程表?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.这个数据库怎样设计才合理. 班级表(班级ID,班级名,年级) 教师表(教师ID,教师姓名) 课程表(课程ID,课程名称,是否副课,年级) 班级课程表(班级课程ID,班级ID,课程ID,上课时间) 教师任课表(教师任课ID,教师ID,课程ID) 教师课程表(教师课程ID,教师ID,班级课程ID) 根据需要,还可以灵活伸缩,如,增加年级表,删除教师任课表等等。2.在添加完数据(班级、教师、课程)后,怎么按照规则(比如副课一般排在上午或下午最后一节)自动生成一张课程表? 主要就是在课程表中加一个布尔字段“是否副课”来处理。 非常感谢 victorycy(中海)“1.这个数据库怎样设计才合理. 班级表(班级ID,班级名,年级) 教师表(教师ID,教师姓名) 课程表(课程ID,课程名称,是否副课,年级) 班级课程表(班级课程ID,班级ID,课程ID,上课时间) 教师任课表(教师任课ID,教师ID,课程ID) 教师课程表(教师课程ID,教师ID,班级课程ID)”,请问教教师任课表(教师任课ID,教师ID,课程ID)可否去掉?因为我只需要分别为每个班级,每位教师打印相应地课表?2.另外在排课过程中,还有些规则,比如教师要求(如某天不得排课)、课程约束(如体育不能排在上午第一节课)、班级约束(如某班星期五下午最后一节课不排课)、校级约束(如全校所有班级星期一下午第一节课都为班会)等信息自动为班级和教师生成课程表,要求主课尽量排在上午和下午一、二节课,副课尽量排在上午和下午的最后一节课,如体育课排在上午第一节课是不太合适的。对于软件不能安排的少数课程,教务工作者能够在自动排出的课程表上进行手工调课。要求:(1)系统可以进行两节连课处理,如作文课可以连课上;(2)排出的课程表中不允许有教师冲突的情况,比如,一个教师同时给两个班级上课是不允许的;(3)要求课程表中的课程要有所变化,比如一个班级的所有数学课总是排在上午第一节课是不好的课程表。(4)每周上课天数可以是5天也可以是六天,每天上课节数可以是7节或是8节;(5)每个年级所开课程是一样的,而且所开课程可以变化;(6)一个教师可以教授多门课程;(7)系统可以为每个班级和每位教师打印课程表;(8)系统可以把生成的课程表自动转化成网页在网上公布;(9)在课表生效后,教师可以要求调课;(10)教师数量是动态的,所开课程的数量也是动态的。对这些规则是否也需要建表存储呢?还有就是设定好这些规则好,如何在自动生成课表时引用这些规则?恳请高手们多多指点! a_cer(玩家) 说得不错,的确是有好多规则的。 穷举法?劝楼主不要试了。因为排课组合实在太多。过去在做AI(人工智能)学习报告的时候看过一篇文章,就是排课系统。排课是资源竞争的人工智能问题。你可以到图书馆的文献检索部门查找一下。问题决非那么简单。如果完成希望能跟我交流一下:[email protected](只要思想,不要代码) 关于用vb编写个程序 VB.NET sql查询问题 速求解了 怎么设置先运行哪个模块或窗体? 我用vb打包后,在其它机器上出现. 手写板写到textbox乱码的问题 ezftp.ocx 专业版在哪儿下载?(100分) 如何用ADO连接设了密码的Access库文件? 串口通信的问题,大家来看一看吧,给高分!!! 如何控制页面中的滚动条 分数增加中 想赚点分咋这么难呢?! 如果做行业软件,像什么ERP,MIS……,做哪方面的最赚钱? 使用outlook编写发送邮件的程序,如何切换帐号
班级表(班级ID,班级名,年级)
教师表(教师ID,教师姓名)
课程表(课程ID,课程名称,是否副课,年级)
班级课程表(班级课程ID,班级ID,课程ID,上课时间)
教师任课表(教师任课ID,教师ID,课程ID)
教师课程表(教师课程ID,教师ID,班级课程ID) 根据需要,还可以灵活伸缩,如,增加年级表,删除教师任课表等等。
2.在添加完数据(班级、教师、课程)后,怎么按照规则(比如副课一般排在上午或下午最后一节)自动生成一张课程表? 主要就是在课程表中加一个布尔字段“是否副课”来处理。
“1.这个数据库怎样设计才合理.
班级表(班级ID,班级名,年级)
教师表(教师ID,教师姓名)
课程表(课程ID,课程名称,是否副课,年级)
班级课程表(班级课程ID,班级ID,课程ID,上课时间)
教师任课表(教师任课ID,教师ID,课程ID)
教师课程表(教师课程ID,教师ID,班级课程ID)”,请问教教师任课表(教师任课ID,教师ID,课程ID)可否去掉?因为我只需要分别为每个班级,每位教师打印相应地课表?2.另外在排课过程中,还有些规则,比如
教师要求(如某天不得排课)、
课程约束(如体育不能排在上午第一节课)、
班级约束(如某班星期五下午最后一节课不排课)、
校级约束(如全校所有班级星期一下午第一节课都为班会)等信息自动为班级和教师生成课程表,要求
主课尽量排在上午和下午一、二节课,
副课尽量排在上午和下午的最后一节课,
如体育课排在上午第一节课是不太合适的。
对于软件不能安排的少数课程,教务工作者能够在自动排出的课程表上进行手工调课。
要求:
(1)系统可以进行两节连课处理,如作文课可以连课上;
(2)排出的课程表中不允许有教师冲突的情况,比如,一个教师同时给两个班级上课是不允许的;
(3)要求课程表中的课程要有所变化,比如一个班级的所有数学课总是排在上午第一节课是不好的课程表。
(4)每周上课天数可以是5天也可以是六天,每天上课节数可以是7节或是8节;
(5)每个年级所开课程是一样的,而且所开课程可以变化;
(6)一个教师可以教授多门课程;
(7)系统可以为每个班级和每位教师打印课程表;
(8)系统可以把生成的课程表自动转化成网页在网上公布;
(9)在课表生效后,教师可以要求调课;
(10)教师数量是动态的,所开课程的数量也是动态的。对这些规则是否也需要建表存储呢?
还有就是设定好这些规则好,如何在自动生成课表时引用这些规则?恳请高手们多多指点!