18
Panevropski univerzitet „APEIRON“ Banja Luka Fakultet informacionih tehnologija Prof. dr Lazo Roljid KOMPENDIJUM za pripremanje ispita iz BAZE PODATAKA Banja Luka, juni 2011.

Teorija Baze Podataka - Lazo Roljic

Embed Size (px)

Citation preview

Page 1: Teorija Baze Podataka - Lazo Roljic

Panevropski univerzitet „APEIRON“ Banja Luka

Fakultet informacionih tehnologija

Prof. dr Lazo Roljid

KOMPENDIJUM

za pripremanje ispita iz BAZE PODATAKA

Banja Luka, juni 2011.

Page 2: Teorija Baze Podataka - Lazo Roljic

Panevropski univerzitet „APEIRON“ Banja Luka

Fakultet informacionih tehnologija

Prof. dr Lazo Roljid

KOMPENDIJUM

za pripremanje ispita iz BAZE PODATAKA

1. Šta je baza podataka?

Def.1: Baza podataka je organizovani skup logički povezanih podataka (slogova) i datoteka, bez

suvišnosti ili redundancije, koji se odnosi na slične pojmove ili predmete, organizovanih za određenu

namjenu.

Redundantnim podacima se smatraju oni podaci koji su nepotrebno smješteni na više mjesta u bazi

podataka.

Def.2: Jedna od mogudih definicija baze podataka glasi da je to „zbirka slogova podataka sačuvanih u

računaru na sistemski način, takav da joj se računarski program može obratiti prilikom odgovaranja

na problem“.

2. Šta je sistem za upravljanje bazom podataka?

Sistem za upravljanje bazom podataka (DBMS - Data Base Management System) vodi računa o

podacima, vezama među podacima, ispravnosti podataka i svemu ostalom u radu sa bazom podataka.

3. Šta je MS Access?

Microsoft Access je sistem, odnosno program za upravljanje bazama podataka za rad pod

operativnim sistemom Windows.

4. Koje su funkcionalne mogudnosti Accessa?

Glavne funkcionalne mogudnosti Access-a su:

- Unos podataka direktno u bazu podataka ili uvoz podataka iz drugih programa.

- Sortiranje, indeksiranje i organizacija podataka na način koji se želi.

- Brzo stvaranje izvještaja ili priprema za ispis naljepnica za pisma upotrebom svih ili samo

dijela podataka.

- Kreiranje formi (ili obrazaca) kako bi manje stručni korisnici mogli unositi nove podatke u

bazu podataka.

- Stvaranje upita koji de rezultirati izvještajem zavisno od uslova koji su postavljeni.

5. Koji su gradivni elementi aplikacije Accessa, odnosno iz čega se sastoji baza podataka

kreirana u Access-u?

Sastoji se od slijededih elemenata, odnosno objekata:

- tabele,

- forme (obrasci),

- upiti,

- izvještaji,

- makroi i

- VBA moduli.

Page 3: Teorija Baze Podataka - Lazo Roljic

6. a) Koji od naprijed navedenih objekata je prikazan na slici, dole, i b) čemu on u ovom

primjeru služi (opisati sa slike sve opcije koje nudi)?

7. a) Šta je prikazano na slici dole? b) čemu to služi opdenito? c) a čemu služi ovaj konkretno,

odnosno šta demo saznati iz njega?

8. a) Šta prikazuje gornji dio slike-dole?, b) a Šta prikazuje donji dio slike (dole)? c) i Čemu to

služi opdenito?, d) a Šta saznajemo (šta je prikazano) iz ovog konkretno u aplikaciji robnog

prometa?

Page 4: Teorija Baze Podataka - Lazo Roljic

9. a) Šta je to što je prikazano na slici dole? b) Čemu to služi opdenito? i c) Šta omoguduje ovaj

konkretno?

10. Šta je strani ključ?

Strani ključ sačinjavaju jedno ili više kolona (polja) čije vrijednosti moraju postojati unutar vrijednosti

primarnog ključa neke druge (ciljne) table.

11. Šta je to NULL ili nulta vrijednost u relacionim bazama podataka?

Jedna od osnovnih razlika između relacione baze podataka i starijih baza podataka jeste pojam nulte

vrijednosti koji je prisutan u relacionim bazama podataka. Ova specijalna vrijednost u relacionim

Page 5: Teorija Baze Podataka - Lazo Roljic

bazama podataka ukazuje na odsustvo bilo kakve vrijednost u polju znakovnog tipa (Char) ili

brojčanog (Numbers) tipa.

Nulta vrijednost pokazuje da vrijednost kolone (polja) ili formule koja ili nije primjenljiva u datom

slučaju ili da još nije dodijeljena.

Termin "nula vrijednost" (koji demo na slici dole obilježiti sa ?) se koristi da označi "nedostatak imformacija u bazi, odnosno "još nepoznatu vrijednost" za neki atribut u nekim slogovima tabela u relacionoj bazi podataka.

12. Na šta se odnosi (šta znači?) pojam normalizacija u relacionim bazama podataka?

Teorija normalizovanja omoguduje nam da opišemo željenu strukturu tabela i kolona unutar baze

podataka u skladu sa pravilima normalizacije. Normalizacija se svodi na izučavanje relacija između

tabela, atributa (kolona) i međusobne zavisnosti atributa u cilju :

- minimiziranja redundantnosti podataka

- izbjegavanje anomalija pri ažuriranju podataka

- smanjenju broja nelogičnih podataka

- izradi strukture podataka pogodne za održavanje.

Normalizacija je tehnika dizajna baze podataka kojom se na osnovu izvjesnih kriterijuma određuje

sadržaj tabela (tj. koje kolone treba da obuhvataju tabele i njihova struktura ključa). Osnovna ideja je

da se eliminiše nepotrebno dupliranje neključnih podataka u tabelama.

13. Potreba za normalizacijom

Normalizacija je u prvom redu potrebna zato jer se njome izbjegavaju teškode koje bi nastupile ako bi

radili s nenormalizovanim podacima. Normalizacija je korisna i zato jer se njome naknadno otkrivaju i

ispravljaju greške u oblikovanju entiteta, veza i atributa. Od normalizacije možemo odustati samo u

nekim rijetkim situacijama, ali i tada moramo biti svjesni eventualnih loših posljedica takve odluke.

14. Kako glasi prvo pravilo normalizacije – Prva normalna forma (1NF)?

Def1: Entitet zadovoljava prvo pravilo normalizacije ukoliko su svi atributi koje posjeduje elementarni.

Atribut je elementaran ukoliko sadrži jedinstvenu informaciju o entitetu. Primjera radi navedimo da u

tabeli koja je namijenjena pohranjivanju informacija o zaposlenima nedete koristiti atribut

Izdrzavane_osobe u koji biste unosili ime osoba koje zaposleni izdržava. S obzirom da jedan zaposleni

može imati više osoba koje izdržava (ili nijednu) ova informacija nije elementarna.

Def.2: Prva normalna forma odnosi se na grupisanje sličnih podataka u odvojene tabele i definisanje

primarnog ključa za svaku tabelu.

15. Kako glasi drugo pravilo normalizacije – Druga normalna forma (2NF)?

Def.1 Ovo pravilo podrazumijeva da tabela zadovoljava prvo pravilo normalizacije i tiče se samo

tabela sa složenim (komponovanim) primarnim ključem (komponovanim od više atributa). Možemo

zaključiti da se drugo pravilo normalizacije svodi na normalizaciju relacija korištenih u dijagramima

Entitet-Relacija. Drugo pravilo normalizacije zahtijeva da svi atributi (kolone), koji ne ulaze u sastav

Page 6: Teorija Baze Podataka - Lazo Roljic

primarnog ključa, zavise isključivo i u cjelosti od primarnog ključa entiteta. Drugim riječima ovo

pravilo zahtijeva da tabela ne sadrži redundantne (nepotrebne, suvišne) informacije.

Uzmimo za primjer tablu Porudjba_Artikl koja identifikuje artikle jedne poruđbine i čiji je primarni

ključ komponovan od Id_Porudjbina i Id_Artikl. Tabela koja pored atributa Kolicina sadržava i atribut

Naziv_artikla ne zadovoljava drugo pravilo normalizacije bududi da atribut Naziv_artikla zavisi samo

od dijela primarnog ključa - Id_Artikla.

Def.2: Smještanje podataka u drugu normalnu formu sastoji se od premještanja u druge tabele onih

podataka koji su zavisni samo od dijela ključa.

Svođenje na drugu normalnu formu zahtijevalo bi da ovu tabelu nadomjestimo tabelama

Stavke_porudjbine i Artikl, koje bi obje zadovoljavale drugo pravilo normalizacije.

Drugo pravilo normalizacije baza podataka kaže da, ako polje samo djelimično zavisi od više-

vrijednosnog ključa, premjestite ga u drugu (posebnu) tabelu.

Dakle, nemojte smještati iste podatke na dvije različite lokacije (tabele). Ovo može voditi u greške

ažuriranja ili brisanja. Ako su ekvivalentni elementi podataka uneseni u dva polja, uklonite drugi

element podataka, kreirajte novu tabelu sa odnosnim elementom i pratedim ključnim poljem, a zatim

smjestite ključno polje kao relaciju prema lokaciji koja je sadržala oba objekta. Drugim riječima, ako

imate potrebu da premjestite dva polja da biste stvarno identifikovali slog, ali samo jedno od polja iz

te tabele, koje je neophodno za izvršavanje pregleda tabele, potrebna vam je nova tabela. Za baze

podataka koje zadovoljavaju ovo pravilo se kaže da su u drugoj normalnoj formi.

16. Kako glasi trede pravilo normalizacije (Treda normalna forma 3NF)?

Def.1: Ovo pravilo normalizacije podrazumijeva da se tabela ved nalazi u drugoj normalnoj formi. Cilj

primjene tredeg normalnog pravila jeste da se izbjegnu tranzitivne (posredne) zavisnosti u okviru

jedne tabele. Pri privođenju tabele u tredu normalnu formu slijedite navedene etape :

- Zadržite u tabeli samo atribute zavisne direktno od primarnog ključa u njegovoj cjelosti.

- Grupišite u jednu tabelu sve atribute koji su tranzitivno zavisni, atribut od kojeg su zavisni

navedeni atributi duplicirajte u početnoj tabeli i odaberite ga za primarni ključ nove tabele.

Kao primjer navodimo tabelu Porudjbina u kojoj atribut Ime_Kupca zavisi tranzitivno od primarnog

ključa (posredstvom atributa Id_Kupca koji zavisi direktno od primarnog ključa).

Page 7: Teorija Baze Podataka - Lazo Roljic

Primjena tredeg pravila normalizacije navodi nas da nadomjestimo tabelu Porudjbina sa dvije slijedede tabele.

Def.2: Treda normalna forma sastoji se od uklanjanja svih podataka u tabelama koji ne zavise jedino od primarnog ključa. Drugim riječima, treba zadržati samo podatke koji su zavisni od primarnog ključa, a one koji nisu treba premjestiti u nove tabele i formirati primarni ključ za njih. U svakoj formi normalizacije postoji izvjesno ponavljanje, pa ukoliko su podaci u 3NF (skradenica za 3. normalna forma), oni su ved u 1NF i 2NF. Sa aspekta dizajna baze podataka to znači da podatke treba organizovati tako da sve kolone koje ne pripadaju primarnom ključu zavise samo od čitavog primarnog ključa.

17. a) Šta je šema baze podataka? b) Kojim sve oblicima možemo prikazati šemu BP?

a) Šema baze podataka je skup objekata koji opisuju (otjelotvoruju, čine) logički model baze

podataka : tabele, kolone, primarni ključevi, strani ključevi itd. b) Tekstualno-opisano, ili izgovoreno riječima, u obliku formula, tabelarno, grafički, u obliku E-R

dijagrama, itd.

Def.2: Šema1 baze podataka je grafički opis nacrta tabela u vidu linija koje sadrže nazive njihovih

polja i prikazuju uprošdenu verziju odnosa između njih. Dijagram koji prikazuje logičko predstavljanje

podatak nazivamo šemom. Ona može pomodi da se shvati koncept baze podataka.

Def.3: Šema je opis logičke organizacije baze podataka. Ona je ctrež na kome su predstavljeni tipovi

podataka koji se nalaze u bazi podataka. Na šemi se nalaze imena objekata i atributa i specifikuju se

relacije (veze) između podataka. Može se smatrati da tabela predstavlja šemu, ako se iz nje uklone

konkretne vrijednosti podataka. Kada se u šemu ubace podaci (kao što je to učinjeno na slici 5) tada

se govori o “jednom primjeru šeme”.

18. Šta je primarni ključ?

Svaka entitet posjeduje skup atributa koji omoguduje da jednoznačno identifikujemo konkretnan entitet. Taj skup atributa nazivamo primarni ključ. Primarni ključ može da sačinjava jedan atribut - Klijent_ID u slučaju entiteta Klijent, ili više atributa - u slučaju entiteta Stavke_porudjbine svaka stavka je identificirana atributima Klijent_ID i Artikl_ID. Izbor pojedinih primarnih ključeva je očit, što međutim nije uvijek slučaj.

1 Potiče od grčke riječi schema=plan.

Page 8: Teorija Baze Podataka - Lazo Roljic

Definicija1: Primarni ključ je (jedan ili) skup atributa koji jednoznačno identifikuje slog tabele. Definicija 2: Primarni ključ je kolona ili skup kolona koji jednoznačno određuju ostatak podataka u svakom redu tabele.

19. Opišite riječima šta naređuje slijededa komanda:

SQL>CREATE TABLE ODELJENJE

(IdOdjeljenje NUMBER(5) NOT NULL PRIMARY KEY,

Naziv VARCHAR(25) NOT NULL);

20. Koji podaci iz tabele TabelaAdresaRadnika (dole) nastanu u privremenoj tabeli (popunite je

podacima)

TabelaAdresaRadnika

JMBG Ime Prezime Adresa Grad Republika

512687458 Đorđe Petrovid Kralja Petra 9 Beograd Srbija

758420012 Marija Simid Bul Nikole Tesle 22 Jagodina Srbija

102254896 Savo Jovanovid Njegoševa 17 Podgorica Crna Gora

876512563 Svetlana Adimovid Laze Lazarevida 10 Subotica Srbija

nakon slijedede SQL komande:

SELECT Ime, Prezime, Adresa, Grad, Republika

FROM TabelaAdresaRadnika;

Rezultat gornje komande je:

Ime Prezime Adresa Grad Republika

Đorđe Petrovid Kralja Petra 9 Beograd Srbija

Marija Simid Bul Nikole Tesle 22 Jagodina Srbija

Savo Jovanovid Njegoševa 17 Podgorica Crna Gora

Svetlana Adimovid Laze Lazarevida 10 Subotica Srbija

21. Šta je strani ključ?

Strani ključ je kolona u tabeli koja je primarni ključ u drugoj tabeli, što znači da sve vrijednosti u

koloni stranog ključa moraju imati odgovarajude podatke u drugoj tabeli u kojoj je ta kolona primarni

ključ.

22. Šta su odnosi, odnosno relacije (engl. Relationships) u relacionoj bazi podataka?

Page 9: Teorija Baze Podataka - Lazo Roljic

Terminom „odnos“ (ili „relacija“) obično se ukazuje na međusobne odnose između primarnih i stranih

ključeva tabela. Ovaj koncept je važan jer se njime određuje koje kolone jesu ili nisu primarni ili strani

ključevi tabela relacione baze podataka.

23. Šta znači odnos“jedan-prema-jedan“?

Odnos jedan-prema-jedan znači da postoje kolone primarnog i stranog ključa i da za svaku vrijednost

