Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильность проектирования БД "Товары и заказы" / 10 сообщений из 10, страница 1 из 1
01.07.2016, 11:02
    #39266146
spiderman5
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильность проектирования БД "Товары и заказы"
Привет! Я проектирую БД для продажи обуви.

Таблица Models:
Id
Name
PriceForOnePair
Count

Таблица Checks:
Id
CurrentDate
Customer'sName

Таблица ModelsInCheck:
Id
ModelId
Count
CheckId

Подходящий ли вариант для данной задачи ?
Добавлять поля Приходы, Остаток и т. д. не нужно.
Самый простой вариант для оформления заказа.
...
Рейтинг: 0 / 0
04.07.2016, 09:29
    #39267119
Cristiano_Rivaldo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильность проектирования БД "Товары и заказы"
spiderman5,

Нужно правильно разделить таблицы на справочные и транзакционные.
Поля "цена" и "кол-во" - это изменяющаяся информация и хранить ее в справочной таблице (модели) не рекомендуется.
Как вариант :
1. Models (id,name)
2. Model_price (id,model_id,date_pr,price)
3. Model_quant(id,model_id,date_qt,quant)
3. Customers (id,name)
4. checks (id,date,model_id,customer_id,quant,price)
...
Рейтинг: 0 / 0
04.07.2016, 15:12
    #39267410
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильность проектирования БД "Товары и заказы"
Подходящий ли вариант для данной задачи ?Варианта пока нет. :)
Там будет не менее 10-20 таблиц.

Это курсач ?
Если реальная задача, то заказчиков мне искренне жаль...
Вам пока рано что либо проектировать.
...
Рейтинг: 0 / 0
04.07.2016, 17:07
    #39267546
Правильность проектирования БД "Товары и заказы"
Cristiano_Rivaldo,

А зачем цену и количество моделей вытаскивать в разные таблицы? Почему бы не сделать одну - Ассортимент?
...
Рейтинг: 0 / 0
04.07.2016, 18:57
    #39267627
Cristiano_Rivaldo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильность проектирования БД "Товары и заказы"
Марков Илья,

Нужно различать понятия "Учетная цена" и "Товарный запас на дату".

Твой вариант тоже подходит , но в таком случае если цена остается постоянной - то каждый раз значение поля price будет одно и тоже и ты вынужден хранить все эти значения в БД вместо того чтобы выделить под это всего одну строку немного сэкономив места на сервере.
...
Рейтинг: 0 / 0
04.07.2016, 19:09
    #39267633
Правильность проектирования БД "Товары и заказы"
Cristiano_Rivaldo,

Я так понимаю ему нужно просто оформление заказа без истории цен и количества.
Да и с историей я бы пожалуй всё равно оставил одну таблицу Ассортимент (с текущими записями) + 1 (или 2) таблицы для истории.

Хотя тут уже вопрос о методе хранения истории)))
...
Рейтинг: 0 / 0
04.07.2016, 19:12
    #39267638
Правильность проектирования БД "Товары и заказы"
Cristiano_Rivaldo,

Хотя нет. Сделал бы Ассортимент (текущие записи) + История ассортимента в виде EAV :D
...
Рейтинг: 0 / 0
05.07.2016, 08:47
    #39267759
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильность проектирования БД "Товары и заказы"
spiderman5Добавлять поля Приходы, Остаток и т. д. не нужно.
Самый простой вариант для оформления заказа.

Посмотрите рисунок, думаю подойдет, ну и комментарии:
1. В таблице Models поле Count не нужно, мы же не делаем Приходы, Остаток и т. д.
2. У меня таблица Pay это строки чека (типа вашей ModelsInCheck) и в ней:
- Kvo это количество проданной модели в чеке
- Cena1 это цена, равная Price из Models на момент продажи, таким образом мы фиксируем цену продажи действующую при покупке и отвязываемся от дальнейшей возможной переоценки Price в Models
- Cena2 это цена, по которой продали реально!
- Соответственно имея потом Cena1, Cena2 и Date_Time можно вычислять и размер скидок (если они были) и знать приблизительную историю цен.
3. Не называйте поля в БД именами возможных функций субд типа Count, CurrentDate...

Еще раз акцентирую для умных - это при условии что

spiderman5Добавлять поля Приходы, Остаток и т. д. не нужно.
Самый простой вариант для оформления заказа.

коню понятно, что нужен и классификатор и

LSVВарианта пока нет. :)
Там будет не менее 10-20 таблиц.
...
Рейтинг: 0 / 0
22.07.2016, 16:46
    #39278866
alex_p_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильность проектирования БД "Товары и заказы"
Марков ИльяCristiano_Rivaldo,

А зачем цену и количество моделей вытаскивать в разные таблицы? Почему бы не сделать одну - Ассортимент?
Есть такая фигня - нормалиция называется. Вот поэтому...
...
Рейтинг: 0 / 0
23.07.2016, 12:38
    #39279112
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильность проектирования БД "Товары и заказы"
Завтра появятся скидки на лабутены
Поэтому отдельно история цен http://www.sql.ru/forum/620607/shablony-primeneniya
Нужно знать запасы, чтобы выявлять где надо довезти запас и анализировать спрос http://www.sql.ru/forum/622860/shablon-resursy-nakopleniya
Наконец обувь одного артикула (если вы конечно ходите в магазин) зачастую делится по цвету и размеру
ну и половая/возрастная ориентация
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильность проектирования БД "Товары и заказы" / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]