sql主键"映射表?"

时间:2018-04-17 23:19:04

标签: sql

我有一个大学数据库,所以学生参加很多课程,但每个学生都有id作为主键,每个课程都有一个id作为主键,不允许在同一个表上有重复的id我应该用什么来制作一个表相同的id,但不同的课程id

2 个答案:

答案 0 :(得分:0)

在规范化的关系数据库中,当您遇到一个表中的项目可以与第二个表中的许多项目相关联的情况,并且同样这些相关项目可以与第一个表中的许多项目相关联时,您应该使用存储这些关系的第三个表。在您的情况下,该表可能称为注册。

您可以对该第三个表使用JOIN操作来跨该关系进行关联,分组和聚合。您还可以在JOIN表中存储与该关系相关联的任何元数据,例如,您可以在那里存储注册日期。

答案 1 :(得分:0)

像维亚库说的那样,创建第三个表

Course_id | student_id数据

课程的ID和学生在他们自己的表格中是独一无二的。课程之间的关系< - >学生存放在第三张表中。