1课程至少有1堂课
1讲座可以有0个或更多教程
1讲座可以有0个或更多实验室
1教程可以有0个或更多实验
这就是我的表格暂时设置的方式:
我在课程中遇到两种不同的情况:
1 - 对于给定的讲座,您有0个教程,但有2个实验室部分(您只选择1个实验室) - >所以1 lec + 1实验室 2 - 对于给定的讲座,您有2个教程,2个与每个教程相关的实验 - >所以1 lec + 1 tut + 2 labs
我的结构将因情况#1而失败(因为0 TUT会制动LEC和LAB之间的链接)
替代结构(由octern提议):
课程 - LEC
LEC - TUT
LEC - LAB
问题在于:我如何确定学生是否需要参加1或2个实验?
答案 0 :(得分:0)
如果您描述的规则准确无误,那么您提出的关系就是正确的。 “1教程可以有0个或更多实验室”意味着每个实验室都与(至少?)一个教程相关。但是当你说“如果一个讲座没有教程但只有一个实验室,这会失败”,你就表明规则并没有准确地模拟情况。你说实验室与讲座有关,而不是教程。因此,TUT
和LAB
上的外键应为lec_id
。