【问题标题】:M:N relationship without a junction table没有联结表的 M:N 关系
【发布时间】:2012-07-27 02:48:40
【问题描述】:

给定两个表 Student(id,name) 和 course(course_id,course_name)。这两个表具有 M:N 关系。

  • 有什么方法可以在不使用联结表的情况下在关系数据库中实现 M:N 关系?
  • 如果不在关系数据库中,那么在任何其他数据库模型中?

【问题讨论】:

    标签: database-design junction


    【解决方案1】:

    有什么方法可以在不使用联结表的情况下在关系数据库中实现 M:N 关系?

    当然,只需在其中一个表中存储一组“指针”1。您可以使用 DBMS 原生支持的数组类型,也可以使用 VARCHAR 对其进行编码。

    但是,这将使您的数据库异常规范化(您将成为violating the 1NF),我无法想象为什么有人会在实践中这样做。

    您是否有任何具体原因要避免使用联结表?


    1另一个表中键的值。

    【讨论】:

      猜你喜欢
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多