Здравствуйте, strelochnik, Вы писали:
S>Каждую категорию товара можно охарактеризовать общими для всех товаров свойствами (id, название, изображение, цена...), и свойствами, индивидуальными для каждой категории
Абсолютно такую же задачу решаю сейчас, хотя намного больше видов объектов.
Классика:
Products(ProductID[PK],<необязательно> ProdTypeID(FK:ProductTypes), Name, Price, Picture)
ProductsTVAttr(ProductID[PK,FK:Products), ScreenSize, ScanningFreq)
ProductsCellPhoneAttr(ProductID[PK,FK:Products), HasBT, HasCamera, ColorDepth)
<необязательно>
ProductTypes(ProdTypeID[PK], Name)
Вытаскивать:
SELECT *
FROM
Products as p
INNER JOIN
ProductsTVAttribs as ptv
ON ptv.ProductID = p.ProductID
Если важно, чтоб в телевон не попали атрибуты телевизора, то TypeID добавляешь во все таблицы и ключём будет (ProductID, ProdTypeID) а в таблицах Products[...]Attr делаешь на TypeID ограничение.
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков