Имеется таблица orders. Также имеется колонка products для хранения заказанных продуктов пользователем. С помощью PHP функции explode я превращаю строку в массив. Все бы ничего, но ведь еще нужно хранить количества продуктов. Как лучше это сделать?
в идеале там надо хранить еще и все данные товара, товары имеют свойство быть удаленными из базы, поднять потом что за товар был продан - практически нереально, особенно если админка предусматривает замену/удаление товара из таблицы физически.
ThunderCat: В идеале товар из системы удаляться не должен, ему просто ставится признак "убран из продажи". А вот цена имеет свойство меняться регулярно. Тут либо вести историю цен и потом искать, какими они были на момент оформления заказа, либо в заказе сразу записывать цены.
Rsa97: насчет не должен - часто в бд просто вливается свежий прайс, ни о какой замене и убран из продажи речи там даже не идет, тупо перезаливается все. Так что я дублирую строчку + данные о продаже, количество и тд.
Я бы взял за минимум:
Пользователи: Users: id, name
Каталог товаров: Catalog: id, name
Заказы: Orders: id, user_id
Заказанные продукты: Products: id, order_id, catalog_id, count