Здравствуйте! Возникла проблема с реализацией товаров(а точнее с характеристиками товаров) в интернет-магазине. Так как в различных категориях различные товары, то и соответственно их характеристики отличаются.
Суть проблемы: не могу сконструировать максимально оптимально таблицы для базы данных MySQL.
==========================
Маленькие наработки:
=========
Таблица с категориями:
- `id` // ID
- `name` // название
- `cid` // родительская категория
=========
Таблица с товарами:
- `id` // ID
- name // название
- `cid` // родительская категория
- `about` // описание
- `price` // цена
- `exists` // наличие в магазине
=========
Таблица с характеристиками:
- `id` // ID
- `name` // название
... далее не знаю как лучше
=========
добавлено спустя 1 минуту:
Может у кого-то есть уже готовые наработки или идею, напишите плиз..
Анархист пишет:
"EmptyZero,описание и характеристика..желательно совместить."
не желательно. характеристика бывает разной, сказано же.
2 автор: погугли EAV pattern.
можешь просто дополнить таблицу с товарами полем с названием таблицы, в которой будет характеристика товара.
Fuelen,роли не играет.
добавлено спустя 1 минуту:
Fuelen,что дает EAV pattern ?
роль играет.
быстрый и эффективный поиск по данным. например есть веб магазин, в котором можно выбирать фильтр по указаным характеристикам. вот этот шаблон хорошо подходит для этого. не самая лучшая реализация, но одна из. на Lviv Ruby User Group был доклад о этом шаблоне, но башка была перегружена и я понял только основную идею и некоторую часть реализации)))
EmptyZero, дохрена чего использовать не советуют, в том числе и то, что является оптимальным решением
10 Июл 2012, 17:04Маньяк, что именно.
добавлено спустя 9 минут:
EmptyZero,у тебя категории ограничены?..вложения(другие категории) есть
А чем категория отличается от товара? Наличием цены, описания и количества в магазине? Может достаточно реализовать наследованием от категории в базе?
10 Июл 2012, 20:17Таблица с категориями:
- `id` // ID категории
- `name` // название(книги)
Таблица с товарами:
- `id` // ID
- name // название
cid` // ID категории
- `about` // описание
- `price` // цена
- `exists` // наличие в магазине
-
В общем..
выводим названия
Книги(ID 1)
Диски(ID 2)
-
массив(цикл) ссылки.
далее запрос к товарам по выборке cid` // ID категории