Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Инетрнет-магазин: как правильно сделать базу товаров?

Сообщения:  [1-9] 

 
 автор: Lelik   (26.03.2006 в 06:00)   письмо автору
 
   для: cheops   (25.03.2006 в 22:04)
 

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

   
 
 автор: Lelik   (26.03.2006 в 05:48)   письмо автору
 
   для: Zilog   (25.03.2006 в 15:13)
 

>особо волнует вариант 6: как выбрать всех производелей
>одной товарной группы, если у Товарнойгруппы может быть
>только один id производителя???

Построй правильный запрос к БД, напрмер:

<?php
...
 
$query "SELECT * FROM sometable WHERE производитель=марка производителя AND категория=нужная категория";// и. т. д
...
?>

   
 
 автор: cheops   (25.03.2006 в 22:04)   письмо автору
 
   для: Zilog   (25.03.2006 в 14:49)
 

>1) Связывание таблиц.
>Например у меня есть несколько производителей, и несколько
>товарных групп (валенки, шапочки для бассейна).
>Производители и товарные группы лежат по разным талицам, но
>может быть такая ситуация что у обоих производтелей есть
>товар из одной товарной группы. Например, Производитель1
>выпускает валенки, и Производитель2 выпускает валенки.
>(у каждого производителя еще свой модельный ряд, например,
>валенок - это уже третья таблица, четвертая - это сами
>товары: валенки, шапочки, и др.)
>Какая труктура должна быть у таблиц в таком случае?
Отдельная талица для товарной позиции и отдельная таблица для производителя. Но в таблице тованой позиции необходимо предусмотреть поле для ссылки на запись в таблице производителей.

>
>Смысл в том, что бы иметь возможность вывести одним
>запросом:
>1) Весь товар ПроизводителяN
>2) Весть товар ТоварнойГруппыN ПроизводителяN
>3) Весь товар ТоварнойГруппыN МодельногоРядаN ПроизводителяN
>
>Я так понимаю, должно быть четыре талицы:
>
>Производители:
>id, name
>
>Товарные группы (валенки, шапочки):
>id,name, id_производителя - нужно ли ???
Погодите, это каталог или сами товарные позиции - если каталог, то id_производителя здесь лишним пожалуй будет...

>Модельный ряд товарной группы (валенки черные, валенки
>белые):
>id, name, id_Товарной группы, id_производителя - нужно ли
>???

А вот эта таблица пожалуй будет лишняя - вы и в таблице товарные группы

>Товары:
>id, name, id_Производителя, id_ТоварнойГруппы, id_Модельного
>ряда, image, price, etc...
Сюда же производителя неплохо добавить..

>
>2) Какая из таблиц, скажем так, является корневой?
>Допустим ситуацию, когда вс сделано и работает. Таблицы все
>пустые. Зайдя в редактор, что я должен увидеть - что
>является кронем каталога - Производители или Товарные групы?
>Что является основой?
Товарные группы - производители уходят и приходят, а валенки и черз 100 лет будут валенками...

   
 
 автор: Zilog   (25.03.2006 в 15:13)   письмо автору
 
   для: Zilog   (25.03.2006 в 14:49)
 

Еще важно дополнение к вопросу 1.

Что касается вывода данных одним запросом:
еще варианты:
4) Весь товар обоих производителей Товарной Группы1
5) Все товарные группы производителяN
6) Все производители ТоварнойГруппыN

особо волнует вариант 6: как выбрать всех производелей одной товарной группы, если у Товарнойгруппы может быть только один id производителя???

   
 
 автор: Zilog   (25.03.2006 в 14:49)   письмо автору
 
   для: cheops   (25.03.2006 в 13:56)
 

Есть парочка вопросов.

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

Смысл в том, что бы иметь возможность вывести одним запросом:
1) Весь товар ПроизводителяN
2) Весть товар ТоварнойГруппыN ПроизводителяN
3) Весь товар ТоварнойГруппыN МодельногоРядаN ПроизводителяN

Я так понимаю, должно быть четыре талицы:

Производители:
id, name

Товарные группы (валенки, шапочки):
id,name, id_производителя - нужно ли ???

