Есть ли официальное имя для таблицы отношений «многие ко многим» в схеме базы данных? - PullRequest
22 голосов
/ 16 сентября 2009

Большинство проектов, над которыми я работал, требовали отношения «многие ко многим» в схеме базы данных. Например, у вас может быть понятие «Пользователи и группы», а база данных может содержать таблицу «Пользователь», таблицу «Группа» и таблицу «Группа пользователей», чтобы связать их.

Меня интересует концептуальное имя таблицы UserGroup в этом примере.

Я привык называть их «качающимися столами», потому что так я узнал, но я не слышал, чтобы другие люди использовали этот термин в течение некоторого времени.

Вместо этого я услышал все следующее (включая некоторые новые, спасибо всем вам!):

  • Ассоциативный стол
  • Стол для бриджа
  • Таблица перекрестных ссылок
  • Герунд (Э. Ф. Кодд, создатель реляционной модели, может предпочесть это)
  • Таблицы пересечений
  • Присоединиться к таблице (большинство результатов поиска в Google ... см. Ответ ниже)
  • Соединительный стол (Википедия предпочитает этот)
  • Таблица ссылок ( Фаулеру нравится эта )
  • Таблицы отношений «многие ко многим»
  • Карта стола
  • Справочная таблица
  • Таблица отношений
  • Качели

Есть ли официальное название для этого вида таблицы с источником, подтверждающим его официальность?

Ответы [ 10 ]

15 голосов
/ 16 сентября 2009

Я называю это таблицей перекрестных ссылок.

Некоторые могут не считать это официальным термином, но это, безусловно, популярный термин. Я имею в виду, вы найдете множество релевантных результатов в Google, если вы найдете его . Еще одна вещь, которая мне нравится, это то, что она может быть легко сокращена как «внешняя ссылка», а затем использована в схеме именования таблиц, например "Table1_xref_table2". Это заставит всех в вашей команде называть это одним и тем же.

UPDATE:

Википедия называет это соединительной таблицей . Странно, что я никогда не слышал этот термин, но, полагаю, разные круги называют его разными вещами. Как мы выяснили, официального ответа нет.

13 голосов
/ 16 сентября 2009

На мой взгляд, самое распространенное имя - "Присоединиться к столу", но я слышал, что вы перечислили несколько других. Итак, я бы сказал «нет», нет «официального» имени: -)

8 голосов
/ 04 февраля 2010

Это крайне ненаучно, но я подумал, что было бы интересно узнать, сколько результатов Google было связано с сочетанием общих ответов на этот вопрос и термина «многие ко многим».

Исходя из этого, похоже, что "таблица соединений" - это наиболее часто используемый термин для ... объединения ... таблицы во многих отношениях.


Комбинированные поисковые термины

"таблица соединений" "многие ко многим"

возвращает около 13 700 результатов в Google.

«таблица ссылок» «многие ко многим»

возвращает около 4700.

«соединительный стол» «многие ко многим»

возвращает около 3500.

"таблица ассоциаций" "многие ко многим"

возвращает около 3300.

"таблица отношений" "многие ко многим"

возвращает около 3200.

"таблица пересечений" "многие ко многим"

возвращает около 1500.

"таблица перекрестных ссылок" "многие ко многим"

возвращает 1000.

герунд "много ко многим"

возвращает только 450.

4 голосов
/ 16 сентября 2009

Я всегда звонил тогда пересечение таблиц.

3 голосов
/ 16 сентября 2009

Я называю их таблицами ссылок , но я так их так называл, что не имею понятия, откуда у меня этот термин.

1 голос
/ 16 сентября 2009

Я всегда называю их «таблицами многие-ко-многим» или «таблицами соединения многие-ко-многим». Кажется, менее всего может быть неправильно понято как что-то еще. (Я заметил, что вы использовали аналогичную формулировку в заголовке вашего вопроса ...)

1 голос
/ 16 сентября 2009

В SQL для Smarties есть раздел, где у Celko была возможность назвать таблицу такого типа:

Таблицы, которые представляют многие ко многим отношения должны быть названы их содержание, и должно быть минимальным возможный. Например, студенты связанные с классами на треть (отношения) таблица для их attendence. Эти таблицы могут представлять чистые отношения, или (И т.д.) ...

В верхней части раздела он рассказывает о диаграммах E-R (сущность-связь).

1 голос
/ 16 сентября 2009

Я думаю, что таблица отношений больше на отметке. По крайней мере, это то, что мы используем. Кстати, если вы просите об именовании, мы всегда используем его таким образом table1_table2 без исключения. Это послужит вам хорошо в долгосрочной перспективе.

0 голосов
/ 24 июня 2010

Мне было приказано называть их «связующими объектами», когда я впервые начал работать над реляционными базами данных (декабрь Rdb почти 20 лет назад). Бит «сущность», вероятно, исходит из диаграмм отношений сущностей, в которых находились таблицы, хотя «таблицы связей» теперь звучат как более подходящие для того же эволюционного дерева.

Используя новаторское исследование @ Noah на Google, мы получаем около 2000 ссылок:

"link entity" "many to many"
0 голосов
/ 04 февраля 2010

Пересечение таблица наверняка! Я верю, что оракул также поддерживает таблицы Пересечение .

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

...