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

0

Скажем, у вас есть стол

collection
    id
    name

и таблица

collection_collaborator
    id
    user_id

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

collection
    id
    name
    owner_id

Вы бы добавили is_owner в дочернюю таблицу?

collection_collaborator
    id
    name
    is_owner
  • 0
    Не могли бы вы подробнее рассказать об отношениях между двумя таблицами?
  • 0
    Сначала определите, говорите ли вы об отношениях «один ко многим» (и в каком направлении) или «многие ко многим».
Теги:
database
database-design

1 ответ

1
Лучший ответ

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

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

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

  • 0
    Я думаю, что эта часть «поле owner_id указывает, что коллекция может иметь только одного владельца, в то время как флаг is_owner допускает наличие нескольких владельцев для одной коллекции». это тот, который имеет смысл для меня. У коллекции будет только один владелец, поэтому я думаю, что я выберу такой подход (owner_id)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню