2017-09-23 94 views
-1

我有我的数据库如何创建其中一列的表指向其他表的关键点?

  • 表1 4表:学生课程(表,其中包含了字符串表示的课程名称)

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

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

  • 表4:学生课程(column1为AUTO_INCREMENT整型,列2是从表3和栏3学生钥匙的过程中,这个学生学习)

我的问题..

如何定义的表4?
如何在'创建表'中定义此表的第2列?

回答

3

不需要这个。

你的表没有normalized这种方式,你可以这样做,而不是:

Courses

  • Id主键,
  • Name

Groups

  • Id主键,
  • Name

Students

  • Id主键,
  • Name

StudentsGroups

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

StudentsCourses

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

对不起..这是我第一次处理数据库.. ::你的意思是说,根据你上面所说的,我将有5个表吗? – Yanshof

+0

@Yanshof - 是的,正确的5张桌子。 – 2017-09-23 13:47:03

相关问题