Модельный ряд товарной группы (валенки черные, валенки белые):
id, name, id_Товарной группы, id_производителя - нужно ли ???

Товары:
id, name, id_Производителя, id_ТоварнойГруппы, id_Модельного ряда, image, price, etc...

такая структура верная? Если верная, то как быть в случае, если ТоварнаяГруппа1 присутствует у обоих производителей - ведь id_Производителя в таблице ТоварныхГрупп может быть назначего только одному производителю?

2) Какая из таблиц, скажем так, является корневой?
Допустим ситуацию, когда вс сделано и работает. Таблицы все пустые. Зайдя в редактор, что я должен увидеть - что является кронем каталога - Производители или Товарные групы? Что является основой?

Благодарю за помощь!

   
 
 автор: cheops   (25.03.2006 в 13:56)   письмо автору
 
   для: Zilog   (25.03.2006 в 01:48)
 

>Можно конечно еще и храниьт в корине кроме ID товара еще и индентификатор группы - но
>таблицы у меня разные по структуре, и обраточкик этого геморроя писать геморно (простите за
>каламбур).
А зачем вам разные обработчики для корзины - ведь вам нужны только название, цену и ссылку на товар, выбирайте из разных таблиц - только эти поля + добавляйте идентификатор таблицы и у вас будет достаточно унифицированный обработчик подходящий под все случаи жизни.

   
 
 автор: MotoP@Sol   (25.03.2006 в 09:01)
 
   для: Lelik   (25.03.2006 в 03:26)
 

Я делаю похожим способом! таблица разделов и таблица товаров. в таблице разелов еще есть ид родительского раздела, чтобы вывести структуру, типа, ноутбук - тошиба, - самсунг, - и т.д.

   
 
 автор: Lelik   (25.03.2006 в 03:26)   письмо автору
 
   для: Zilog   (25.03.2006 в 01:48)
 

>Мастера! Хочу поинтерисоваться следующим - как правильно
>нужно делать базу товаров...
как правильно сделать решать нужно по конкретной ситуации.
А вообще я делал так:
В одну таблицу я заносил описание товара, а в другую категорию товара. В таблице с товарами хранятся товары с их полным описанем, а в таблице с категориями - категории с их полным описанием
Пример :
Имеем валенки и кросовки(я бы сделал так) делаем так:

#Создаем таблицу с категориями, в данном случае обувь
CREATE TABLE 'categories' (
'id_cat' INT NOT NULL AUTO_INCREMENT,
'cat_name' TEXT NOT NULL,
'cat_description' TEXT NOT NULL,
# и т. д.
PRIMARY KEY(id_cat)
);
#Создаем таблицу с товарами
CREATE TABLE 'items' (
'id_item' INT NOT NULL AUTO_INCREMENT,
'item' TEXT NOT NULL,
...
# Далее следует описание товара, цена и т.д.
...
'id_cat' INT NOT NULL,
PRIMARY KEY(id_item),
KEY (id_cat)
);
#А посля, примерно следующим запросом вынимаем данные из БД
<?php
...
$query "SELECT * FROM items WHERE необходимое значение AND id_cat.item = id_cat.categories(это делается для того, чтоб товар привязать к конкретной категории товаров)";

   
 
 автор: Zilog   (25.03.2006 в 01:48)   письмо автору
 
 

Делаю инетрнет магазин. Как дело дошло до корзины, обнаружил, что у меня две таблицы с товарами (у меня 2 группы товаров), и соответственно при добавлении ID в корзину, возникает вопрос - из какой группы товар добавили.

Можно конечно еще и храниьт в корине кроме ID товара еще и индентификатор группы - но таблицы у меня разные по структуре, и обраточкик этого геморроя писать геморно (простите за каламбур).

Мастера! Хочу поинтерисоваться следующим - как правильно нужно делать базу товаров, учитывая что имеются:
1) Производители
2) Группа товара, общая для всех производителей (например валенки, лапти, и т.д.)
3) Модели товара (например названий моделей валенок)

Например:
Roverbook -> Ноутбуки -> Voyager -> тут уже конкретные ноутбуки модели Voyager

Насколько я понял, в конечном итоге весь ассортимент должен лежать в одной таблице, и лапти, и водка, и ноутбуки, так?

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования