Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
28 / 28 / 4
Регистрация: 03.11.2010
Сообщений: 85
1

Хранение заказа в базе данных

27.02.2014, 18:13. Показов 3089. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Пишу движок для интернет-магазина и вот возникла заминка с хранением заказа в БД. А именно:

-хранить в БД id пользователя
-товара
-языка (на котором был сделан заказ, напр., английский)
-прочие id ссылающиеся на ту или иную информацию в БД.

Этот вариант мне нравится, но тут возникает проблема. А как быть если мы удалим со временем пользователя или товар или язык на котором был заказ или все вместе? Тогда мы не получим по id ту инфу, которая нам необходима.

Как вариант хранить продублированные все данные на том языке на котором был заказ в БД в виде или сериализированых объектов или json или просто как текст. Пока лучшего ничего не придумал.

Есть какие либо идеи?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2014, 18:13
Ответы с готовыми решениями:

Хранение сообщений в базе данных
Здравствуйте! Подскажите пожалуйста чайнику, как лучше сделать: Будет сайт (что-то типа соц.сети),...

Реализовать хранение сессии в базе данных
Добрый день! Есть такой набросок кода <?php session_start(); if (!isset($_SESSION))...

Хранение массива данных в базе MySQL
Ребят, подскажите, пожалуйста, как можно данные о цветах, например: Прозрачный: красный, жёлтый,...

Хранение друзей в базе данных mysql
Добрый вечер. У меня вопрос. Лучше всего, для каждого пользователя, создавать отдельную таблицу...

3
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
28.02.2014, 09:46 2
Цитата Сообщение от undelete Посмотреть сообщение
А как быть если мы удалим со временем пользователя или товар или язык на котором был заказ или все вместе? Тогда мы не получим по id ту инфу, которая нам необходима.
Общий принцип учетных систем - ничего не удаляется из справочников (во всяком случае то, что уже было использовано в заказах, сделках и проч.). Если нужно сделать, чтобы какой-то товар больше не показывался при составлении нового заказа, то заводятся даты начала и конца действия товара. Тогда, если дата конца меньше текущей, этот товар не показывается при составлении заказа, но показывается в отчетах за прошлые периоды.
1
28 / 28 / 4
Регистрация: 03.11.2010
Сообщений: 85
28.02.2014, 19:53  [ТС] 3
Согласен, была мысль если есть заказ не удалять, а архивировать данные! Но тут еще одна проблема нарисовывается: если после заказа мы кардинально редактируем информацию о товаре, и тогда данные в заказе тоже изменятся. Как здесь быть?
0
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
03.03.2014, 10:19 4
Цитата Сообщение от undelete Посмотреть сообщение
Но тут еще одна проблема нарисовывается: если после заказа мы кардинально редактируем информацию о товаре, и тогда данные в заказе тоже изменятся. Как здесь быть?
Обычно, если инфу надо поменять значительно (скажем, расфасовку или вес товара, а не одну буковку в названии), то старый товар закрывается (ставится дата окончания) и заводится новый товар.
1
03.03.2014, 10:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2014, 10:19
Помогаю со студенческими работами здесь

Хранение разделов статей в базе данных
Здравствуйте, скажите, пожалуйста, как лучше хранить отдельные разделы статей в базе данных MySQL?...

Хранение данных пользователя(инф-ию,ограничений,разрешений) в Базе Данных, нужен совет
Здравствуйте, подскажите пожалуйста в какой форме лучше хранить в БД информацию о пользователях, их...

Хранение данных в базе Access
Здравствуйте, пишу программу в Delphi 7. Связь с базой из Access. База простая, без связей даже....

Хранение картинок в базе данных
Я прочитал, что это плохая практика. Рекомендуют хранить пути к картинкам. Вопрос заключается в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru