@NoName_0

Хранение массива в базе данных?

Стоит задача , нужно как-то хранить описание и характеристику товаров в бд , при том что у разных товаров разной длинны характеристика и описание ? остановился на том , что можно сериализовать массив (с произвольной длинной и кол-вом элементов , как мне и нужно) в строку и уже эту строку пихать в бд.. Так вот , насколько это вообще правильно и есть ли альтернатива этому ? как хранят описание и характеристики популярные интернет-магазины ?
  • Вопрос задан
  • 3311 просмотров
Решения вопроса 3
qonand
@qonand
Software Engineer
Хранить такие данные в сериализованом массиве вообще не тру. Для таких задач либо создаются три таблицы:
- Товары
- Характеристики
- Значение характеристики для товаров
либо используются NoSQL базы данных. А выбор из этих подходов стоит делать исходя из требований и нагрузок Вашей системы.
Ответ написан
Комментировать
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Ну по-разному хранят... Обычно это куча связанных таблиц. Например, есть таблицы "Товары" и "Свойства". Связь "многие-ко-многим", т.е. есть еще результирующая таблица ТоварыСвойства, которая выглядит как-то так: id, id_товара, id_свойства. И таких таблиц в БД пруд пруди... Как хочешь так и хранишь.
Ответ написан
@crazyhat
Web разработчик
Ну могу предложить достаточно спорный метод, но я видел его в одном или паре рабочих проектов. Хранить массив в JSON формате в таблице.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@evgeniy_lm
во всех известных мне базах данных есть тип BLOB (или как-то так) туда можно пихать что угодно хоть текст, хоть картинки, хоть видео, хоть все сразу
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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