Я бы поместил первичный ключ в таблицу соединений beer_distributor
, а не двойной первичный ключ двух внешних ключей.ИМО, это облегчает жизнь, поддерживая отношения.
ОБНОВЛЕНИЕ
Чтобы подчеркнуть этот момент, рассмотрите необходимость замены дистрибьютора ACOO9
для пива 163
.С двойным первичным ключом вам нужно будет удалить, затем снова вставить ИЛИ знать оба существующих значения, чтобы обновить запись.С отдельным первичным ключом вы просто обновите запись, используя это значение.Полезно при создании приложений поверх этих данных.Если это строго хранилище данных, то двойной первичный ключ может иметь больше смысла с точки зрения администратора баз данных.
UPDATE beer_distributor SET distributor_id = XXXXX WHERE beer_id = 163 AND distributor_id = AC009
против
UPDATE beer_distributor SET distributor_id = XXXXX WHERE id = 1234