学校网站SQL设计

时间:2012-05-14 02:03:06

标签: mysql algorithm

我刚刚交了一个项目来修改学校网站进行课堂注册。目前的系统是为每个班级设计的,每周运行一次,但我需要改变一些东西,以便每周一个或多个夜晚可以开课。我正在努力寻找一种有效的方法来关联每个类,并允许客户在注册该系列时查看和选择单个类。

我的第一个想法是添加另一个字段(groupid),该字段可以包含唯一值以将相应的类绑定在一起。查看查询以对此方法进行排序很困难,因为如果我按星期排序后跟groupid(用于显示,类选择等),那么类将被分开。按groupid排序然后是星期几会产生非时间顺序,这也不起作用。有没有办法在排序后将类移到groupid,但不影响排序日期?

我的第二个想法是修改表以支持每行多个类。这将是更简单的方法,但不太灵活,如果课程不在一周的同一时间运行,则更有问题。

无论如何,我有点迷失,并会感谢任何有关设计和/或查询的反馈,以帮助解决我的排序问题。

谢谢!

1 个答案:

答案 0 :(得分:4)

一个类是一个单独的实体,无论它在给定的一周内遇到多少天。创建计划表。它将包括FK_ClassID和ScheduleDate。如果它在一周内满足三天,它将有三个记录。这样,学生可以安排多个班级,但检查以确保他们不会在一周的同一天重叠。