我正在尝试设计一个数据库模式来模拟大学的课程安排。通常类运行MWF或TuTh。实现将使用MySQL完成。设计表格以处理日期/时间类别的最佳方法是什么?我目前的表格如下:
Time
int TimeID (primary key)
Time ClassStartTime
Time ClassEndTime
int DaysOfWeekID (foreign key)
DaysOfWeek
int DaysOfWeekID (primary key)
varchar DaysOfWeek
上面的Time表将链接到TimeID上的'Class'表。我觉得有更好的方法可以做到这一点,特别是在处理一周的日子时。当我计划用数据库实现日历时,有一个专门的“星期几”类型将更好地在前端解析。有什么建议?提前致谢
答案 0 :(得分:0)
通过这种方法,课程可以从一周中的任何一天开始,不同的几周可以持续到不同的时间。某些类具有运行MWRF或MTWF的“LAB”。星期二/星期四的实验室。这种方法的缺点是你必须记录每一天的开始/结束时间。
Class
ClassID
DaysofWeek
DaysOfWeekID
ClassHours
ClassID
DaysofWeekID
StartTime
EndTime
班级的课时数为零或多 课时属于一个且只有一个班级 课时属于一周的一天,一周只有一天 DayofWeek属于零至多课时。
答案 1 :(得分:0)
有很多方法可以对此进行建模。很大程度上取决于数据的样子 - 例如,你说类“通常”运行MWF或TuTh - 很多都取决于你打算用它做什么。
这样的事可能有用:
Class
Id int (PK)
StartTime Time
EndTime Time
Class_DayOfWeek
ClassId int (FK)
DayOfWeekId int (FK)
DayOfWeek
Id int (PK)
Name varchar -- Monday, Tuesday, etc.
如果课程在不同日期的不同时间相遇,您需要更进一步。如果你想处理调度资源(如教师和教室),你需要更进一步......但希望这会有所帮助。