【发布时间】:2012-07-27 02:48:40
【问题描述】:
给定两个表 Student(id,name) 和 course(course_id,course_name)。这两个表具有 M:N 关系。
- 有什么方法可以在不使用联结表的情况下在关系数据库中实现 M:N 关系?
- 如果不在关系数据库中,那么在任何其他数据库模型中?
【问题讨论】:
给定两个表 Student(id,name) 和 course(course_id,course_name)。这两个表具有 M:N 关系。
【问题讨论】:
有什么方法可以在不使用联结表的情况下在关系数据库中实现 M:N 关系?
当然,只需在其中一个表中存储一组“指针”1。您可以使用 DBMS 原生支持的数组类型,也可以使用 VARCHAR 对其进行编码。
但是,这将使您的数据库异常规范化(您将成为violating the 1NF),我无法想象为什么有人会在实践中这样做。
您是否有任何具体原因要避免使用联结表?
1另一个表中键的值。
【讨论】: