我想要使用多对多的关系。如何在学生中学习科目和学科科目。
学生表
student_IDno | full name | address |
和主题表
subject_IDno| title | description | time |
我想将学生ID号分配给 主题表,以便主题表可以有学生
我可以在主题表中做同样的事情吗?将主题ID号分配给学生表,以便它也可以有一个主题?
如果我搜索主题代码,学生将出现, 与学生相反,如果我搜索学生代码科目也会出现。
最好的方法是什么?我希望我能帮助解释我的问题。
答案 0 :(得分:1)
您引入了一个THIRD表来建立表STUDENT和SUBJECT之间的关系。让我们调用表 CLASS 。它将包含以下列:
classID | student_IDno | subject_IDno
让我们说一名学生就读于该校。将使用唯一的student_IDno将条目插入到STUDENT。 (让我们说1)
主题列表当然位于SUBJECT表中。
现在,如果学生想要注册某个科目,他必须加入CLASS。现在你将他插入一个student_IDno = 1和subject_IDno =他注册的任何科目的班级。
您的CLASS表格如下:
classID | student_IDno | subject_IDno
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
你能看到它如何显示学生1的CLASS数量吗?
你如何搜索?假设你想找到正在服用SUBJECT 1的学生。
SELECT student.* FROM CLASS as class
JOIN SUBJECT as subject ON class.subject_IDno = subject.subject_IDno
JOIN STUDENT as student ON class.student_IDno = student.student_IDno
WHERE subject.subject_IDno = 1
我把剩下的留给你。我想你明白了。