数据库模式中的多对多关系表是否有正式名称?
-
07-07-2019 - |
题
我参与过的大多数项目都需要数据库模式中的多对多关系。例如,您可能有“用户”和“组”的概念,并且数据库可能包含一个“用户”表、一个“组”表和一个将两者关联起来的“用户组”表。
我对该示例中 UserGroup 表的概念名称感兴趣。
我已经习惯称它们为“秋千桌”,因为我就是这样学会的,但我已经有一段时间没有听到其他人使用这个术语了。
相反,我听到了以下所有内容(包括一些新的内容,谢谢大家!):
- 关联表
- 桥台
- 交叉引用表
- 动名词 (E.F.Codd,关系模型的创建者,可能更喜欢这个)
- 交集表
- 连接表(Google 上的大多数搜索结果...参见下面的答案)
- 连接表(维基百科偏爱这个)
- 链接表(福勒喜欢这个)
- 多对多关系表
- 地图表
- 参考表
- 关系表
- 秋千桌
这种桌子有官方名称吗?有来源支持其官方性吗?
解决方案
在我看来,最常见的名称是“Join Table”,但我听说过您列出的其他几个名称。所以,我会说“不”,没有“官方”名称:-)
其他提示
这是非常不科学的,但我认为看看有多少谷歌结果与这个问题的常见答案和术语“多对多”的组合相关联会很有趣。
基于此,看起来像 “加入表” 是最常用的术语,用于表示...嗯...多对多关系中的连接表。
组合搜索词
“连接表”“多对多”
在 Google 中返回大约 13,700 个结果。
“链接表”“多对多”
回报率约为 4,700。
“联结表”“多对多”
回报3500左右。
“关联表”“多对多”
返回3,300左右。
“关系表”“多对多”
回报约为3,200。
“交集表”“多对多”
回报1,500左右。
“交叉引用表”“多对多”
带回 1,000。
动名词“多对多”
只返回 450。
我那时总是打电话 路口 表。
我称他们为 链接表, ,但我这么称呼他们已经很久了,以至于我不知道这个词是从哪里来的。
我认为关系表更有意义。至少我们是这么用的。顺便说一句,如果您要求命名,我们总是这样使用 table1_table2
无一例外。从长远来看,这会对你有好处。
在 Smarties 的 SQL 中有一个部分,Celko 有机会命名这种表:
代表多一关系的表应该由其内容命名,应尽可能最小。例如,学生与第三个(关系)表的出席相关。这些表可能代表纯粹的关系,或(等)...
在本节的顶部,他讨论了 E-R(实体关系)图。
我总是称它们为“多对多表”或“多对多连接表”。似乎最不可能被误解为其他东西。(我注意到您在问题标题中使用了类似的措辞......)
路口 表肯定!我相信甲骨文也青睐'路口' 表。
http://download.oracle.com/docs/cd/B40099_02/books/ConfigApps/ConfigApps_TablesColumns7.html
当我第一次开始研究关系数据库时(大约 20 年前的 Dec Rdb),我被告知将它们称为“链接实体”。“实体”位可能来自表所在的实体关系图,尽管“链接表”现在听起来更适合来自同一进化树。
使用 @Noah 在 Google 上的开创性研究,目前可生成约 2000 个参考文献:
"link entity" "many to many"