Мне действительно нужно дополнительное поле идентификации, скажем, под названием id в таблице моста? Для первичных таблиц я устанавливаю идентификатор, и он начинает увеличиваться с 0. Но насчет таблиц мостов я не уверен.

Примере:

user
  user_id (identity)
  name

user_communities
  id (identity) - do I even need this??
  user_id
  community_id

communities
  community_id (identity)
  name
0
PositiveGuy 8 Ноя 2020 в 11:19

2 ответа

Лучший ответ

Нет, вам не нужен дополнительный сгенерированный первичный ключ в таблице моста - по крайней мере, если (user_id, community_id) является первичным ключом.

Вам это понадобится только в том случае, если вы позволите пользователю участвовать в одном и том же сообществе несколько раз, например с разными ролями.

1
a_horse_with_no_name 8 Ноя 2020 в 08:33

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

Но, хотя и реже, у вас также могут быть отношения более высокого порядка, которые связывают два отношения или отношения с другими объектами. Скажем, например, вы хотите квалифицировать отношения с помощью набора свойств (сила отношения, его участники и т. Д.), У вас может быть таблица свойств отношений, которая ссылается на отношения (таким образом, вам понадобится ее идентификатор) для набор пар имя-значение. У вас даже может быть таблица мостов между двумя разными таблицами мостов, чтобы соединить их и назначить определенные свойства для соединения (какое отношение имеет приоритет над другим, например)

1
Vikash Madhow 8 Ноя 2020 в 08:53