我有两个实体,Class和Student_Class。以下是实体:
Class:
ClassId (PK) int (5)
ClassDay varchar(9)
ClassTime time
ModuleId (FK) varchar(10)
TeacherId (FK) varchar(4)
Student_Class:
ClassId (PK) int(5)
StudentId (PK) varchar(6)
我的问题是我不知道如何解释这种关系。是一个student_class属于一个类,并且在类上可能有许多student_classes或反之亦然,因为我不确定哪个是有趣的,因为我创建了这个关系。起初我认为这是一个多对多的关系,但它不可能是因为Student_class介于学生和班级实体之间。
答案 0 :(得分:2)
你需要一个第三个实体 - 学生PK为StudentId。
您的Student_Class基本上是一个“交叉引用”表。它允许多对多关系。它应该有两个FOREIGN KEYS(不是PK)。如果愿意,可以为键添加两个索引。
这样,每个学生都可以拥有任意数量的Classes链接。然后,您可以选择学生所拥有的课程列表,或者给定课程中的所有学生。