2012-06-14 3 views
1

Очень быстрый вопрос. Есть ли термин для таблицы, у которой первичная функция содержит два внешних ключа? Например, если у меня есть две таблицы, пользователь и группа, существует ли официальный термин для таблицы «членства», которая содержит user_id и group_id?ссылки две таблицы базы данных

+0

Там нет официального термина - пересечение, CrossReference (внешней ссылки), ссылка, карта и т.д. Все это синонимы ... Там нет SO вопроса с 2009 года или 2010 об этом. –

+0

Спасибо, я подумал, что, возможно, официальный термин упростит чтение имен в таблицах. – Yitao

ответ

3

Это таблица пересечений, которая поддерживает отношения «многие ко многим».

+0

Вы бы назвали таблицу, в общем, user_group_intersection? – Yitao

+4

Я бы обычно не включал перекресток в названии. Что-то вроде user_group было бы хорошо. Или даже UserGrouping, в зависимости от соглашений об именовании базы данных. –

+0

Просто заметили, что вы избили меня до этого, я должен был выложить быстрый ответ, прежде чем рисовать ERD haha ​​ – Dan

0

Как уже сказал Стефан: В этом случае есть таблицы ссылок/вставки. Они будут отображать отношения «многие ко многим», поскольку в базах данных нет других возможностей. Вам нужно создать таблицу «UserGroup» и два столбца для определенных идентификаторов, которые являются как первичными, так и внешними ключами.

1

Таблица связующих/пересечений, которая разрешает многие-ко-многим. Например, если автомобиль может иметь более одного водителя, а водитель может иметь более одного автомобиля, вы должны использовать таблицу ссылок для разрешения отношений «многие ко многим». Я обратил пример ERD в OmniGraffle в качестве иллюстрации:

Example ERD

+0

Существует несколько проблем, которые могут возникнуть с именем table1_table2, особенно когда имена таблиц, которые образуют составное слово, имеют смысл сами по себе. Я бы предпочел, чтобы это было неоднозначно с таким именем, как xref или link. В этом и был мой вопрос. Должно было это сделать лучше. – Yitao

+0

Да, вам обязательно нужно выбрать соглашение, которое будет работать для вас. Я показал стандартное соглашение, которое я видел чаще всего, но я определенно видел других. – Dan

Смежные вопросы