数据库模式中的多对多关系表是否有正式名称?

时间:2009-09-15 22:14:31

标签: database naming-conventions rdbms

我参与过的大多数项目都需要数据库模式中的多对多关系。例如,您可能具有“用户和组”的概念,并且数据库可能包含表User,表Group和用于将两者关联的表UserGroup。

我对该示例中UserGroup表的概念名称感兴趣。

我已经习惯于称他们为“摇摆桌”,因为这就是我学习它的方式,但我还没有听到其他人在一段时间内使用这个术语。

相反,我听说过以下所有内容(包括一些新内容,感谢大家!):

  • 关联表
  • 桥牌表
  • 交叉引用表
  • Gerund(E.F。Codd,关系模型的创建者,可能更喜欢这个)
  • 交叉表
  • 加入表格(Google上的大部分搜索结果...请参阅下面的答案)
  • 交界处表(维基百科赞成这个)
  • 链接表(Fowler likes this one
  • 多对多关系表
  • 地图表
  • 参考表
  • 关系表
  • 摆动桌

这种表格是否有官方名称,有来源支持其官方名称?

10 个答案:

答案 0 :(得分:15)

我把它称为交叉引用表。

有些人可能不认为这是一个官方用语,但它肯定是一个受欢迎的术语。我的意思是,如果您search for it,您会在Google中找到大量相关结果。我喜欢的另一件事是它可以很容易地缩写为“xref”,然后在你的表格命名方案中使用,例如“table1_xref_table2”。这会让团队中的每个人都称之为同样的事情。

更新:

维基百科称之为junction table。奇怪的是,我从未听过这个词,但我想不同的圈子称它为不同的东西。正如我们所发现的那样 - 没有一个官方的答案。

答案 1 :(得分:13)

在我看来,最常见的名称是“加入表”,但我听过你列出的其他几个名字。所以,我会说“不”,没有“官方”名称: - )

答案 2 :(得分:8)

这是非常不科学的,但我认为看到有多少Google结果与此问题的常见答案和“多对多”一词的组合相关将会很有趣。

基于此,看起来像“join table”是... um ...在多对多关系中加入表格最常用的术语。


组合搜索字词

  

“加入表格”“多对多”

在Google中返回大约13,700个结果。

  

“链接表”“多对多”

返回约4,700。

  

“交汇表”“多对多”

返回3,500左右。

  

“关联表”“多对多”

返回3,300左右。

  

“关系表”“多对多”

返回3,200左右。

  

“交叉表”“多对多”

返回大约1,500。

  

“交叉引用表”“多对多”

带回1,000。

  

gerund“多对多”

仅返回450。

答案 3 :(得分:4)

我总是打电话给交叉表。

答案 4 :(得分:3)

我称之为链接表,但我已经打电话给他们了很长时间以至于我不知道从哪里得到这个词。

答案 5 :(得分:1)

我认为关系表更像是标志。至少这是我们使用的。顺便说一句,如果你要求命名,我们总是以这种方式table1_table2使用它,没有例外。从长远来看,这对你有利。

答案 6 :(得分:1)

在Smarties的SQL中有一节,Celko有机会为这种表命名:

  

表示多对多的表   关系应该由他们的名字命名   内容,应尽量少   可能。例如,学生是   与Classes相关的三分之一   (关系)表为他们的   全勤。这些表可能会   代表纯粹的关系,或   (等)...

在本节的顶部,他谈到了E-R(实体 - 关系)图。

答案 7 :(得分:1)

我总是称它们为“多对多表”或“多对多连接表”。似乎最不可能被误解为别的东西。 (我注意到你在问题的标题中使用了类似的措辞......)

答案 8 :(得分:0)

肯定是

交集表!我相信oracle也赞成“交集”表。

http://download.oracle.com/docs/cd/B40099_02/books/ConfigApps/ConfigApps_TablesColumns7.html

答案 9 :(得分:0)

当我第一次开始处理关系数据库(12年前的Dec Rdb)时,我被告知称他们为“链接实体”。 “实体”位可能来自表格所在的实体关系图,尽管“链接表”现在听起来更像是来自同一个进化树。

使用@Noah在Google上的突破性研究,目前产生约2000个参考文献:

"link entity" "many to many"