Как лучше хранить данные в базе MySql

Статус
В этой теме нельзя размещать новые ответы.

garizlo

Постоялец
Регистрация
16 Сен 2006
Сообщения
104
Реакции
26
Всем привет.

Суть следующая, делаю мини-магазинчег, сделал таблицу "products" в которую добавляю основные параметры добавляемого товара, такие как например: Название, описание, кейворды, дескрипшены, и.т.д...
При добавлении товара можно так же добавить картинки к товару, скажем до 10 штук.
Вопрос в том, как лучше хранить данные (названия картинок в базе)?!

Сделал таблицу: "images_for_products" и теперь не знаю, как лучше сделать.

Либо хранить массив названий картинок обработанный при помощи serialize, например так:
Таблица "images_for_products"
Поле "id" - autoincrement
Поле "product_id" - id добавляемого продукта
поле "images_data" - массив обработанный при помощи serialize

Или же вставлять в базу данные по каждой картинке для продукта:

Таблица "images_for_products"
Поле "id" - autoincrement
Поле "product_id" - id добавляемого продукта
поле "image" - image_1.jpg

Поле "id" - autoincrement
Поле "product_id" - id добавляемого продукта
поле "image" - image_2.jpg

и.т.д..

Посоветуйте, как лучше сделать?
 
Оба подхода имеют права на жизнь. Только в случаи с сериалайзом не нужно создавать отдельную таблицу.
Единственные что могу сказать при отдельной таблице удобнее управлять картинками товаров и делать определенные выборки (например добавить метки размеров и выбирать только нужные). Ну и при построении общего списка товаров подтянуть картинку будет проще - не нужно будет делать кучу ансериалайзов, что в итоге скажатся на производительность.
 
Всем привет.
Суть следующая, делаю мини-магазинчег, сделал таблицу "products" в которую добавляю основные параметры добавляемого товара, такие как например: Название, описание, кейворды, дескрипшены, и.т.д...
При добавлении товара можно так же добавить картинки к товару, скажем до 10 штук.
Вопрос в том, как лучше хранить данные (названия картинок в базе)?!
Сделал таблицу: "images_for_products" и теперь не знаю, как лучше сделать.
Либо хранить массив названий картинок обработанный при помощи serialize, например так:
Таблица "images_for_products"
Поле "id" - autoincrement
Поле "product_id" - id добавляемого продукта
поле "images_data" - массив обработанный при помощи serialize
Или же вставлять в базу данные по каждой картинке для продукта:
Таблица "images_for_products"
Поле "id" - autoincrement
Поле "product_id" - id добавляемого продукта
поле "image" - image_1.jpg
Поле "id" - autoincrement
Поле "product_id" - id добавляемого продукта
поле "image" - image_2.jpg
и.т.д..
Посоветуйте, как лучше сделать?

лучше сделать одну таблицу для всех картинок модулей сайта, как то так:
Images
ImageId (autoincrement)
Name (имя картинки)
Image (название картинки с расширением)
ProductId (для каталога товаров)
Id (для других модулей)
Order (для порядка вывода, если делать лист картинок)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху