[ zliki @ 26.11.2007. 07:51 ] @
Zdravo svima. Evo jednog totalkno pocetnickog pitanja. Naime instalirao sam firebird, IBOConsole, Flame Robin. Uspeo sam da kreiram bazu, da kreiram nekoliko tabela u njoj (sa primarnim kljucevima). E sad zelim da uspostavim relacije izmedju njih. Na pr. treba mi odnos jedan prema vise. U access-u koji sam koristio, ovo ide vrlo lako. Kod firebird-a uopste ne umem da se snadjem. Gde gresim? Kako se uopste kreiraju relacije izmedju tabela? Da li mi je jos nesto od alatki potrebno za rad sa firebird-om. Napomena, koristim delphi (Borland developer studio 2006).

Pozdrav.
[ chachka @ 26.11.2007. 09:20 ] @
Kada dete uči sabiranje, ne uči ga pomoću kalkulatora. Sabiranje se uči pomoću obojenih štapića i računaljke (abakusa). Sabiranje se uči na ovaj način jer je potrebno svima (ili barem tako misle svi edukativni sistemi na svetu) i zato što je to jedna od najosnovnijih matematičkih operacija.

Množenje se uči na sličan način - pomoću štapa i kanapa. Kako se napreduje kroz školovanje tako se sve manje uči kako neka matematička operacija (funkcija) zaista radi, a sve više se dopušta upotreba pomagala (kalkulatora, računara, tablica). Kada pravnici uče deobu nasleđa na polovine, trećine, petine, smeju da koriste kalkulator, jer im računanje nije primarna delatnost.

Praktični primenioci matematike - fizičari, elektro inžinjeri, mašinski inžinjeri, koriste u svom radu integrale, diferencijalne jednačine i ostala matematička čudesa, ali te proračune za njih rade alati, poput recimo MathLab-a. I ne moraju da znaju kako sve to funkcioniše (mada znaju). Ali... neko mora da zna kako funkcioniše sabiranje, množenje, sistemi jednačina, integrali! Moraju postojati profesionalci koji to znaju. Jer ako njih nema, neće niko znati da napravi nove kalkulatore, računare, programe poput AutoCAD-a, MathLab-a, itd.

Dakle matematikom se bave:
- korisnici, koje najčešće nije briga šta se stvarno dešava kada pritisnu znak '%' na trgovačkom kalkulatoru i
- profesionalci, kojima je posao da takve stvari znaju.
Normalno granica nije baš tako crno-bela.

Čekić je alat kojim stolar ukucava eksere u drvo. Šta bi se desilo kada bi stolaru oduzeli čekić? Ništa, on bi i dalje bio stolar (doduše spor stolar), jer bi eksere ukucavao cipelom ili kamenom. Kada profesionalcu oduzmeš alat on i dalje ostaje profesionalac, samo što verovatno svoj posao obavlja sporije i nekvalitetnije.

Ako prebacimo celu priču na polje baza podataka opet imamo dve grupe: korisnike i profesionalce. Postavlja se pitanje u koju grupu ti (zliki) sebe svrstavaš odnosno kojoj grupi težiš?

Ako se smatraš profesionalcem, onda MORAŠ da znaš DDL deo SQL jezika. Tada je taj DDL srž i odgovor na pitanje šta se to dešava u bazi podataka, a IB Console ili FlameRobin ili bilo koji drugi grafički alat je baš samo - ALAT i ništa više.

Ako se smatraš profesionalcem, onda nauči kompletan SQL jer je to zasada jedini standardizovan i opšte prihvaćen jezik za rad sa bazama podataka. Tada nije bitno ni da li se radi o Firebird, MS SQL, Oracle ili nekoj desetoj bazi podataka.

Ono što tebi treba da bi napravio referencijalni integritet (a ne relaciju!) između dve tabele je DDL komanda:
Code:
ALTER TABLE ime_tabele_1
  ADD CONSTRAINT ime_fk (ime_kolone) 
  REFERENCES ime_tabele_2
Ovu komandu možeš da izvršiš čak i pomoću ISQL komand prompt alata.

Ako se smatraš korisnikom, nemoj učiti DDL i ostani na Access-u.

[Ovu poruku je menjao chachka dana 26.11.2007. u 11:03 GMT+1]
[ zliki @ 26.11.2007. 11:06 ] @
OK. Hvala na iscrpnom odgovoru i lepim savetima.