Вы бы добавили owner_id в родительскую таблицу или is_owner в дочернюю таблицу? - PullRequest
0 голосов
/ 23 мая 2018

Допустим, у вас есть таблица

collection
    id
    name

и таблица

collection_collaborator
    id
    user_id

Вы бы добавили owner_id в родительскую таблицу?

collection
    id
    name
    owner_id

Не могли бы вы?добавить is_owner на дочернюю таблицу ??

collection_collaborator
    id
    name
    is_owner

1 Ответ

0 голосов
/ 23 мая 2018

Нет черно-белого ответа на этот вопрос - на самом деле это зависит от ваших бизнес-требований и ваших собственных предпочтений.

Существует одно четкое различие между двумя подходами: поле owner_id указывает, что коллекция можетиметь только одного владельца, в то время как флаг is_owner допускает наличие нескольких владельцев для одной коллекции.

Другим решающим фактором могут быть отчеты о данных.Если у вас есть поле owner_id, то вы можете отобразить информацию о владельце для коллекции без необходимости присоединяться к таблице соавтора.Если у вас есть много отчетов, в которых вам нужна информация о владельце, но вам не нужна никакая другая информация о соавторах, то поле owner_id может повысить производительность ваших запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...