>> Получается три таблички:
>>
>> объекты
>> иерархии (деревья)
>> связи
>>
SST> вот именно этот момент и не устраивает - три таблички.
SST> поле КодГруппы в таблице Товары ссылается на ПК таблицы Группы поле
КодГруппы.
SST> а те варианты, которые Вы предлагаете, получается, например, название
фильтр масла
SST> будет дублироваться дважды с разными значениями КодГруппы.
SST> получается, что почти каждый товар будет иметь две и более связи с
таблицей групп товаров.
SST> т.е. записей о товарах ~ 30 млн. умножить на 2 (или на 3 (или на
SST> 4)) и получим ~ 100 млн записей.
SST> и это число с каждым кварталом будет расти как миниумум на 50 тис. записей.
SST> тогда лучше завести в таблице групп товаров ещё одно поле (или
SST> два поля) к существующему ParentId
SST> такие Parent2_Id, Parent3_Id. пока ничего изященее не получается.
Ты хоть понял что написал ? Тебе-же не это предлагали ...
Не надо дублировать записи таблицы товар, да и вообще выкинуть
нафиг ParentId из таблички товар ...
"Дубликаты" будут в табличке связок ...
Разжовываю ...
Таблица "Товар"
ID Name
1 масло
2 ремень
3 клапан
4 фильтр масла
Таблица "Труппы" ( здесь обычное дерево чтоб не заморачиватся,
но можно е эту таблицу через линки ...)
ID Parent_ID Name
1 0 Машина
2 1 Моторная группа
3 2 Газораспределительный механизъм
4 1 Расходные материалы
Таблица "линков"
TOVAR_ID GROUP_ID
1 4 (масло входит в расходные)
4 4 (фильтр масла в расходные)
4 1 (фильтр масла в моторную группу)
2 4
2 2
2 3
Короче устал, дальше - твоя фантазия ...
С уважением,
Константин Григорьевич.
===============