我有以下一种情况:
每个学生都可以报名参加多个班级。 每节课可以容纳一个以上的学生。
以下哪一项是可能的答案:
(1) 1 to N
(2) M to N to 1
(3) M to N
(4) Anything else
如果答案是(4),那么其他答案是可能的......
任何评论都很明显,
提前知道,米兰门德帕拉答案 0 :(得分:1)
M:N 。
从实体的角度看问题,找到答案。
class
都可以有多个 student
个实体。我们有1:M
。student
都可以在很多 class
中注册。那也是1:M
。在规范化的数据库中,您有Class
和Student
定义(最低限度),如下所示:
Class: Id, Name
Student: Id, FirstName, LastName
如果您在Class
上向Student
添加外键,则只允许每个Class
拥有一个Student
。如果您将外键放在Student
上Class
,那么您只允许每个Student
一次Class
。答案是使用关联表作为这是M:N关系:
StudentClass: StudentId, ClassId
希望有所帮助。
答案 1 :(得分:0)
这是3号。
多名学生(M)呼叫多个班级(N)。
答案 2 :(得分:0)
答案是
3 M到N
您需要定义一个包含字段class_id
和student_id
的表来存储关系。
查看有关database normalization