kategori(tablo)
id
name
parent_id(id) -> union ilişki

urun(tablo)
id
name
kategori_id(foreign key -> kategori tablosuna)
marka_id(foreign key - marka tablosuna)

marka(tablo)
id
name

kategori_ozellikleri
id
name
value
kategori_id ->(foreign key -> kategori tablosuna)

--

bir ürünün direkt olarak markası olur, kategorinin olmaz.

gerisi sende ;)


---

bir kategorinin birden fazla kategori özelliği olabilir (bu özellikler bu kategori altındaki ürünlerde barındırılan genel özellikler olabilir)

Örnek -> Moda kategorisi -> 1 - Desen, 2 - Renk, 3 - Beden

kategori -> id :1, name : moda, parent_id : null (ana kategori), kategori_ozellikleri_id : 1
kategori_ozellikleri -> id : 1, name : Desen, value : Düz, kategori_id :1
id : 2, name : Desen, value : Baskılı, kategori_id :1
id : 3, name : Renk, value : Mavi, kategori_id :1
id : 4, name : Renk, value : Kırmızı, kategori_id :1
id : 5, name : Beden, value : S, kategori_id :1
id : 6, name : Beden, value : M, kategori_id :1

select * from kategori k join kategori_ozellikleri ko on k.id=ko.kategori_id

kategori ve baglı özelliklerini getirir.

Bu ürün üzerinede uygulanıyor :)

bu yapıyı anlamak için sahibinden.com'a ilan verilen arayuzlere gir, rahat bir mantıksal cıkarırsın ;)

malesef pek zamanım yok, şimdilik benden bu kadar.