2017-02-25 156 views
0

我有一个MySQL数据库。我必须在其中插入两组数据。将多个值插入到mysql列中

  1. 程序
  2. 课程

每个程序包括一个以上的课程。一门课程可以包含多个课程。如果我创建了两个表格 - 程序和课程,是否可以将多个值插入到Program表格中名为课程的列中?如果是的话如何?如果不是,哪种方法可以在mysql数据库中表示这些数据?

我有一个想法
创建一个名为Programmes_and_Courses的第三个表,其中包含两列 - 指向程序表和courseid指向课程表的程序ID。要插入由两个课程c1和c2组成的程序p1,请按以下方式在表Programmes_and_Courses中插入两行: Table
这是个好主意吗?如果是的话,你能否为第三张桌子建议一个更好的名字?
谢谢。

+1

这就是所谓的“多对多”关系,并且是执行此操作的标准方法。表名约定通常是'courses_programmes',每个表名都有'_',表格之间按字母顺序排列。 – apokryfos

+0

感谢您的信息。 :-) –

回答

2

创建第三个表格绝对是一种方法。这种表格有时被称为联结表。以下好处:

  • 它可以让你独立插入记录ProgramsCourses表。
  • 它将保持程序和课程相互分离,并保持您的架构在第三范式。

至于名称方面,你可以去用program_courseprogram_idcourse_id为列。

+0

快速回复。谢谢。 –