X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Дилерские цены в БД.
Den1xxx
Den1xxx
Topic Starter сообщение 25.2.2015, 12:41; Ответить: Den1xxx
Сообщение #1


Здравствуйте.

Прошу помощи у гуру SQL
Сейчас нужно внести изменения в структуру БД действующего движка.
Вкратце: есть товары. У всех товаров есть цена, она одна у каждого товара.
Нужно: добавить 4 дилерских цены к каждому товару.

Как бы сделать это правильно? Чтобы в обозримом будущем иметь меньше геморроя.
1. Добавить в таблицу товаров 4 поля — дилер 1 уровня, дилер 2 уровня, дилер 3 уровня и т.п.
2. Сделать отдельную таблицу для дилерских полей —
id, itemid (id товара), dilerid (тип дилера), price (цена)
3. Добавить в таблицу товаров 1 поле, и в нём содержать все цены. Можно применить для этого сериализацию или json

Дилеров предполагается опознавать — с помощью специальных свойств, заданных пользователю.

Очень жду ответов от гуру SQL, уже решавших проблему с мультиценами, буду благодарен за обоснованный ответ.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
Topic Starter сообщение 25.2.2015, 20:48; Ответить: Den1xxx
Сообщение #2


up!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 25.2.2015, 22:57; Ответить: Webmaster_hb
Сообщение #3


Den1xxx, думаю любой вариант подходит, но надо учитывать и другие параметры
какие варианты использование диллерских цен будут, к примеру - сортировка товаров по цене для диллера, в таком случае хранить в одном поле невыгодно
кол-во товаров в базе, кол-во диллеров, расширяемость самой системы

а точно надо иметь разные цены на товары, а не скидку для конкретного диллера?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
Topic Starter сообщение 26.2.2015, 10:16; Ответить: Den1xxx
Сообщение #4


(Webmaster_hb @ 26.2.2015, 00:57) *
Den1xxx, думаю любой вариант подходит, но надо учитывать и другие параметры
какие варианты использование диллерских цен будут, к примеру - сортировка товаров по цене для диллера, в таком случае хранить в одном поле невыгодно
кол-во товаров в базе, кол-во диллеров, расширяемость самой системы

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

Клиент утверждает, что:
1. Кроме розничной, будет (уже есть) 4 ступени дилера — у каждого своя цена на конкретный товар.
В перспективе при наборе, скажем, на 1000 у.е. простой покупатель становится дилером №1, при наборе ххх — №2 и так далее.
Клиент утверждает, что 4 дилерских цены — оптимально и больше не будет. Но мы-то с Вами знаем, что аппетит приходит во время еды.
Так что надо и на будущее думать.
2. Снижение на процент пришло мне в голову сразу (конечно не хотелось заводить по 5 цен на каждый товар, проще же скидку посчитать на весь каталог), но было сразу отвергнуто клиентом.
3. Количество товаров в БД — 356. Это запчасти для ремонта. Могут вырасти и до 500, но не скоро. В любом случае не на порядок.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 26.2.2015, 13:11; Ответить: Webmaster_hb
Сообщение #5


при таком количестве думаю проще добавить просто поля в таблицу товаров, даже если появится новый уровень дилера, точно также добавится еще одно или несколько полей
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 27.2.2015, 23:09; Ответить: Arks
Сообщение #6


Типизация делается очень просто - если где-то используется подобный тип данных то он выделяется отдельно(заводится еще одна таблица со связью 1:1 или 1:N из разных сущностей). В ином случае лучше завести N полей в основной таблице и хранить все в ней.
Сами по себе доп. поля в таблице оверхеда не создают(экономия на спичках).
Т.е. решение 1 - если цены это свойство товара
решение 2 - если цены это свойство товара и еще чего-нибудь отличного от товара по набору полей(сложно это представить - например если делается наследование вида Товары1, Товары2, Товары3 причем они по структуре целиком разные и лежат в разных таблицах) - тогда лучше цены хранить отдельно просто потому что так удобнее этот зоопарк поддерживать. Обоснование нормализации вообще есть и было только одно - экономия на данных. Т.е. вместо того чтобы каждая различная сущность ссылалась на различные цены - делается одна запись цены, и на ее id ссылаются различные сущности. В итоге вместо 3 записей получается 1. На самом деле то же самое в плане скорости выборки достигается использованием BTREE-индекса. В противном случае - это окажется тупо как минимум лишним JOIN'ом - более сложными запросами, накладными расходами(даже с учетом индекса) и т.п.

При проектировании БД используются два понятия - название(имя таблицы) и тип данных(поля таблицы). Их смешивание в любых вариациях означает денормализацию.
Но это вообще, у Вас с ценами ситуация крайне простая и предельно ясная.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) TopSmm.ru Накрутка Вконтакте/Instagram/YouTube и др. Гарантия на докрутку и самые низкие цены!
75 KalininDima 39089 Сегодня, 13:07
автор: KalininDima
Открытая тема (нет новых ответов) Senderin.ru Продвижение VK, Instagram, Telegram, Youtube, Tiktok, Twitch Низкие цены + Автопостинг VK/TG
Автоматический сервис продвижения в социальных сетях + Автопостинг
5 ceg 2460 19.4.2024, 11:17
автор: ceg
Открытая тема (нет новых ответов) Изготовление красивых сайтов на DLE под ключ | Доступные цены
от 2000 руб.
1 Admiral_ukr 1598 20.11.2022, 10:08
автор: Webmaster24
Открытая тема (нет новых ответов) Primeproxy.net - индивидуальные прокси для любых задач. ipV4 / ipv6 / socks. Оптовые цены для юридических лиц, работаем по ЭДО.
3 MG_PrimeProxy 2787 8.9.2022, 13:57
автор: MG_PrimeProxy
Открытая тема (нет новых ответов) Рерайт, копирайт, копипаст. Сочные цены
6 underkio 3641 15.9.2021, 13:34
автор: underkio


 



RSS Текстовая версия Сейчас: 23.4.2024, 17:37
Дизайн