primarnog ključa postoji jedna vrijednost stranog ključa.

Veza 1:1 je najprostiji oblik veze, a za primjer se može uzeti veza RUKOVODI između entiteta

RUKOVODILAC i SEKTOR, gdje se vidi da jedan rukovodilac može rukovoditi samo jednim sektorom,

ali i obratno - jedan sektor ima samo jednog rukovodioca.

RUKOVODILAC RUKOVODI

SEKTOR

24. Šta znači odnos „jedan-prema-više“?

Odnos jedan-prema-više („1-M“). To znači da za svaku vrijednost neke kolone jedne tabele postoje

jedna ili više odgovarajudih vrijednosti u drugoj tabeli.

Veza 1:n (n:1) je najčešdi tip veze, a da li je veza 1:n ili n:1 zavisi od toga u kom smjeru je posmatramo.

Za primjer ovog tipa veze može se uzeti veza SEKTOR ZAPOŠLJAVA RADNIKA, gdje su entiteti SEKTOR i

RADNIK u vezi 1:n, jer u jednom sektoru može biti zaposleno više radnika.

VEZA1:N VEZA ISM

25. Šta znači odnos „više-prema-više“?

Odnos više-prema-više („M-M“) u opštem slučaju ne uključuje ključeve ved identifikacione kolone.

Ovaj odnos ukazuje da postoji međusobni odnos dvije kolone u različitim tabelama, i da za svaku

vrijednost u jednoj koloni postoje jedna ili više vrijednosti odgovarajude kolone druge tabele ili, češde,

da su dvije tabele u odnosu „1-M“ jedna prema drugoj (dva odnosa, po jedan odnos „1-M“ jedne

tabele prema drugoj).

Page 10: Teorija Baze Podataka - Lazo Roljic

26. Koja je osnovna razlika između klasične obrade podataka podržanih datotekama (engl.

files) i bazama podataka (eng. data bases)

Osnovna razlika između klasične obrade podataka podržanih datotekama (engl. files) i bazama

podataka (eng. data bases) je u tome gdje se lociraju podaci, a gdje kontekst podataka. U klasičnoj

obradi podataka (AOP) podaci se čuvaju odvojeno od konteksta i fizički se nalaze u datotekama, dok

se kontekst i način predstavljanja podataka nalaze u programu. Kod obrade podataka podržane

bazama podataka i kontekst i podaci se fizički nalaze u datoteci tipa baze podataka. Kod MS Accessa

nije tako, nego su i tabele koje čine relacionu bazu i ostali objekti koji čine aplikaciju, smješteni u

jedan fajl, tipa .mdb u verzijama do 2003. a tipa .xxxx u verzijama MS Access 2007 i kasnijim.

27. Objasniti šta su modeli podataka.

Def.1: Specifične teorije pomodu kojih se specificira i projektuje neka konkretna baza podataka ili

informacioni sistem

Def.2: Intelektualni alati pomodu kojih se opisuje (modeluje) sistem kao skup objekata, njihovih

atributa i njihovih međusobnih veza

28. Objasniti koja je namjena sistema za upravljanje bazom podataka.

Sistem za upravljanje bazom podataka (DBMS) je softverski paket (sistem) projektovan za

jednostavno i efikasno memorisanje i upravljanje bazama podataka koji treba da omogudi

skladištenje podataka, pouzdanost podataka, paralelno korišdenje, logičku i fizičku nezavisnost

programa od podataka i jednostavno komuniciranje sa bazom podataka.

29. Model podataka se može dekomponovati u 3 komponente. Navesti ih i objasniti.

-Gornji ili eksterni nivo definiše kako pojedini korisnici “vide” podatke.

-Srednji ili konceptualni nivo definiše uopšten model baze podataka kako je koriste svi korisnici.

-Najniži ili interni nivo predstavlja fizičku definiciju podataka.

30. Šta je SQL upit?

SQL (Structured Query Language) je najpoznatiji relacioni jezik upita koji služi za realizaciju upita nad

relacijama u relacionim bazama podataka.

31. a) Šta je konceptualna šema baze? b) U kojim fazama životnog ciklusa se kreira

konceptualna šema?

Konceptualna šema je logički opis baze podataka. Ona predstavlja apstraktan model baze podataka i

kreira se u fazi planiranja i sistemske analize.

32. Koje su osnovne prednosti baze podataka?

-Integrisanost podataka (centralizovana kontrola svih podataka i upravljanje podacima na

sistematičan način),

Page 11: Teorija Baze Podataka - Lazo Roljic

-Nezavisnost podataka od programa koji ih obrađuju,

-Razdvajanje fizičkog zapisa i logičke organizacije podataka.

33. Kako se ostvaruje pouzdanost podataka kod baze podataka?

Pouzdanost podataka se ostvaruje očuvanjem integriteta podataka i kontrolom pristupa podacima.

Integritet baze podataka je tačnost ili korektnost podataka, a podacima mogu pristupati samo

autorizovani korisnici.

34. Integritet baze?

Integritet baze podataka je tačnost ili korektnost podataka.

35. Koje su osnovne funkcije administratora baze podataka?

-Reorganizuje logičku i fizičku strukturu u cilju povedanja efikasnosti sistema.

-Definiše postupke obnove oštedenih podataka i vrši oporavak baze nakon oštedenja.

-Osigurava zahtjevani nivo integriteta, pouzdanosti i privatnosti podataka.

-Održavanje sistema obilježavanja, uvođenje standarda i unifikaciju korišdenja baze podataka.

planiranje, projektovanje i korišdenje resursa informacionog sistema.

36. Koje su osnovne vrste modela baze podataka?

1. Hijerarhijski, 5. Objektno-relacioni,

2. Mrežni 6. Objektni

3. Model objekti-veze 7. Aktivne baze podataka

4. Relacioni,

37. Šta je karakteristika hijerarhijskog modela BP?

Hijerarhijski model zasniva se na ideji povezivanja podataka u hijerarhijske strukture pri čemu

starijem zapisu odgovara više zapisa nižeg nivoa, ali zapisu nižeg nivoa odgovara samo jedan zapis

višeg nivoa. Na vrhu hijerarhije nalazi se korijeni zapis iz kojeg se kasnije kroz hijerarhijske čvorove

razvijaju ostali zapisi i na taj način pokušava obuhvatiti stanje sistema.

38. Šta je karakteristika mrežnog modela BP?

Mrežni model se zasniva na ideji mrežne strukture. Osnovni koncepti ovog modela su polja, slogovi i

setovi, pri čemu polja odgovaraju atributima, a slogovi entitetima. Za predstavljanje veza između

objekata realnog sistema koristi se set. Set predstavlja vezu između vlasnika seta (jedan zapis) i

jednog ili više setova. Ovaj model prate proceduralni jezici pri čemu nisu odvojeni logički i fizički

koncept baze podataka.

39. Koja je namjena modela OBJEKTI-VEZE?

Model objekti-veze je najpopularniji i u praksi projektovanja BP najviše korišdeni konvencionalni

model podatka. Postoji više različitih verzija ovog modela.

Page 12: Teorija Baze Podataka - Lazo Roljic

Model objekti-veze je semantički bogat model prvenstveno namijenjen za specifikovanje statičke

strukture baze podataka i osnovnih (strukturnih) dinamičkih ograničenja. Prvenstveno se koristi za

projektovanje baza podataka. Model objekti-veze se dalje transformiše direktno u opis baze

podataka u nekom sistemu za upravljanje bazama podataka.

Prikazademo dva primjera MOV (modela objekti-veze) po notaciji standarda IDEF1X, na kome se

bazira CASE alat ERwin, veoma često korišdeni alat za modeliranje podataka preko modela objekti

veze.

40. Šta je karakteristika relacionog modela BP?

Relacioni model je danas najpopularniji i najviše primjenjivan model podataka. Vedina poznatih SUBP

zasnovani su na relacionom modelu podataka (ORACLE, INFORMIX, MS ACCESS,…). Kao glavne

prednosti ovog modela navode se jednostavnost strukture, što omogudava primjenu matematičkih

formalizama u postupku projektovanja na konceptualnom nivou kao i lak interaktivni pristup uz

pomod nekih od poznatih upitnih jezika (kao što je SQL).

Dvije karakteristike čine relacioni model još uvijek najpopularnijim i najšire primjenjivanim: - Struktura modela je veoma jednostavna, prihvatljiva svakom korisniku, jer relaciona baza

podataka predstavlja skup tabela. I same operacije, koje iz skupa datih tabela generišu novu, su jednostavne i lako prihvatljive.

- Moguda je formalno-matematička interpretacija tabela. Određene vrste tabela se mogu tretirati kao matematičke relacije i zatim iskoristiti bogata teorijska osnova odgovarajudeg matematičkog aparata.

41. Šta su aktivne baze podataka?

Aktivne baze podataka proširuju relacioni model sa skupom koncepata za ugrađivanje dinamike

sistema u bazu podataka. U njima se koriste trigeri. Triger predstavlja pravilo “događaj – uslov –

akcija” (kada nastupi dati događaj u sistemu i ako je ispunjen dati uslov, obavlja se navedena akcija).

Mogu se zadati veoma kompleksni trigeri.

42. Šta je selekcija i projekcija kod relacoionih baza podataka?

-Selekcija – unarna operacija – izdvajaju se slogovi (n-torke) koji zadovoljavaju dati uslov.

-Projekcija – unarna operacija – biraju se polja (kolone) zadate tabele (relacije) čiji se nazivi navode u

oznaci operacije i upisuju u novu tabelu (relaciju).

43. Da li primarni kjuč može biti nepoznat? Da li strani ključ može imati null vrijednosti?

-Primarni ključ ne može biti nepoznat.

-Strani ključ može imati null vrijednost.

44. Šta rješava normalizacija baze podataka?

Normalizacija baza podataka rješava:

-Probleme redundantnosti i integriteta,

-Mogude neusklađenosti u iskazima,

Page 13: Teorija Baze Podataka - Lazo Roljic

-Smanjuje kompleksnost obrade,

-Pojednostavljuje održavanje,

-Smanjuje veličinu potrebnog memorijskog prostora.

45. Šta je funkciona zavisnost kod baze podataka?

-Kada je svakoj vrijednosti (atributa) a mogude pridružiti samo jednu vrijednost (atributa) b, kažemo

da je a zavisno od b.

46. Objasniti šta je potpuna funkcionalna zavisnost baze podataka?

Atribut je potpuno zavisan od ključa ako je funkcionalno zavisan od cijelog ključa. Potpuna

funkcionalna zavisnost se definiše kada je ključ sastavljen od više atributa.

47. Navesti PRVU normalnu formu kod relacionih baza podataka.

-Relacija je u prvoj normalnoj formi ako su svi atributi nedjeljivi i funkcionalno nezavisni od ključa.

48. Navesti DRUGU normalnu formu kod relacionih baza podataka.

Relacija je u drugoj normalnoj formi:

- ako je u prvoj normalnoj formi i

- ako svi njeni atributi (koji nisu ključevi) potpuno funkcionalno zavise od ključa.

49. Navesti TREĆU normalnu formu kod relacionih baza podataka.

Relacija je u tredoj normalnoj formi:

- ako je u drugoj normalnoj formi i

- ako su svi njeni atributi (koji nisu ključevi) funkcionalno nezavisni.

50. Šta obdezbjeđuje efikasan DBMS?

Efikasan sistem za upravljanje bazom podataka obezbjeđuje tri osnovne funkcije, a to su :

-definisanje podataka;

-rukovanje podacima - odnosi se na odabiranje podataka koji se žele upotrebiti;

-nadzor nad podacima - u osnovi se određuje kome de biti dozvoljen pristup podacima, kao i kome de

biti dozvoljeno da ažurira postojede i dodaje nove podatke;

51. Šta je to „životni vijek“ BP?

Svaka baza podataka ima svoj životni vijek, početak kada je projektovana, pa do njene

implementacije i održavanja. U grubo se to može podjeliti na 5 faza.

. Analiza potreba

. Modeliranje podataka

. Implementacija

. Testiranje

. Održavanje.

52. Modeli podataka

Podaci u bazi logički su organizovani u skladu s nekim modelom podataka. Model podataka je skup

pravila koja određuju kako može izgledati logička struktura baze. Model čini osnovu za koncipiranje,

Page 14: Teorija Baze Podataka - Lazo Roljic

projektovanje i implementiranje baze. Dosadašnji DBMS-i obično su podržavali neki od slijededih

modela:

Relacioni model - Zasnovan na matematičkom pojmu relacije. I podaci i veze među podacima

prikazuju se “pravougaonim” tabelama.

Mrežni model - Baza je predstavljena usmjerenim grafom. Čvorovi su tipovi sloga, a lukovi definišu

veze među tipovima sloga.

Hijerarhijski model je specijalni slučaj mrežnog modela. Baza je predstavljena jednim stablom ili

skupom stabala. Čvorovi su tipovi sloga, a hijerarhijski odnos “nadređeni-podređeni” izražava veze

među tipovima sloga.

Objektni model inspirisan je objektno-orijentisanim programskim jezicima. Baza je skup trajno

sačuvanih objekata koji se sastoje od svojih internih podataka i “metoda” (operacija) za rukovanje s

tim podacima. Svaki objekt pripada nekoj klasi. Između klasa se uspostavljaju veze nasljeđivanja,

agregacije, odnosno međusobnog korištenja operacija.

53. Šta je entitet ? Def.1: Entitet je bilo šta (stvar, predmet, osoba, organizacija, itd.) o čemu ima smisla prikupljati podatke, čuvati ih, analizirati i obrađivati. Def.2: Entitet je dio realnog svijeta opisan ograničenim brojem atributa. Def.3: Entitet je svaki objekat koji se može razlikovati od svih ostalih objekata u nekom univerzumu,

što znači da se može jednoznačno identifikovati. Npr. određena osoba, događaj, firma itd. su različiti

entiteti. Entitet može biti nešto konkretno kao što je određena osoba ili određena knjiga, ili nešto

apstraktno kao istorijska kategorija, društveno uređenje, dio neke misaone klasifikacije. Jedino što

takav objekat treba da zadovolji da bi bio entitet jeste da se može jednostavno identifikovati u

određenom svijetu koji se modelira.

54. Šta je skup entiteta?

Grupa entiteta istog tipa naziva se skup entiteta. Npr. skup studenata univerziteta predstavlja skup

entiteta. Ovi skupovi entiteta imaju pridružena neka svojstva ili atribute putem kojih se može testirati

da li neki entitet pripada datom skupu entiteta. Međutim, skupovi entiteta ne moraju biti potpuno

razdvojeni u smislu njihovih svojstava. Npr. ako imamo 2 skupa entiteta zaposleni i čovjek onda sve

osobine (atributi) skupa entiteta čovjek su atributi iz skupa entiteta zaposleni.

55. Atributi

Atributi su svojstva entiteta i njihovih skupova. Svaki skup entiteta je u potpunosti određen

skupovima atributa kojima pripadaju. Npr. skup entiteta zaposleni može da ima atribute: IME,

PREZIME, JMBG, BRLK, STAŽ. Za svaki atribut postoji skup dozvoljenih vrijednosti koji se naziva

domenom atributa.

56. Šta konstituiše loše projektovanu bazu podataka? Ovo demo razmotriti na primjeru :

isporučilac (IME_I,ADRESA,ID_ARTIKLA,CIJENA ) U ovakvoj bazi podataka možemo uočiti nekoliko anomalija: 1. dupliciranje informacija , za svaki artikl koji neki isporučilac dostavlja moramo upisati adresu

tog isporučioca 2. potencijalna nekonzistentnost baze ( anomalija ažuriranja ) Ove anomalije dolaze kao posljedica dupliciranja informacija. Naime, prilikom promjene adrese

nekog isporučioca može se desiti da se ta promjena unese u jednu n-torku (jedan slog) za tog

isporučioca, a da pri tom u ostalim slogovima za tog isporučioca adresa ostane ista. Time se

dobija nekonzistentnost baze (baza ne odražava realno stanje)

Page 15: Teorija Baze Podataka - Lazo Roljic

3. anomalija unošenja, ne možemo predstaviti informaciju o imenu i adresi isporučioca ukoliko ne šalje nijedan artikl. Mogli bi vještački stvoriti n-torku sa definisanim vrijednostima za IME_I, ADRESA i nedefinisanim vrijednostima ID_ARTIKLA,CIJENA i takav slog unijeti u tabelu isporučilac. Međutim postojanje nedefinisanih vrijednosti se ne dozvoljava za ključne atribute, a ID_ARTIKLA jeste ključni atribut (polje) ove tabele. Ovo stoga što semantika algebarskih relacionih operatora kao što je spajanje nije definisana za neke vrijednosti. Dalje, ukoliko bi isti takav isporučilac za koji smo unijeli slog sa nepoznatim vrijednostima počeo da isporučuje artikle, prilikom unošenja informacije o tome često bi bilo zaboravljeno da se eliminiše prethodno unešen slog sa nepoznatim vrijednostima.

4. anomalija brisanja, ovo je inverzno anomaliji unošenja, naime ako izbrišemo sve artikle koje isporučilac šalje tada nesvjesno gubimo informaciju o samom isporučiocu i njegovoj adresi.

U ovom primjeru svi gore navedeni problemi nestaju ukoliko se data tabela predstavi sa dvije manje

tabele.

isporučilac ( IME_I, ADRESA )

isporučuje ( IME_I, ID_ARTIKLA, CIJENA )

Kod ovakve dekompozicije ne postoji dupliciranje adrese, jer za svakog isporučioca adresa se drži u

jednom slogu tabele isporučilac. Dakle nema anomalije ažuriranja. Možemo predstaviti informaciju o

imenu i adresi nekog isporučioca iako taj isporučilac ne šalje nijedan artikl (dakle nema anomalije

unošenja ). Na kraju možemo izbrisati sve artikle datog isporučioca, da pri tome zadržimo informaciju

o njegovom imenu i adresi, dakle nema ni anomalije brisanja.

57. Šta je konzistentnost BP? Ako se baza nalazi u stanju koje odgovara realnom stanju sistema koji se modelira, tada kažemo da je ona u konzistentnom stanju. Na primjer, ako je stanje na nekom računu u banci različito od onog koji se trenutno nalazi u bazi podataka, onda je baza u nekonzistentnom stanju. Operacija ažuriranja baze podataka, prevode bazu iz jednog stanja u drugo (dodajudi, brišudi ili ispravljajudi podatke u bazi). Stoga su ove operacije sposobne da naruše integritet podataka, to jest da dovedu bazu podataka u nekonzistentno stanje.

58. Relacioni sistemi za upravljanje BP?

Danas se najviše koriste SUBP zasnovani na relacionom modelu. Najpoznatiji relacioni SUBP su: ORACLE, INFORMIX, MS ACCESS. Vedina poznatih relacionih SUBP omogudava: 1. Definisanje tabele, njihovih polja (atributa) i integritetskih ograničenja nad tim atributima

pomodu nekog od specijalizovanih jezika za kreiranje tabela. 2. Postavljanje upita bazi putem nekog od standardnih upitnih jezika, kao što je na primjer SQL. 3. Izradu aplikacija za bazu podataka pomodu nekog od programskih jezika koji je sastavni dio SUBP.

Na primjer, u MS ACCESS-u taj programski jezik je VBA-Visual Basic for Applications. Aplikacije za baze podataka su u stvari programi namijenjeni krajnjim korisnicima za pretraživanje i ažuriranje baza podataka. 59. Šta je relaciona algebra

Relaciona algebra definiše skup operacija pomodu kojih je mogude dobiti željenu relaciju (tabelu) iz skupa datih relacija (tabela).

- Konvencionalne skupovne operacije, unija, presjek, razlika i Dekartov proizvod; - Specijalne relacione operacije selekcija, projekcija, spajanje i dijeljenje; - Dodatne operacije relacione algebre, operacije koje su se kasnije dodavale orginalnoj

relacionoj algebri da bi se povedala njena “mod” kao upitnog jezika- Skalarna računanja u relacionoj algebri;

- Operacije ažuriranja baze; - Operacije u prisustvu nula vrijednosti;

Page 16: Teorija Baze Podataka - Lazo Roljic

Relaciona algebra svodi se na izračunavanje algebarskih izraza. Ti izrazi građeni su od unarnih

i binarnih operacija, operanada, te zagrada. Pritom je riječ o algebarskim operacijama čiji

operandi su tabele (relacije), a rezultati opet tabele (relacije). Svaki algebarski izraz

predstavlja jedan upit u bazu, a njegova vrijednost predstavlja odgovor na upit. Dakle

odgovor na upit izražava se kao nova (virtualna) relacija dobivena iz postojedih relacija

primjenom algebarskih operacija.

60. Šta je relaciona baza podataka?

Za definisanje relacione baze podataka koristidemo slijededu definiciju: “Relaciona baza

podataka je skup dvodimenzionalnih tabela međusobno povezanih relacijama i jednog niza

operacija za izdvajanje pojedinih kolona i redova u cilju formiranja novih tabela”. Relacije u

relacionoj bazi podataka formira i održava SUBP. Relaciona baza podataka, dakle, smješta

sve podatke u tabele. Sve operacije nad podacima se izvode nad samim tabelama ili se

proizvode nove tabele. Redovi relacione tabele analogni su slogu, a kolone polju.

61. Zadatak 1:

Kreirati relacionu bazu podataka Biblioteka kojom de se evidentirati i pratiti promet (posudba

i vradanje) knjiga iz (i u) studentske Biblioteke.

Tabele koje čine bazu (šema baze):

KNJIGE (Id_knjige, Naziv, Autor, Izdavac, God_izd)

CLANOVI (Id_clana, Prezime, Ime, Adresa, Index_br)

PROMET(Id_clana, Id_knjige, Datum_Izd, Datum_Vrac, Vracena)

Polja Id_clana i Id_knjige u tabeli PROMET napravite da budu lookup polja da biste u njih

lakše i bez napora mogli unositi podatke.

Nakon što tabele kreirate i povežete ih relacijama, (napravite bazu podataka) popunite

tabele podacima, prvo, tabele KNJIGE i CLANOVI (najmanje 3 člana i 5 knjiga), a zatim u

tabelu PROMET unesite (protokol) promet Biblioteke, gdje dva-tri člana podižu po jednu-

dvije knjige.

Podatke u tabelu PROMET (a možete i u druge dvije tabele) unosite pomodu obrasca

(forme), koji trebate prethodno kreirati pomodu čarobnjaka.

Zatim napravite upit iz kojeg de se vidjeti koja osoba (poimenice) i kada je podigla koju

knjigu.

62. Zadatak 2:

Na računaru, u Accessu, izraditi i demonstrirati (pokazati) profesoru (ili višem asistentu) slijededi

zadatak:

1. Kreirati na desktopu folder sa imenom, prezimenom i brojem indeksa

2. Kreirati u prethodno kreiranom folderu fajl vjezba02.accdb

3. Kreirati tabelu Student sa slijededim poljima: Ime, Prezime, Broj indeksa, Fakultet, Smjer,

Godina Upisa

4. Kreirati tabelu Ispit sa slijededim poljima: profesor, predmet, redni broj predmeta,

godina

Page 17: Teorija Baze Podataka - Lazo Roljic

5. Uspostaviti relaciju M:N kreiranjem tabele Polaganje koja (pored obaveznih, jer je to

relacija “više” prema ”više” !) treba da sadrži polja: datum ispita, i ocjena

6. Napraviti formu za unos u tabelu Student i unijeti najmanje 4 zapisa

7. Napraviti formu za unos u tabelu Ispit u unijeti najmanje 4 zapisa

8. Napraviti formu za unos u tabelu Polaganje i unijeti najmanje 6 zapisa

9. Kreirati upit Studenti_pali_ispit za sve studente koji nisu položili ispite. Upit treba da

sadrži slijededa polja ime, prezime, Broj indeksa, Smjer, Fakultet, datum ispita

10. Kreirati izvještaj Ispiti u kome treba da se nađu slijededi podaci: datum ispita, ime,

prezime, fakultet, profesor, predmet. U izvještaju treba da se nađu samo ispiti kod kojih

je ocjena 8 ili 9 i kod kojih je fakultet FIT.

11. Izvesti tabelu Student u XML format

12. Uvesti tabelu DLS iz Excela (koju dete dobiti na ispitu) u bazu podataka tako da bude

sastavni dio baze podataka

13. Napraviti komandnu tablu (Switchboard) iz koje de se pozivati svi prethodno kreirani

elementi (forme, izvještaji, upiti) i gdje de se nalaziti u donjem desnom uglu dugme za

zatvaranje čitave aplikacije

14. Podesiti prethodno kreiranu formu kao početnu (default) i podesiti da se statusna linija

ne prikazuje, da nisu omogudeni puni meniji i da se aplikacije zove ISP_Zadatak02

Page 18: Teorija Baze Podataka - Lazo Roljic

63. Zadatak 3:

Koji podaci iz tabele TabelaAdresaRadnika (na slici) nastanu u privremenoj tabeli dole

(popunite je podacima) nakon SQL komande:

SELECT Ime, Prezime, Adresa, Grad, Republika FROM TabelaAdresaRadnika;

TabelaAdresaRadnika

JMBG Ime Prezime Adresa Grad Republika

512687458 Đorđe Petrovid Kralja Petra 9 Beograd Srbija

758420012 Marija Simid Bul Nikole Tesle 22 Jagodina Srbija

102254896 Savo Jovanovid Njegoševa 17 Podgorica Crna Gora

876512563 Svetlana Adimovid Laze Lazarevida 10 Subotica Srbija

SELECT Ime, Prezime, Adresa, Grad, Republika FROM TabelaAdresaRadnika;

JMBG Ime Prezime Adresa Grad Republika

512687458 Đorđe Petrovid Kralja Petra 9 Beograd Srbija

758420012 Marija Simid Bul Nikole Tesle

22 Jagodina Srbija

102254896 Savo Jovanovid Njegoševa 17 Podgorica Crna Gora

876512563 Svetlana Adimovid Laze Lazarevida 10 Subotica Srbija