Как реализовать связь между сущностями?

237
19 августа 2021, 20:30

Есть картинки и компании. Каждая компания может иметь много картинок. С виду связь один к многим.

Но, есть кейс когда привязки к компании нету.

Имеет ли смысл реализовать связь используя pivot таблицу для связи с primary key на image_id, company_id? Или здесь достаточно просто присваивать null полю company_id в таблице images?

Доп. вопрос - что почитать чтобы таких вопросов не возникало?

Answer 1

Дадите возможность установки null в атрибут company_id вероятнее увеличите сложности системы если это изменение и знание таких вариантов проникает в код системы в том же виде(типа if image.company == null)

если сделаете промежуточную таблицу придется делать лишние join и в зависимости от кода так же может протеч в логику системы...

Имхо чтобы максимально отстраниться от хранения данных нужно применять ddd в связке с паттерном data mapper из книги "Шаблоны корпоративных приложений" Мартина Фаулера

READ ALSO
массовая обработка форм php

массовая обработка форм php

Мне нужно, что бы на странице с товарами, которые грузятся и базы данных, была возможность изменять эти столбцы товаров прямо на странице...

168
Как получить время нажатия кнопки?

Как получить время нажатия кнопки?

есть страница, на которой есть date(

182
Вывести популярные теги php mysql

Вывести популярные теги php mysql

есть таблица тегов:

157