Как правильно сделать таблицу БД для скрипта отбора товаров?

P
На сайте с 06.01.2009
Offline
601
1237

Здравствуйте. Подскажите, пожалуйста.

Есть товары. Есть 2 характеристики отбора товаров - размер и поверхность.

Каждый товар имеет несколько размеров и несколько поверхностей.

Т.е., например:

товар А - 30*30 матовый, 40*40 матовый, 50*50 глянцевый, 60*60 глянцевый

товар B - 10*10 матовый, 10*10 глянцевый, 25*25 структурный, 45*45 матовый

товар С - 15*15 матовый, 50*50 глянцевый, 80*80 матовый, 80*80 глянцевый, 90*90 структурный

Первоначально я внес в таблицу с товарами "tovarytable" такую колонку - "размер/поверхность" и записал данные по этим характеристикам так

товар А - 30*30, 40*40=матовый; 50*50, 60*60=глянцевый

товар B - 10*10=матовый, глянцевый; 25*25=структурный; 45*45=матовый

товар С - 15*15=матовый; 50*50=глянцевый; 80*80=матовый, глянцевый; 90*90=структурный

Почитав как правильно понял что наверное нужно переделать tovarytable - убрать из неё колонку "размер/поверхность" и сделать отдельную таблицу "razmerytable" в которой колонки будут размерами, а в поле вписывать поверхность если товар в ней производится

вот так

[ATTACH]117254[/ATTACH]

Я правильно понял, то что прочитал по созданию таблиц и связей?

Товаров максимум будет 15 000. Мне просто хочется понять как правильно сделать в данном случае.

ps.

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

в странице отбора товаров - есть возможность отбора по производителю, цене, цвету, соответственно нужно сделать по размеру, поверхности, поэтому и возник этот вопрос.

Спасибо

ps2. ещё товар бывает в 2-х вариантах толщины, например толщиной 9мм и толщиной 4мм - вот куда это прописывать я вообще запутался...

jpg 117254.jpg
C
На сайте с 04.02.2005
Offline
291
#1

две таблицы

таблица товара

таблица свойств товара

ещё товар бывает в 2-х вариантах толщины, а может быть и в трех и больше.

Но толщина - эти свойства товара

таблица свойств

id id-товара <имя свойства> <значение свойства>

Товар имеющий различные свойства - различный товар

Подобный товар может быть объединен, например категорией

Например, плитка керамическая ЗЕВС

товар

плитка "Зевс 4 мм" :

толщина, размер, цвет - 4мм, 10х10, белая

плитка "Зевс 4 мм" :

толщина, размер, цвет - 4мм, 15х15, белая

Казалось бы, - появляется избыточность. Но здесь единицей отсчета является товар - его свойства.

Конечно, можно нагородить вокруг справочников

т.е. При заполнении свойств, например размера, подключать справочник размеров, толщины, справочник толщин и т.д. и хранить, например, название справочника и id элемента. Это как бы правильно... Но может вылиться в затраты sql - достаточно большое объединение таблиц.

но это уже проблемы бекенда

P
На сайте с 06.01.2009
Offline
601
#2
Chukcha:

Например, плитка керамическая ЗЕВС
товар
плитка "Зевс 4 мм" :
толщина, размер, цвет - 4мм, 10х10, белая

плитка "Зевс 4 мм" :
толщина, размер, цвет - 4мм, 15х15, белая

Казалось бы, - появляется избыточность. Но здесь единицей отсчета является товар - его свойства.

Т.е. если один товар - плитка Зевс имеет 5 вариантов размера, 1 цвет, 1 толщину и 3 варианта поверхности (глянцевая, матовая, рельефная) то мне надо в таблицу свойств записать 15 строк только для одного товара, так?

C
На сайте с 04.02.2005
Offline
291
#3

Скорей всего да...

Продукция с разными характеристиками - разная продукция

И ее свойства различны

Например, у вас есть свойство цена, которая зависит от толщины, естественно

Поэтому толстая плитка будет с отдельной ценой

Но на плитке может быть различный рисунок (цвет) и цена будет различной

Поэтому каждый элемент продукции - разный, со своим id

Объединить их может, например, производитель (много фабрик изготавливают плитку Зевс)

P
На сайте с 06.01.2009
Offline
601
#4
Chukcha:
Скорей всего да...
Продукция с разными характеристиками - разная продукция

Понятно. Жаль другого варианта нет - т.к. мне этот не очень нравится.

Я то хотел по хитрому.

Условно говоря - есть 1 фотография товара "АБС". Этот товар бывает разного размера, разной толщины, с разной поверхностью - но называется он всегда товар АБС. Это как телефон LG 5503 он всегда например черный, но бывает разного размера - мини, медиум или биг. Фото одно а в описании товара в странице - есть для юзера инфо что товар бывает разных вариантов размера. Просто чтобы не делать 3 страницы для товара с одной и той же фотографией...Спасибо большое за всю инфу, вообщем буду думать.

C
На сайте с 04.02.2005
Offline
291
#5

Внешний вид и реализация - суть разные вещи

LG 5503 -маленький, большой, средний - но это разные товары, но объединяет их LG 5503

P
На сайте с 06.01.2009
Offline
601
#6
Chukcha:
Внешний вид и реализация - суть разные вещи
LG 5503 -маленький, большой, средний - но это разные товары, но объединяет их LG 5503

Так если например у них у всех цена 1500 руб. не возникнет такая плохая ситуация?

Юзер в отборе ставит телефон от 1000 до 2000 руб - получается что ему в выдаче будет среди вариантов ещё и 3 LG5503 (с одинаковой фотографией и превью, а три так как маленький, средний, большой все в эту цену вписываются).

Или я чего то не понял.

C
На сайте с 04.02.2005
Offline
291
#7

но размеры!!! разные, а что фото? Вон братья Кличко тоже похожи, и оба боксеры

И оба Кличко В. Но они ведь разные!!!

P
На сайте с 06.01.2009
Offline
601
#8
Chukcha:
но размеры!!! разные, а что фото? Вон братья Кличко тоже похожи, и оба боксеры
И оба Кличко В. Но они ведь разные!!!

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

C
На сайте с 04.02.2005
Offline
291
#9

Я делаю подбор товара по цене

Выпадает список

превью ... цена

Если чем-то отличаются, то пишем ЕСТЬ В разных размерах

Но это баловство... никто таких жертв не оценит.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий