|
|
|
| что-то не могу сообразить....
Есть таблица товаров (сокращенно) в виде вложенных множеств:
group_id group_level group_left group_right group_name
1 1 1 500 Товары для спальни
2 2 2 127 Матрасы
3 3 3 20 Серия "Comfort"
12 4 4 5 Коби
13 4 6 7 Киммо
14 4 8 9 Крейг
15 4 10 11 Клив
| Расшифровываю: основной раздел: Товары для спальни, подраздел: Матрасы, подподраздел: Серия "Comfort", то, что не имеет вложений - это товары. Т.е. Коби, Киммо, Крейг, Клив.
Есть таблица свойств:
attr_id attr_name attr_type
1 Цена в рублях int
2 Высота str
3 Жесткость str
4 Пружинный блок str
5 1 сторона str
6 2 сторона str
7 Изолирующий слой str
8 Состав str
|
Есть таблица связей свойств и товара:
group_id attr_id group_attr_req
1 1 required
2 2 required
2 3 required
2 4 optional
| свойства наследуются внутрь группы, как у объектов ООП. Т.е. все товары группы "Товары для спальни" имеют свойство "Цена в рублях", которое должно быть обязательно определено. Все товары группы "Матрасы", должны иметь определенные свойства высота и жесткость +Цена в рублях от родительской группы +может иметь, может не иметь свойство "Пружинный блок". Все это наследуется ниже в Серия "Comfort" и в каждый товар серии.
Вопрос в следующем. Каждый товар раздела "матрасы" обязан иметь либо одно свойство состав, либо 3 свойства: 1 сторона+2 сторона+Изолирующий слой.
=((((
Как бы это запроектировать? | |
|
|