есть картинка может быть и в описании товара и в отзыве и в описании магазина. Сделать отдельную таблицу image с нужными колонками и потом таблицы типа product_image,review_image с применением unique к image_id. Или же есть способ лучше?
Если есть подозрение, что в одну таблицу это не влезет -- то да, отдельную. Правда, мне не очень понятно -- зачем там хоть в каком-то месте unique к image_id.
Главное начни делать как-нибудь. А херово само получится.
чтобы одна и та же картинка не применилась к различным товарам. То есть картинка должна быть в одном товаре. Тоже самое и с отзывами
Мне ещё понятно -- почему с отзывами, а вот про картинку -- это крайне неочевидно. Точнее дажэ, прямо-таки наоборот -- чаще всего приходится одну общую картинку пихат на кучу каких-то вещей (поскольку кто жэ их все переснимет-то).
Это уже больше клиентские хотелки ,чем что-то более общепринятое, но все же вопрос не про это. Оставить нынешний вариант или есть что-то получше
В одну таблицу всё.
А что значит "в одну таблицу не влезет" ? Разве у тебя есть ограничения по размеру одной таблицы ?
Ну, не надо понимать это как буквально размер. Разные могут быть ограничения логики. Например, ограничение не использовать array без крайней нужды в скорости (я такое, например, обычно применяю). После этого колонка один-ко-многим не влезет в одну таблицу. Или, например, делить права доступа по типам этих image -- при том, что права в архитектуре в цэлом так или иначе завязаны на названия таблиц (ну, бывает, хотя второе и не очень хорошо в среднем).
В image хранить product_id,review_id,store_id?
Тожэ вариант. Я бы, скорее, делал наоборот ссылки -- из product, review, store на image, или дажэ, возможно, на imageset, которые ужэ будут ссылаться на image. Но так, как ты предлагаешь -- тожэ нормально.
Я не понимаю как так product, review,
Вообще, надо более детальное описание задачи.
review должно само ссылаться на товар, поэтому не понятно, нафига там ещё одна ссылка на товар. Хотя...
У продукта должна быть картинка. Их может быть несколько. Тоже самое с отзывами. Картинка в отзыве может как быть так и не быть. И их может быть несколько. Ну и может быть магазин у которого тоже есть своя картинка. Ну и вопрос в том как лучше всего сделать различное применение вариаций картинки. Пихать все в одну таблицу и при записи писать null в нужных местах или же общие поля картинки вынести в отдельную таблицу и сделать таблицы типа product_image,review_image...
Какие общие поля картинки ?
А так всё просто — OBJECT (object_id, class_id, ....) IMAGE (image_id, ....) OBJECT_IMAGE (object_id, image_id, order_no) Магазин, продукт , отзыв - наследники OBJECT
Обсуждают сегодня