Imam jedno pitanje...imam npr. ovakav primjer...dvije tablice:
Nalog [SifraNaloga, Datum, Iznos,SifraPosla]
Posao [SifraPosla, OpisPosla, Iznos]
Tablica posao naravno sadrži sve poslove koje pruža npr. tvrtka skupa s opisom posla i odgovarajućom cijenom, znači jednostavne dvije tablice, e sad ovo usper funkcionira u slučaju da svaki radni nalog ima samo jedan posao...i tablice su povezane pomoću atributa SifraPosao iz obje tablice, npr. kreiranjem novog radnog naloga:
INSERT INTO Nalog VALUES (12,12.1.2012,336,4);
i kasnije naravno dohvaćam nalog i posao koji je obavljen na tom nalogu pomoću upita...
SELECT SifraNalog.Nalog, Iznos.Nalog, OpisPosla.Posao FROM Nalog, Posao WHERE SifraPosla.Nalog= SifraPosla.Posao AND SifraNaloga.Nalog=12;
Ali šta ako svaki nalog ima više poslova, ne samo jedan kao u gore navedenom slučaju, kako onda to obaviti?
Jedina ideja mi je bila kreirat još jednu dodatnu tablicu koja će upisivat SifraNaloga i SifraPosla pri svakom kreiranju naloga, znači ako ima 3 posla na jednom nalogu dodavat će se 3 zapisa u tu tablicu...npr:
Poslovi[SifraPosla,SifraNaloga]
I onda tako povezat te tri tablice...jel ima neko elegantnije riješenje?
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Dodatna tablica je sasvim OK rješenje. Ako baza koju koristiš podržava object typeove mogao bi kolonu SifraPosla definirati kao tablicu unutar tablice ali meni je dodatna tablica bolji izbor.
..
Jedina ideja mi je bila kreirat jošjednu dodatnu tablicu koja će upisivat SifraNaloga i SifraPosla pri svakom kreiranju naloga, znači ako ima 3 posla na jednom nalogu dodavat će se 3 zapisa u tu tablicu...npr:
Poslovi[SifraPosla,SifraNaloga]
I onda tako povezat te tri tablice...jel ima neko elegantnije riješenje?
- fali ti kolona (prava) 'SifraNaloga', koja je kod tebe vjerojatno ono što bi normalno označio kao IDnaloga. (nije potrebna dodatna tablica, tjrazmisli što bi u toj (dodatnoj) tablici bilo jednako-različito od postojeće.. tj morao bi napraviti relaciju na ID naloga.
- ID je jedinstveni br, SiftraNaloga treba biti konkretan broj naloga (ne ID), i tad sve ... ma dalje znaš. :)