[ Valerij Zajcev @ 05.06.2009. 09:40 ] @
Da li je ovo dobar dizajn, da li ima bolji nacin da se povezu tabele? Treba da mogu da dodajem kategorije podkategorije i proizvode, a kada dodajem proizvod biram kategoriju pa podkategoriju, dobro ili lose?



PS
Umesto kolone "Naziv" sam na slici upisao ono sto u njih treba da ide :)
[ captPicard @ 05.06.2009. 10:54 ] @
Po meni je dobro (ako misliš na ovo dole). Zadovoljio si 3NF :-)

Kategorije
-
KatID PK
Naziv

Podkategorije
-
PodKID PK
KatID FK
Naziv

Proizvodi
-
ProizvID PK
PodKatID FK
Naziv
Cijena

Samo uzmi u obzir da u tom slučaju proizvod MORA biti u nekoj od podkategorija, dakle ne može biti samo u kategoriji a da ne bude u podkategoriji...
[ Valerij Zajcev @ 05.06.2009. 12:07 ] @
Citat:
captPicard: Po meni je dobro (ako misliš na ovo dole). Zadovoljio si 3NF :-)

Kategorije
-
KatID PK
Naziv

Podkategorije
-
PodKID PK
KatID FK
Naziv

Proizvodi
-
ProizvID PK
PodKatID FK
Naziv
Cijena

Samo uzmi u obzir da u tom slučaju proizvod MORA biti u nekoj od podkategorija, dakle ne može biti samo u kategoriji a da ne bude u podkategoriji...


Da, pa zato je i povezan samo sa podkategorijama :) Hvala
[ captPicard @ 06.06.2009. 13:12 ] @
Molim
[ Crtani @ 12.06.2009. 20:10 ] @
Na nakom apstraktnom nivou najsveobuhvatnije resenje bila bi rekurzivna veza:

tabela KATEGORIJE
---------------------
kategorijaID (PK)
naziv
nadKategorija (FK -> KATEGORIJE.KategorijaID)


tabela PROIZVODI
------------------
proizvodID (PK)
naziv
cena
kategorija (FK -> KATEGORIJE.KategorijaID)


Ovo bi omogucilo da kategorije imaju ili nemaju potkategorije, pa onda da te potkategorije imaju ili nemaju neke svoje potkategorije, i tako koliko god duboko zelite mozete da granate hijerarhiju.
A sami proizvodi bi mogli da se svrstaju u bilo koju kategoriju ili potkategoriju ma gde u hijerarhiji, sto je zaista najfleksibilnije.

Problem sa ovim modelom je sto ga nije bas najjednostavnije realizovati. Alat kakav je recimo Access ne dozivljava ovaj model kao nesto prirodno, ali uz malo snalazenja moze se (upravo sam isprobao).