59.63 -0.3573  70.36 -0.3436  20.11.2017 02:35

На сайте:


  x  |   Ник: 
Сообщение
Дата рождения:

ICQ:

Занятие:

Web-сайт:
О себе:

Форумы » Программирование

‘‘Как правильно спроектировать БД?’’

Maxyc [47, #, ], 16:57 | 11.08.2015 | цитировать

Тема следующая:
Надо сделать базу данных, в которой будут сети магазинов, в этих сетях есть магазины. Магазины в конкретных городах. В СЕТЯХ (не в магазинах) есть товары, например, молоко. Но молоко может быть ОАО Залесский фермер или ОАО ЕЖК. В разных сетях товар разных вендоров стоит по разному. Помимо этого в одной сети в разных городах может стоить по разному товар...
Встал вопрос как правильно хранить цену в базе, так чтобы было не сложно вытаскивать ее потом запросами.
Усложняется все тем, что товар не товар. То есть товар нужно делать SKU. Поэтому цена будет зависеть от параметров товара. Я привел пример базы с конкретным товаром, и что то не могу продумать схему "товары с SKU"
U00
Jakob [44, #, ], 17:22 | 11.08.2015 | цитировать
а что на присвоение конкретному магазину своего ID наложили табу??
U00
Maxyc [47, #, ], 17:31 | 11.08.2015 | цитировать
Jakob: а что на присвоение конкретному магазину своего ID наложили табу??

не понял о чем ты. у конкретного магазина есть свой ID, но он не используется в выборке цен. только в выборке цен по конкретному магазину
цены общие для всей сети в общем

U00
Skarabey [34, #, ], 20:16 | 11.08.2015 | цитировать
Maxyc:

Ну как-то так:

что бросается в глаз на первый взгляд (и как-бы делал я, и более того, я делал нечто схожее):

1) зачем связка цен(prices) и сетей(stores_network)? правильнее будет сделать связку цена-магазин, иначе как получить в твоем раскладе цену в конкретном магазине? А уже магазин реквизитом связан с сетью, так-что выборку по сетям сделать не составит труда;

2) Я-бы ввел справочник адресов с реквизитами "Страна", "Город" и пр. по необходимости, а в справочнике магазинов ссылка на него (ну конечно сожно сделать и страну реквизитом Города, но ИМХО это не актуально);

3) Vendors - это производитель? Если да, то это реквизит SKU (items), или даже товара (types), но точно не прайса

4)
Maxyc: То есть товар нужно делать SKU. Поэтому цена будет зависеть от параметров товара. Я привел пример базы с конкретным товаром, и что то не могу продумать схему "товары с SKU"
Тут надо разобраться с терминологией в первую очередь и задуманным функционалом во вторую. Если нужно работать с продуктом в общем (как я понял "types"), без SKU с последующей его раскладкой на разные позиции ("items") (на 99% это фасовка/упаковка), то нужно делать 2 справочника, 1 "SKU" и 2й "товары", к прайсу можно привязать только "SKU", поэтому тут все вроде нормально, запросы лягут на твою схему.

p.s. ну это то что бросилось в глаза на 1й взгляд, если сесть и нарисовать свою может и еще что-то всплывет
U00
Skarabey [34, #, ], 20:22 | 11.08.2015 | цитировать
Maxyc:

А кстати, хоть я и ушел из этих тем давно, но чисто спортивный интерес:

Как собираетесь нормировать базу товаров? ШК в базе не вижу (он хоть и капец как не панация в нашей стране, но хотябы какую-то массу поможет сличить), вручника?
U00
Maxyc [47, #, ], 11:47 | 12.08.2015 | цитировать
Skarabey: зачем связка цен(prices) и сетей(stores_network)?

Skarabey: правильнее будет сделать связку цена-магазин

не совсем. провел аудит. местная сеть магазинов семья и виктория. во всех магазинах области в одной сети цены одинаковые. НО в разных городах ЗА пределами кал обл. в той же сети цены отличаются. от сюда пришел к выводу привязки цены к городу и к сети.

Skarabey: иначе как получить в твоем раскладе цену в конкретном магазине?

имея данные о городе и о сети магазина, как я пояснил выше, не составит труда взять цену магазина.

Skarabey: А уже магазин реквизитом связан с сетью, так-что выборку по сетям сделать не составит труда;

ну вот из сети и возьму магазин и город )

Skarabey: 2) Я-бы ввел справочник адресов с реквизитами "Страна", "Город" и пр. по необходимости, а в справочнике магазинов ссылка на него (ну конечно сожно сделать и страну реквизитом Города, но ИМХО это не актуально);

