@Bondaf

Одна таблица изображений для всех объектов. Какая структура?

День добрый!

Есть две таблицы: page, object. Возможно, их будет больше.
Для каждого page и object может быть несколько изображений. Все изображения хочется хранить в одной таблице. Но не могу сообразить, какую лучше структуру этой таблице задать.
На данный момент рассматриваю два варианта:
1.
CREATE TABLE `image` (
  `id` int(11) NOT NULL,
  `itemId` int(11) NOT NULL,
  `itemTbl` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

где Id - PK, ItemId - id из таблиц page/object, Itemtbl - название таблицы
В этом случае связь на уровне БД не сделать.
2.
CREATE TABLE `image` (
  `id` int(11) NOT NULL,
  `pageId` int(11) NULL,
  `objectTbl` varchar(255) NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

В этом варианте для каждой таблицы заводим отдельное поле, делаем связь на уровне БД. Мне этот вариант нравится больше, но смущает необходимость добавлять поля при появлении новой таблицы.

Что посоветуете? Какой из этих вариантов лучше использовать? Или же есть какие-то другие способы?

P.S. Сам сайт делается на yii2.
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
id | className | item_id | Url
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы