Zidar uopste nije bio ironican :-) Tanja je pokusala da se oslobodi slozenih kljuceva i onda se zapetljala.
Teorijski ispravno resenje su stvarni kljucevi, ma koliko imali kolona. U praksi, koriste se i surogat kljucevi i mnogi ljudi se kunu u njih. Razlog - na prvi pogled sve je jednostavnije sa surogat kljucevima. U sustini, nista nije jednostavnije i iz tog razloga SQL standard uopste ne pomonje surogat kljuceve. Medjutim, standard je standard, teorija je teorija a praksa je praksa. Ko je navikao na vestacke kljuceve, tesko ce ih se odreci. Ko nije, bolje je da se ne navikava na njih.
Sve dok radi, dobro je. A kada ne radi?
Citat:
Krenula sam sa ispravljanjem kjuceva, medjutim sad mi je problem da povezem tabelu Fakture (kljuc: Sifra partnera, Vrsta fakture, Broj fakture) sa tabelom Stavka izvoda koja sadrzi polja Broj izvoda, Broj stavke,Sifra partnera,Vrsta fakture, Broj fakture i Iznos (kljuc Broj izvoda, Broj stavke) 1-1 vezom, jer jedna faktura moze da se plati samo jednom ( tj. odjednom)? Access mi uvek nudi vezu One-Many! Zasto?
Problem je u tabeli Stavka izvoda. Ako hoces da bude 1:1, znaci da ono sto je PK u tabeli Fakture mora da bude barem Unique Key u tabeli Stavke Izvoda. Posto imas vec kolone Sifra partnera,Vrsta fakture, Broj fakture u tabeli Stavke Izvoda, to bi moralo da bude unique, a moze i PK. Samo tako je moguce imati 1:1. Posto ti imas u tabeli Stavke Fakture jednu potencijalno unique kombinaciju(Sifra partnera,Vrsta fakture, Broj fakture ) i imas PK (kljuc Broj izvoda, Broj stavke) , meni se cini da imas problema sa dizajnom te tabele ili cele sheme. Znaci, tvoj problem nije da li treba koristiti vestacki ili slozeni realni kljuc, nego nesto drugo. Nesto tu nije uredu izmedju fakture i StavkeIzvoda. kad to razresis, sve ce kockice da se sloze i bice ti svejedno koliko kolona ima kljuc.
OOPS, stoj. Choravi ZIdar ne cita post do kraja, a Tanja je sama resila problem:
Citat:
Inace, tek sto sam postevila prethodno pitanje videla sam i sam gde sam pogresila!!
Kljuc tabele Stavka izvoda mi je ustvari i kjuc tabele fakture,polje Broj stavke mi ne treba, a preko polja Broj izvoda povezujem tabelu sa tabelom Izvodi.I sad mogu da uspostavim vezu One-One!
:-)
[Ovu poruku je menjao Zidar dana 17.03.2006. u 22:20 GMT+1]
[Ovu poruku je menjao Zidar dana 17.03.2006. u 22:41 GMT+1]