у меня это есть

Skarabey: Vendors - это производитель? Если да, то это реквизит SKU (items), или даже товара (types), но точно не прайса

согласен. это ску, это и не могу как раз продумать. мозгов хватило только на то, что цена зависит от вендора.

Skarabey: Если нужно работать с продуктом в общем (как я понял "types")

types переводятся как типы, а не как продукты. продукты я в items положил

Skarabey: Как собираетесь нормировать базу товаров?

я ща с температурой дома сижу. чот не догоняю чо спросил. если ты про оптимизацию. то пока вот так, а дальше уже кеширование запросов редисами и прочая лабуда.
Skarabey: ШК в базе не вижу (он хоть и капец как не панация в нашей стране, но хотябы какую-то массу поможет сличить), вручника?

штрихкод? пока для демо версии такое не планируется. и да, планируется что то вроде яндекс маркета, только по продуктам.
U00
Skarabey [34, #, ], 12:40 | 12.08.2015 | цитировать
Maxyc: не совсем. провел аудит. местная сеть магазинов семья и виктория. во всех магазинах области в одной сети цены одинаковые. НО в разных городах ЗА пределами кал обл. в той же сети цены отличаются. от сюда пришел к выводу привязки цены к городу и к сети.


И всеравно настоятельно советую сделать как я сказал, ибо как только в разных магазинах одной сети возникнут разные цены на один sku, твоя схема уже не работает, при моём варианте этой проблемы нет. Цены могут различаться в рамках сети и одного города запросто, я тебе по практике говорю.

Maxyc: у меня это есть

Ну на схеме не отражено, адрес висит строкой в таблице магазина и город реквизитом, потому и отметил

Maxyc: согласен. это ску, это и не могу как раз продумать. мозгов хватило только на то, что цена зависит от вендора.


Не понял если честно, цена на SKU вообще зависит от магазина (ну или как ты предполагает от сети)

Maxyc: types переводятся как типы, а не как продукты. продукты я в items положил

Тогда объясни что такое types у тебя, я не понял, items это sku, types это ?
Maxyc: я ща с температурой дома сижу. чот не догоняю чо спросил.

Один и тотже sku в разных магазинах (сетях) может носить различное наименование, откуда наполнение будет идти? Централизованно или из баз магазинов? Если второе то будут у тебя 3 sku: "молоко 2% Ирбит 1/2л", "молоко ж.2% г.Ирбит 0.5л" и " молоко Ирбит жирность 2, 0.5л"... Так понятнее? ))
U00
Maxyc [47, #, ], 13:20 | 12.08.2015 | цитировать
Skarabey: советую сделать как я сказал

ок сделаю

Skarabey: Ну на схеме не отражено, адрес висит строкой в таблице магазина и город реквизитом, потому и отметил

ну нам адрес не актуален особо. руками предлагали вводить или жпс. на крайняк кладр припахаю

Skarabey: types это

категория/тип - молочные, песочные, крупы, алкоголь

U00

Извините, но у вас недостаточно прав для добавления сообщений в этот раздел

Вход на сайт
Логин:

Пароль:

Вход через соц.сеть


Реклама

Яндекс.Метрика

Привокзал.: + 15.5° :: 725.2 мм.рт.ст. :: 74.5%
Южный: + 3.7°
Центр: + 13.9°
Сов./Окт.: + 13.0°