[ Valerij Zajcev @ 23.06.2010. 14:02 ] @
Prilikom dizajna baze podataka, da li je vazno (tj. normalno) da sve tabele u bazi budu u relaciji ili je prihvatljivo da postoje tabele koje nisu u nikakvoj vezi ni sa jednom drugom tabelom. Recimo da u bazi hocu da imam tabele:
Baneri: nevezano za bilo sta samo postoje lokacije do flash-banera unutra
Oglas: isto nebitno je koji korisnik postavlja oglas
...
Da li je kada se u dizajnu baze pojavi tabela koja nije u relaciji sa bilo cim drugim greska i ona ne treba tu da bude, ili je to ok?
[ Zoran.Eremija @ 23.06.2010. 14:15 ] @
Najbitniji je Vas interes posmatranja prema nekom sistemu, pa i u ovom slucaju koji navodite. Ako Vas interes posmatranja ne zahteva povezanost izmedju objekata posmatranog sistema tada je odgovor da NE mora biti veza, a ako Vas interes to zahteva, i ako je vas sistem za upravljanje bazama podataka bazira na relacionom modelu onda je pozeljno.

U praksi se mozete susresti sa razlicitim pogledima. Recimo veoma je intresantno kako veliki prozvodjaci ERP resenja (SAP, BAAN, DYNAMICS NAV) resavaju probleme bez ijedne veze, a koriste relacione baze.
[ jablan @ 23.06.2010. 14:50 ] @
Citat:
Zoran.Eremija: Recimo veoma je intresantno kako veliki prozvodjaci ERP resenja (SAP, BAAN, DYNAMICS NAV) resavaju probleme bez ijedne veze, a koriste relacione baze.

Šta misliš, zašto je to tako?
[ Zoran.Eremija @ 23.06.2010. 14:54 ] @
Citat:
jablan: Šta misliš, zašto je to tako?


To pitanje bih postavio njihovim "Konsultantima".
[ temuchin @ 24.06.2010. 09:21 ] @
@Valerij Zajcev

Naravno da mozes imati tabele koje nisu povezane ni sa jednom drugom.
[ cume @ 25.06.2010. 07:02 ] @
@Valerij

Inace, svaka tabela je relacija za sebe, tj. njeni atributi (kolone) su u relaciji. Po tome su relacione baze podataka dobile ime, ako te sam naziv zbunjuje.
[ Fitopatolog @ 28.06.2010. 14:53 ] @
Slogovi iz jedne tabele se referišu (najčešće) na slogove druge tabele preko mehanizma primarni ključ/strani ključ. Na primer, ako imaš dve tabele:

zarade(#ID_radnika, #godina_mesec, iznos_zarade, #ID_poreza)
porezi(#ID_poreza, stopa)

preko polja #ID_poreza u tabeli "zarade" unapred određuješ koji porez će da važi za koju zaradu. Stvari se komplikuju ako je oporezivanje stepenasto, t.j. ako stopa zavisi od opsega iznosa zarade. Tada gornje tabele postaju:

zarade(#ID_radnika, #godina_mesec, iznos_zarade)
porezi(#ID_poreza, stopa, iznos_od, iznos_do)

Ovaj drugi primer je za referisanje slogova bez primarnog/stranog ključa.