如何创建其中一列指向其他表的键的表?

时间:2017-09-23 11:58:48

标签: sql database

我的数据库上有4个表

  • 表1:学生课程(包含代表课程名称的字符串的表格)

  • 表2:StudentGroup(学生组名称集合)

  • 表3:学生(学生姓名(第1栏)和学生组(第2栏)的集合 - 关键是组合学生姓名和学生组)

  • 表4:学生课程(第1列是AUTO_INCREMENT int,第2列是表3中的学生键,第3列是该学生学习的课程)

我的问题..

我如何定义table4?
如何在'create table'上定义该表的column2?

1 个答案:

答案 0 :(得分:3)

不需要这个。

您的表格不是normalized这样,您可以这样做:

<强> Courses

  • Id主键,
  • Name

<强> Groups

  • Id主键,
  • Name

<强> Students

  • Id主键,
  • Name

<强> StudentsGroups

  • Id主键(surrogate key)。
  • StudentId学生表的外键。
  • Groupid组表的外键。

<强> StudentsCourses

  • Id主键代理键,
  • StudentsId学生外键表,
  • courseid课程表的外键。