我知道几乎所有与 RDBS 中的时间表建模相关的内容都被告知,但我找不到任何关于在 DB 中存储时间表的可用技术的书面文档。
我的情况:
- 我有一张桌子,里面有可用的地方,还有一张有实际班级的桌子。
- 每个地方都有自己独特的时间表
- 每节课都可以安排在任何地方,任何时间,除了少数例外:
- 一个班可以占用一个时间段(例如:如果A班安排在12:00的地点P1持续1小时,那么下一次A班只能安排在12:00之前或13:00之后,在任何地方,有空闲时间段;禁止两地同时安排A班)
- 在一个地方它可以是一个有时间段的班级
- 模型应支持预定课程的版本控制/历史记录
现在,我如何在 SQL DB 中表示这个数据模型?
我不是在寻找现成的确切模式,而是如果有人可以编写可用的建模技术及其比较,我会很高兴,我可以用它来解决这个任务
例如:对于树结构/分层数据,有据可查的“改进的前序树遍历算法”,是否有一些类似的算法/技术来处理时隙?