- Автор темы
- #1
Здравствуйте форумчане. Нужна ваша помощь в организации БД(составить таблицу) каталога. Итак описание задачи.
Предположим у нас есть каталог такой структуры(представлю дерево отношений ввиде XML для наглядности)
т.е. у категории дочки-элементы, у которых в свою очередь так же м.б. свои дети. В общем обычное дерево. Нужно как-то представить в этом дереве элемент <ex></ex>, который бы являлся дочерним,например, <el2></el2> и <el6></el6> одновременно, и соответственно, описать его в БД. Смысл его таков данного элемента таков: если выбраны <el2></el2> и <el6></el6>, то доступен и <ex></ex> со своим потомством.
А теперь от абстракции к конкретике для большего понимания что это и для чего это.
Предположим, мы продаем автомобили и на сайте пользователю предлагается выбрать себе опции.
что означает двигатель объемом <2400> доступен у полноприводных <model2 /> а список доп. опций <avdopt1> доступен только для
model1 c приводом на 2 колеса.
Прошу помощи в организации для БД таких вот опций, зависимых от наличия или комбинаций других опций.
Т.е. отношений в булевкой алгебре выгледящик примерно так:
X = A*B*C(D+E) (X доступно если есть А,Б, D или E, и нет C
Предположим у нас есть каталог такой структуры(представлю дерево отношений ввиде XML для наглядности)
Код:
<category1>
<el1>
<el1.1></el1.1>
<el1.2></el1.2>
</el1>
<el2></el2>
<el3></el3>
</category1>
<category2>
<el4></el4>
<el5></el5>
<el6></el6>
</category2>
А теперь от абстракции к конкретике для большего понимания что это и для чего это.
Предположим, мы продаем автомобили и на сайте пользователю предлагается выбрать себе опции.
Код:
<Модель>
<model1 />
<model2 />
</Модель>
<Привод>
<2к />
<4к />
</Привод>
<Двигатель>
<1800 />
<2000 />
<2400 /> = <model2 /> && <4к />
</Двигатель>
<adv>
<avdopt1> = <model1 /> && <2к />
<opt1 />
<opt2 />
<opt3 />
</avdopt1>
<avdopt2>
<opt4 />
<opt5 />
</avdopt2>
</adv>
model1 c приводом на 2 колеса.
Прошу помощи в организации для БД таких вот опций, зависимых от наличия или комбинаций других опций.
Т.е. отношений в булевкой алгебре выгледящик примерно так:
X = A*B*