Ja bih to napravio ovako:
- kreiras 3 tabele:
1. tabela_proizvodi
id_pro
... ostala polja za proizvod ...
2. tabela_kategorije
id_kat
id_subkat
... ostala polja za kategoriju ...
U id_subkat stavljas id_kat one kategorije kojoj je ta kategorija podkategorija.
Npr. id_kat = 1 je za kategoriju "Kategorija1". Ako kreiras neku podkategoriju npr. "podkategorija1", onda ces staviti id_kat = 2, id_subkat = 1 . Ako se radi o kategoriji, onda je njen id_subkat NULL .
Valjda je jasno ... Ili da objasnim jos detaljnije ?
3. tabela_lookup
id_za_proizvod
id_za_kategoriju
To stavis sve u PRIMARY KEY. Npr. imaces kombinaciju (id_za_proizvod, id_za_kategoriju)
Dala bi se izvesti kombinacija i sa razdvajanjem kategorija od podkategorija, ali onda bi se zakomplikovalo sve pri sklapanju odgovarajuceg SELECT upita ili neke druge operacije (UPDATE, DELETE, INSERT).
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA