首页 文章

数据库关系 - 多对多

提问于
浏览
0

好的,所以我不是最好的数据库(在这种情况下是MySQL),但我到了那里 .

我遇到了一个与我的数据库中的2个表相关的问题 . 我有一个学生表和一个 class 表 . 这种关系(在纸面上)将是多对多的 . IE:学生可以参加许多课程,课程可以有很多学生 .

目前,我只有2个表,学生和 class ,但这似乎不够 . 我目前唯一的解决方案如下:

添加一个额外的表,带有2个字段的类:ClassID(与Class.ClassID相关)和StudentID(与Student.StudentID相关)

现在我相当肯定这会有效,但是当谈到添加/检索/更新记录时,我担心我会有点迷失 . 在进行这些查询时会有某种联接吗?

如果这不是最好的方法,会是什么?如果可能的话,我想在PHPMyAdmin中将所有表操作保留在GUI中 .

谢谢!

2 回答

  • 1

    据我所知,处理具有多对多关系的表需要一个额外的表,他们称之为JUNCTION TABLE . 看看它,你的设计似乎很好 .

  • 2

    联结表正是如何完成的 . 你的方法是正确的 .

    要检索课程的所有学生记录,只需执行以下操作:

    Select s.* from students s, class c, studcls sc where s.id=sc.student and c.id=sc.class and c.title='Math';
    

相关问题