@korenb_white

Как лучше связать таблицы?

87a3cf5fd27644ff8ed405e0f9bacde7.png
Cover - это обложка (постер) для игры или фильма, следовательно игра или фильм могут иметь сколько угодно постеров. Постер может принадлежать либо фильму, либо игре, по принципу xor. По сути связь one-to-many. Вопрос: как лучше сделать связи? оставить в одной таблице или вынести их в отдельную таблицу? (cм. пикчу)
  • Вопрос задан
  • 286 просмотров
Решения вопроса 1
@mletov
Cover: id, name, path
CoverRelation: CoverId, EntityId (ид фильма, книги и т д), Type (фильм, игра... можно расширять до бесконечноти если завтра, например, появятся еще книги и аудио-альбомы, в вашей схеме придется заводить новые поля)

Хотя если держаться за нф, то надо отдельные таблицы заводить типа АфишиДляИгр, АфишиДляФильмов и т д и для каждой таблицу связей
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Cover - это обложка (постер) для игры или фильма, следовательно игра или фильм могут иметь сколько угодно постеров.
Привяжите постер к одной сущности (игра, например) и свяжите сущности ( игра и фильм, например). Представление: сущность и связанные с ней плюс все обложки, привязанные к сформированному множеству.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы