RAČUNARSTVO I INFORMATIKA

Почетак » II godina » Excel » Access » Pojam veza

Category Archives: Pojam veza

15. Pojam veza i 16. Izmene veza između tabela

15. Pojam veza i 16. Izmene veza između tabela

Baza podataka se ne odnosi samo na pojedinačne objekte nego i na odnose između objekata. U realnom sistemu objekti nisu međusobno izolovani, nego se nalaze u međusobnoj interakciji. Student se upisuje na fakultet, sluša predavanja iz pojedinih predmeta, prijavljuje polaganje ispita, polaže ispit itd. To su primeri logičkih i realnih veza između objekata, koje slede iz realnih odnosa u posmatranom sistemu studiranja na jednom fakultetu. Istražimo jedan skup odnosa između studenata koji slušaju predavanja kod određenog profesora. Postavlja se pitanje šta su u takvim odnosima objekti, koje su njihove osobine (atributi) i kako prikazati njihove odnose. Identifikovati objekte, njihove osobine i odnose znači praktično izgraditi model podataka. U modelu podataka ne postoje samo atributi objekta, nego i veze između objekata. Prvo se selektuju objekti, imenuju se, a zatim se analiziraju tipovi odnosa koji se uspostavljaju između objekata. Odnosi između objekata posmatranja prikazuju se najčešće primenom logike skupova i preslikavanja njihovih elemenata. Najjednostavniji odnos između ta dva tipa objekata naziva se preslikavanje 1:1. Kod takvog preslikavanja svaki se element skupa X može preslikati na najviše jedan element skupa Y. Istovremeno, i svaki element skupa Y može biti preslikan na najviše jedan element skupa X. Karakterističan primer bi bio sa entitetima Fakultet i Dekan. Na jednom fakultetu može biti samo jedan dekan, a jedan dekan može biti dekan na samo jednom fakultetu. Takvi odnosi između entiteta su retki, a mogu se predstaviti sledećom slikom:

untitled

Druga vrsta odnosa naziva se preslikavanje N:1 (ili 1:N). Više elementa skupa X može se preslikati na najviše jedan element skupa Y. Istovremeno jedan element skupa Y može se preslikati na više elemenata skupa X. Pogodan primer za ovu vrstu odnosa između entiteta je odnos između entiteta Student i Dekan. Više studenata na jednom fakultetu ima samo jednog dekana, a jedan dekan je dekan za više studenata na svom  fakultetu

untitled

Najsloženije preslikavanje je tipa M:N. Svaki element prvog skupa može se preslikati na više elemenata drugog skupa, ali se i svaki element drugog skupa može preslikati na više elemenata prvog skupa. Karakterističan primer ovakvih veza postoji ako se uoče entiteti Student i Profesor. Jednom studentu predaje više profesora, a ujedno jedan profesor predaje za više studenata.

untitled

U relacionom modelu podataka klase objekata se predstavljaju tabelama. Na primer klasa STUDENT se može opisati atributima BROJ INDEKSA i IME i klasa KNJIGA sa itributima ŠIFRA KNJIGE i NAZIV. Trenutno stanje studenata i knjiga koje je uneseno u ove tabele može biti sledeće:

untitled

U realnom svetu objekti međusobno stupaju u veze. Na jednom fakultetu studenti drže (pozajmljuju iz biblioteke) pojedine knjige. Može se uočiti da je veza između ova dva posmatrana objekta tipa M:N, tj. Više studenata mogu da drže jednu knjigu, a jedna knjiga može biti kod više studenata. Neka je trenutna situacija iz realnog sveta prikazana na sledećoj slici:

untitled

Klasa veza se može posmatrati kao zaseban entitet, a taj entitet može da ima svoje posebne atribute. U našem primeru, klasa veza DRŽI može da ima kao atribut DATUM od kada student drži određenu knjigu. Neka je trenutna situacija iz realnog sveta prikazana sledećom slikom:

untitled

Suština relacionog modela je da se i klase objekata i klase veza između objekata predstavljaju na jedinstven način, tj. preko tabela. U našem primeru postoje tri tabele: STUDENT, KNJIGA i DRŽI. U relacionom modelu podataka tabela se definiše kao relacija, koja mora da ispuni odgovarajuće uslove. Svaka relacija mora da ima primarni ključ – jedan ili više atributa koji na jedinstven način opisuju svaki zapis u jednoj tabeli. Primarni ključ se pažljivo bira. Na primer u klasi studenata loš izbor primarnog ključa bi bio atribut IME, zato što se mogu pojaviti dva studenta sa istim imenom. Dobar izbor primarnog ključa je atribut Broj indeksa, zato što ne postoje dva studenta sa istim brojem indeksa. Za klase objekata Student i Knjiga vrši se prevođenje u relacioni model na sledeći način (podvlačenjem su označeni atributi koji čine primarni ključ):

Student (BrInd, Ime)          Knjiga (SifK, Naziv)           Drži (BrInd, SifK, Datum)

Dakle, za posmatrani realan slučaj gde sudenti drže pojedine knjige, izvršeno je modelovanje preko tri tabele tj. relacije. Tabele STUDENT i KNJIGA imaju dve kolone, a tabela DRŽI tri kolone. Sve tabele su povezane. Povezivanje se vrši preko vrednosti atributa u relacijama, na sledeći način:

untitled

Relaciona baza podataka standardno se satoji iz više tabela. Ipak, za razliku od mrežne baze podataka, tabele nisu povezane pokazivačima. Umesto toga koriste se „ključevi“ da upare redove podataka u različitim tabelama. Ključ je samo još jedna ili više kolona u tabeli, koja odgovara kolonama u drugim tabelama.