【问题标题】:What's the correct name for an "association table" (a many-to-many relationship) [closed]“关联表”(多对多关系)的正确名称是什么[关闭]
【发布时间】:2011-03-03 23:14:41
【问题描述】:

“关联表”的正确名称或最流行的名称是什么?

我听说过查找、关联、解析、映射和联结表。

【问题讨论】:

  • 我想我也听说过它叫“链接表”,但它与链接表的概念有太多重叠和歧义
  • What should I name a table that maps two tables together? 的可能重复项。没有绝对的“正确”名称,只有同义词具有相同含义:Xreference(XREF)、map、lookup、associative 等
  • en.wikipedia.org/wiki/Junction_table 说:连接表有很多名称,其中交叉引用表、桥表、连接表、映射表、交叉表、链接表、多对多解析器、链接表、配对表、数据透视表、转换表、人行横道或关联表。

标签: sql mysql sql-server oracle rdbms


【解决方案1】:

没有“正确”的名称,但学术名称将是“关联表”(参见维基百科文章Associative Entity)。其他常用名称(按字母顺序):

  • 关联表
  • 桥牌桌
  • 交叉引用表
  • 人行横道
  • 中间表
  • 交点表
  • 加入表
  • 连接表
  • 链接表
  • 链接表
  • 多对多解析器
  • 地图表
  • 映射表
  • 数据透视表
  • 配对表
  • 关系表
  • 转换表

注意:这是由 Derek Greer 创建的原始内容,但作为对已接受答案的编辑发布,完全改变了答案。

【讨论】:

  • 创建的答案根据meta.stackoverflow.com/questions/337963/…从接受的答案中回滚
  • 我也使用 pivot 表。根据公司标准,我可能只在表studentscourses 上使用student_courses 进行多对多。我遇到的一些标准可能会为此强制使用前缀;如lnkrefpvt等... lnk_students_courses.
【解决方案2】:

交叉引用表。客户产品外部参照。

【讨论】:

  • 我不得不说我完全反对你的命名约定。如果您接受这样的表是关系表,那么表名应该反映关系。我认为大多数数据建模者会将客户和产品之间的关系称为“订单”。
  • @onedaywhen "Orders" 通常是多对一的例子,而不是多对多的例子,尽管不幸地提到了"产品"。此外,将“客户订单”与“采购订单”区分开来可能是有意义的。在一对多的情况下,如果条件允许,我会选择不使用连接表。对于您的批评,“客户产品”确实是一个不寻常的表名称组合。
【解决方案3】:

“正确”取决于使用的建模方法。我对陈很熟悉,其中这张表是Associative Entity的物理实现。我想最流行的将与最流行的建模方法直接相关。

Wikipedia 列出了此类表的多个名称。

【讨论】:

    【解决方案4】:

    我被教导并使用术语“加入表

    【讨论】:

      【解决方案5】:

      取决于你问谁。它们都是正确的,请使用对您正在与之交谈的人最有意义的术语。

      【讨论】:

        【解决方案6】:

        关系表。

        “SQL 中的一个基本技巧是表示多对多关系。您创建第三个表,该表引用主键所涉及的两个(或多个)表。这第三个表有很多流行的名称,比如'junction table'或者'join table',但我知道是关系。”

        Hollywood Couples by Joe Celko

        【讨论】:

          【解决方案7】:

          您将客户表称为 CustomerTable 还是 Customer 或 Customers?我通常使用“业务对象”名称(例如,有关哪些客户订购了哪些产品的信息的订单,而不是 CustomerProduct),但是一个真正只是跟踪关系的表,如 SalesRepCustomer,我给出了所涉及的两个表的名称并且不要t 添加后缀。正如其他人所说,保持一致。

          我保留名称查找(在对话中,而不是在表名中)诸如“国家 11 的名称是什么”之类的内容,而不是“哪个销售代表负责国家 11”。

          【讨论】:

          • +1 但是对于跟踪关系的表,“业务”通常已经有了该关系的名称,例如对于我工作的企业,负责照顾特定客户的销售人员被称为“客户经理”。
          【解决方案8】:

          我们在我工作的地方称这些人行横道桌子。命名基于 Table1XTable2,其中内容是 2 个表的 PK。

          【讨论】:

            猜你喜欢
            • 2011-03-07
            • 2017-06-02
            • 1970-01-01
            • 2015-09-16
            • 1970-01-01
            • 1970-01-01
            • 2019-02-16
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多