baze-ispitna pitanja i odgovori

14
BAZE PODATAKA ISPITNA PITANJA PITANJA ZA ISPIT JUN 2009. Prof. dr Rade Tanjga [email protected] Saša Salapura, dipl.inž, ass. [email protected] ODGOVORI Milan i Branko (Copy – Paste) 1

Upload: anon619378

Post on 26-Jun-2015

590 views

Category:

Documents


17 download

TRANSCRIPT

Page 1: BAZE-Ispitna Pitanja i Odgovori

BAZE PODATAKA

ISPITNA PITANJA

PITANJA ZA ISPIT JUN 2009.

Prof. dr Rade [email protected]

Saša Salapura, dipl.inž, [email protected]

ODGOVORI Milan i Branko (Copy – Paste)

1

Page 2: BAZE-Ispitna Pitanja i Odgovori

Banja Luka, mart 2009.

Baze podataka

Ispitna pitanja:

I Parcijalni ispit – Prvi test

I Dio: Teorija relacionih baza podataka1. Definišite i objasnite skraćenicu DBMS (RDBMS).DBMS-(DataBaseManagementSystem) Sistem za upravljanje bazama podataka. RDBMS-relacioni DBMS.

2. Definišite i objasnite pojam aplikacija baze podataka.Aplikacija se sastoji od obrazaca(forms) i izvjestaja(reports) s kojima radi korisnik aplikacije.

3. Definišite i objasnite pojam mašina baze podataka.Jet i SQL Server.Zadatak tih alatki je fizičko manipulisanje podacima – pohranjivanje na disk i učitavanje s njega na zahtjev.

4. Definišite i objasnite pojam fizički oblik baze podataka.To su relacije i veze, koje su na osnovu šeme baze, kreirane u bazi podataka.

5. Definišite i objasnite pojam šema baze podataka.Definicija fizičke strukture – tabele i prikazi koji će biti napravljeni. To je preslikavanje pojmovnog modela u fizički oblik, koji se može realizovati pomoću nekog DBMS. Treba imati u vidu da je šema takođe konceptualni pojam a ne fizički. Šema nije ništa drugo do model podataka izražen pomoću elemenata koje mašina baze podataka (engl. database engine) prepoznaje, kao što su tabele, okidači ili slična „bića“.

6. Definišite i objasnite pojam model podataka.Izraz model podataka (engl. data model) koristićemo za pojmovni opis prostora problema. Rad s relacionim modelom obuhvata definicije entiteta, njihovih atributa (na primjer, Kupac je entitet, koji može imati atribute Prezime i Adresa) i ograničenja koja važe za atribute (kao što je na primjer, pravilo da polje ImeKupca ne može biti prazno). Kada se radi sa dimenzionalnim modelom, definicija modela podataka obuhvata činjenice i dimenzije, ali o ovom modelu govoriće se kasnije.

7. Šta je to baza podataka?Baza podataka je alatka koja omogućava skladištenje podataka i rad s njima, na efikasan i djelotvoran način. „Efikasno i djelotvorno“ znači da su podaci zaštićeni od nenamjernog gubljenja ili oštećenja, da se za tu namjenu ne koristi više resursa (ljudskih ili računarskih) nego što je zaista neophodno i da se podaci mogu učitavati u smislenim oblicima unutar prihvatljivih ograničenja preformansi. Pošto se mašini baze podataka „objasni“ kako želimo da podaci izgledaju, pomoću SQL koda, ili u nekom interaktivnom okruženju, kao što je Microsoftov Access, ili SQL Server Enterprise manager, mašina baze podataka pravi nekoliko fizičkih objekata (obično, ali ne uvijek, negdje na čvrstom disku) u koje ćemo kasnije smjestiti podatke. Ova kombinacija strukture i podataka naziva se baza podataka. Takva baza podataka sadrži:

2

Page 3: BAZE-Ispitna Pitanja i Odgovori

fizičke tabele u kojima se čuvaju podaci; definisane prikaze, upite i uskladištene procedure koje omogućavaju učitavanje podataka na razne načine; pravila čije poštovanje obezbjeđuje mašina baze podataka i time štiti podatke.

8. Definišite i objasnite pojam prostor problema baze podataka.Iako se za relacione baze podataka ne mogu naći analogije u stvarnom svijetu, svrha većine baza podataka je da modeluju (predstave) određeni aspekt iz stvarnog života. Taj dio stvarnog svijeta nazvaćemo prostor problema (engl. problem space).

9. Definišite i objasnite MS Access.Access je okruženje za razvoj čeonog dijela (Front) aplikacije (forme i izvještaji), koje za pohranjivanje podataka standardno koristi Jet ili SQL Server, a može da koristi i bilo koju drugu mašinu baze podataka koja podržava standard ODBC (Open DataBase Connectivity – povezanost otvorenih baza podataka).

10. Definišite i objasnite MS SQL Server.SQL Server korisiti arhitekturu klijent/server i namjenjen je sistemima u opsegu od srednje velikih do ogromnih, koji se potencijalno mogu smanjiti ili povećati za hiljade korisnika aplikacija od ključne važnosti za preduzeće (ustanovu).

11. Definišite i objasnite ADO.NET.-10strADO.NET je objektni model za pristupanje podacima. ADO koristi jednostavniju hijerarhiju objekata nego DAO jer se sastoji od samo četiri primarna objakta i donosi nekoliko značajnih proširenja osnovnog modela – na primjer, podršku za rad s nepovezanim i hijerarhijskim skupovima podataka. Koristi se u Microsoftovom Accessu i u drugim softverskim proizvodima koji podržavaju upotrebu jezika VBA za rad sa svakom bazom podataka koja podržava ODBC interfejs, kao što su to i Jet i SQL Server. ADO.NET je, naravno, verzija modela ADO za rad unutar .NET Frameworka.

12. Definišite i objasnite MS Jet.Microsoftov Jet je „stona“ mašina baze podataka, namjenjena sistemima koji se po veličini mogu svrstati u opseg od malih do srednje velikih.

13. Definišite i objasnite MSDE.MSDE (akronim za Microsoft Desktop Engine) funkcionalno je ograničena verzija SQL Servera namjenjena upotrebi u jednokorisničkom okruženju. Gledano iz ugla projektanta, razlika između MSDE-a i pune verzije SQL Servera je zanemariva.

14. Definišite i objasnite pojam čeona komponenta baze podataka.Čeone komponente su obrasci i izvještaji. Kada se završi fizička definicija baze podataka, potrebne su alatke za izradu obrazaca i izvještaja s kojima će korisnici raditi. Dvije takve alatke su: Access i Visual Studio .NET (konkretno, Visual Basic .NET).

15. Definišite i objasnite pojam relacija u terminologiji baza podataka.-11strSvi podaci se konceptualno predstavljaju organizovani u redove i kolone; skup tako organizovanjih podataka naziva se relacija. U praksi to je entitet, odnosno tabela u bazi.

16. Definišite i objasnite pojam torka (tuple) baze podataka.-13strSvaki red podataka u tabeli zove se torka (engl. tuple). Sastoji se od n atributa relacije(tabele).

17. Definišite i objasnite pojam kardinalitet baze podataka.

3

Page 4: BAZE-Ispitna Pitanja i Odgovori

Ukupan broj torki u relaciji određuje kardinalitet (engl. cardinality) relacije. Odnosno to je broj redova u relaciji. Stepen je broj atributa.

18. Definišite i objasnite pojam zaglavlje relacije.U zaglavlju relacije(tabele) baza ispisuje naziv atributa.19. Definišite i objasnite pojam tijelo relacije.Tijelo relacije čine torke, a torka je n atributa relacije. Torka je jedan red u relaciji.

20. Definišite i objasnite pojam domen relacije.Domen (engl. domain) atributa je „vrsta“ podataka koje atribut predstavlja. Skup svih prihvatljivih vrijednosti koje entitet može da ima.

21. Definišite i objasnite pojam prazna relacija.-14strRelacija bez ijedne torke.

22. Definišite i objasnite pojam entitet.Entitet je sve o čemu sistem treba da skladišti podatke. Entiteti su obično imenice (Kupci) i glagoli (kupovina-prodaja)

23. Objasnite razliku između konkretnog i apstaktnog entiteta.Konkretni entiteti su modeli objekata ili događaja iz stvarnog života (kupac, roba, prodajna ponuda). Apstraktni entitet je entitet koji modelu vezu ili odnos između drugih entiteta (određeni student sluša predavanja određenog profesora).

24. Definišite i objasnite pojam atribut.-16strAtributi su činjenice u svakom entitetu (imena, adrese, zanimanja kupaca). One pobliže objašnjavaju, odnosno identifikuju osobine entiteta.

25. Definišite i objasnite pojam veze/odnosi između entiteta.Veza ili odnos je asocijacija između entiteta.

26. Definišite i objasnite pojam učesnici veze.Učesnici veze su entiteti između kojih postoji veza ili odnos.

27. Definišite i objasnite pojam stepen veze.Stepen veze je u stvari broj učesnika u vezi.

28. Definišite i objasnite pojam djelimično učešće entiteta u vezi.Ako entitet može da postoji ukoliko ne učestvuje u nekoj vezi, učestvovanje je djelimično (zaposleni). Ako entitet ne može postojati ukoliko ne učestvuje u nekoj vezi, učestvovanje je potpuno (prodavac).

29. Definišite i objasnite pojam potpuno učešće entiteta u vezi.Ako entitet ne može postojati ukoliko ne učestvuje u nekoj vezi, učestvovanje je potpuno (prodavac). Ako entitet može da postoji ukoliko ne učestvuje u nekoj vezi, učestvovanje je djelimično (zaposleni).

30. Navedite tri tipa veze između entiteta.-22str-„jedan prema jedan“ -„jedan prema više“ -„više prema više“

31. Definišite i objasnite pojam dijagram entiteta i veza.

4

Page 5: BAZE-Ispitna Pitanja i Odgovori

Model entiteta i veza, koji podatke opisuje izražene kao entitete, atribute i veze, uveo je Peter Pin Shan Chen 1976. godine. Istovremeno je predložio metodu predstavljanja pomoću dijagrama nazvanih Entity Relationship (E/R) dijagrami, koja je postala široko prihvaćena. E/R dijagrami se sastoje od pravougaonika, koji predstavljaju entitete, elipsi, koje predstavljaju atribute i rombova, koji predstavljaju veze između entiteta. Velika prednost E/R dijagrama jeste to što se lako crtaju i razumiju.32. Definišite i objasnite pojam redundantnost podataka.-26strRedundantnost (engl. redundancy) rasipa resurse i, što je još važnije, otežava rad s bazom podataka. (to su atributi koji se bez razloga ponavljaju u raznim relacijama). Npr. broj telefona dobavljača u torkama relacije prodaja.

33. Definišite i objasnite pojam normalizovanje podataka.Postupak strukturiranja podataka u prostoru problema da bi se eliminisala redundantnost i obezbjedila fleksibilnost, zove se normalizovanje (engl. normalization).

34. Definišite i objasnite pojam dekomponovanje bez gubitaka.-32strPostupak izrade potpuno normalizovanog modela podataka obuhvata uklanjanje redundantnosti razbijanjem relacija u oblik koji omogućava da se rezultujuće relacije kombinuju bez gubljenja ijednog izvornog podatka. To je princip dekomponovanja bez gubitaka (engl. loseless decomposition).

35. Definišite i objasnite pojam kandidat za ključ.U svakoj relaciji mora postojati određena kombinacija atributa koja na nedvosmislen način identifikuje svaku torku. Taj skup ili kombinacija jednog ili više atributa zove se kandidat za ključ (engl. candidate key). Svaki kandidat mora da nedvosmisleno identifikuje svaku torku u relaciji, i to ne samo određeni skup torki, nego sve moguće torke, u svim slučajevima. Ako dvije torke imaju jednake kandidate za ključ, one moraju da predstavljaju isti entitet.

36. Definišite i objasnite pojam prost ključ.Prost ključ (simple key) se sastoji od samo jednog atributa..

37. Definišite i objasnite pojam složen ključ.-34strSloženi ključ (composite key) se sastoji od više atributa.

38. Definišite i objasnite pojam primarni ključ.Kada u jednoj relaciji ima više kandidata za ključeve jedan od njih se određuje za primarni ključ a drugi kandidati se smatraju za alternativne ključeve.

39. Definišite i objasnite pojam alternativni ključ.Kada u jednoj relaciji ima više kandidata za ključeve jedan od njih se određuje za primarni ključ a drugi kandidati se smatraju za alternativne ključeve.

40. Definišite i objasnite koncept funkcionalne zavisnosti podataka.Koncept funkcionalne zavisnosti (engl. functional dependency) izuzetno je koristan za rad sa strukturama podataka.

Funkcionalnu zavisnost između skupova atributa možemo predstaviti kao na slici. U tekstu se funkcionalna zavisnost izražava kao X Y, što se čita kao „X funkcionalno određuje Y“.

5

Page 6: BAZE-Ispitna Pitanja i Odgovori

41. Definišite i objasnite pojam prva normalna forma kod normalizovanja podataka.Relacija je u prvoj normalnoj formi ako su skalarni svi domeni u kojima su definisani njeni atributu. To je istovremeno i najjednostavniji i najteži koncept modelovanja podataka. Princip se lako razumije: svaki atribut torke mora sadržavati samo prostu vrijednost. (npr. ime i prezime nebi trbalo kombinovati u jedan atribut)42. Definišite pojam druga normalna forma kod normalizovanja podataka.-40strRelacija je u drugoj normalnoj formi ako je u prvoj normalnoj formi i ako njeni atributi zavise od cijelog kandidata za ključ.

43. Definišite i objasnite pojam treća normalna forma kod normalizovanja podataka.Relacija je u trećoj normalnoj formi ako je u drugoj normalnoj formi i ako su svi atributi koji nisu dio nijednog ključa međusobno nezavisni.

44. Definišite i objasnite pojam Boyce-Coddova normalna forma kod normalizovanja podataka.

Boyce-Coddova normalna forma, koja se smatra varijantom treće normalne forme, obrađuje specijalan slučaj relacija koje imaju više kandidata za ključeve. Da bi Boyce-Coddova normalna forma bila primjenjiva, moraju biti ispunjeni sljedeći uslovi:-Relacija mora imati dva ili više kandidata za ključeve;-Najmanje dva među kandidatima moraju biti kombinovani;-Kandidati za ključeve moraju imati neke zajedničke atribute.

45. Definišite i objasnite pojam četvrta normalna forma kod normalizovanja podataka.-46str

Četvrta normalna forma obezbjeđuje teorijsku osnovu za princip koji je intuitivno shvatljiv: Nezavisne grupe koje se ponavljaju ne treba kombinovati u istoj relaciji.

46. Definišite i objasnite pojam peta normalna forma kod normalizovanja podataka.Peta normalna forma obrađuje rijedak slučaj kružnih zavisnosti (engl. join dependencies). Kružna zavisnost izražava cikljčki uslov „ako je Entitet 1 povezan sa Entitetom 2, a Entitet 2 je povezan sa Entitetom 3, a Entitet 3 je povezan sa Entitetom 1, onda sva tri entiteta moraju obavezno postojati unutar iste torke“.

47. Definišite i objasnite pojam binarna veza.-51strBinarna veza je veza koja se sastoji od dva učesnika.

48. Definišite i objasnite pojam unarna veza.Unarna veza je veza kada je relacija povezana sama sa sobom.

49. Definišite i objasnite ternarna veza.Ternarna veza je veza sa tri člana.

50. Definišite i objasnite pojam zavisni (slabi) entitet.Zavisni tj. slabi (engl. weak) entitet je u slučaju potpunog učešća. Slabi entiteti mogu da postoje samo u vezama s drugim entitetima.

51. Definišite i objasnite pojam nezavisni (jaki) entitet.Nezavisni tj. jaki (engl. regular) entitet je u slučaju djelimičnog učešća. Jaki entiteti mogu da postoje i samostalno.

52. Definišite i objasnite pojam obaveznost veze.

6

Page 7: BAZE-Ispitna Pitanja i Odgovori

Klasifikacija učestvovanja u vezi takođe je pokazatelj obaveznosti (engl. optionality) veze, tj. da li određeni entitet mora obavezno da učestvuje u datoj vezi.

7

Page 8: BAZE-Ispitna Pitanja i Odgovori

53. Nacrtajte i objasnite osnovnu notaciju za predstavljanje modela entiteta i veza.Notacija pomoću koje se predstavlja kardinalitet i obaveznost veza, prikazana je na slici 3.2.

Smatramo da je notacija „gavranova kandža“ predstavljena u poglavlju 1 najizraženija i najlakše se može objasniti klijentima. Razumije se, postoje i druge tehnike, pa treba koristiti onu koju smatramo najpogodnijom za upotrebu.

Slika 3.2. Pomoću ove notacije predstavljaćemo obaveznost i kardinalitet

8

Page 9: BAZE-Ispitna Pitanja i Odgovori

54. Nacrtajte i objasnite E-R dijagram sa najmanje tri entiteta po izboru.

Model entiteta i veza, koji podatke opisuje izražene kao entitete, atribute i veze, uveo je Peter Pin Shan Chen 1976. godine. Istovremeno je predložio metodu predstavljanja pomoću dijagrama nazvanih Entity Relationship (E/R) dijagrami, koja je postala široko prihvaćena. E/R dijagrami se sastoje od pravougaonika, koji predstavljaju entitete, elipsi, koje predstavljaju atribute i rombova, koji predstavljaju veze između entiteta. Velika prednost E/R dijagrama jeste to što se lako crtaju i razumiju.

9

Page 10: BAZE-Ispitna Pitanja i Odgovori

55. Nacrtajte i objasnite dijagram promjene stanja sa najmanje tri stanja po izboru.

Svaka vertikalna linija predstavlja važeće stanje, a horizontalna linija predstavlja promjenu iz jednog stanja u drugo.

56. Definišite, nacrtajte i objasnite vezu tipa „jedan prema jedan“.-55str

Ako je tačno da se svaki primjerak entiteta X može povezati uvijek samo s jednim primjerkom entiteta Y, tip te veze je „jedan prema jedan“. Najčešće se upotrebljavaju u sljedeće dvije situacije: kada želimo (ili moramo) da smanjimo broj atributa relacije, ili kada modelujemo potklase određenog entiteta.

57. Definišite, nacrtajte i objasnite vezu tipa „jedan prema više“.

Jedan primjerak jednog entiteta povezan s nula, jednim ili više primjeraka drugog entiteta. Rezultat većine tehnika normalizovanja jesu relacije između kojih postoje veze tipa „jedan prema više“.

58. Definišite, nacrtajte i objasnite vezu tipa „više prema više“.

10

Page 11: BAZE-Ispitna Pitanja i Odgovori

Veze tipa „više prema više“ ne mogu se neposredno predstaviti u relacionoj bazi podataka. Umjesto toga, one se modeluju pomoću dopunske (vezne) relacije koja je u vezi „jedan prema više“ sa svakim od učesnika izvorne veze. Takva dopunska relacija obično se zove spojna tabela (engl. junction table) čak i kad se radi na nivou modela podataka, gdje naravno, govorimo o relacijama a ne o tabelama. Spojne tabele se najčešće sastoje samo od kandidata za ključeve iz oba učesnika prvobitne veze.

59. Definišite potklasu entiteta i na primjeru objasnite potrebu njihovog uvođenja.-57strUpotreba veza tipa „jedan prema jedan“zanimljivija je za izradu potklasa, što je koncept pozajmljen iz objektno orijentisanog programiranja. Mada je upotreba potklasa elegantno rješenje za izvjesne kategorije problema modelovanja podataka, praktično realizovanje može biti priličan posao. Ako smo izabrali ovu strukturu da bismo pravili potklase određenog entiteta, generički entitet postaje primarna relacija, a svaka potklasa postaje spoljna relacija. Spoljni ključ koji potklase preuzimaju često je kandidat za ključ u potklasama. Rijetko postoji razlog da potklase imaju vlastite identifikatore.

60. Definišite i objasnite problem veze s poznatim kardinalitetom.Ponekad će nam minimalni, apsolutni ili maksimalni broj torki na strani „više“ veze tipa „jedan prema više“ biti unaprijed poznat. U ovakvim situacijama uvijek izgleda pravo rješenje da se kandidat za ključ iz svake torke doda kao atribut u relaciji na strani „jedan“. Prvo, tako se dobije grupa koja se ponavlja, i drugo, to je nepouzdano rješenje.

61. Definišite i objasnite pojam integritet podataka.Izrada modela entiteta iz prostora problema i veza između njih, samo je dio postupka modelovanja podataka. Moramo obuhvatiti i pravila koja će sistem što radi s našom bazom podataka primjenjivati da bi fizički podaci koje skladišti u bazu podataka bili, ako ne potpuno ispravni, barem prihvatljivi. Drugim riječima, u model moramo uključiti integritet podataka (engl. date integrity). Sistem to radi tako što se stara da podaci budu usklađeni sa uslovima integriteta (engl. integrity constraints) koji su definisani u sistemu. (Npr. Ime osobe nemože imati brojeve.)

62. Definišite i objasnite pojam uslovi integriteta podataka.-69strIntegritet podataka realizuje se na više nivoa detalja (engl. level of granularity). Uslovi koji važe za domen, promjenu stanja i entitete definišu pravila za održavanje integriteta pojedinačnih relacija. Uslovi za referencijalni integritet obezbjeđuju održavanje veza između entiteta. Uslovi za integritet baze podataka upravljaju bazom podataka kao cjelinom, dok uslovi za integritet transakcija određuju način na koji se radi s podacima unutar jedne baze ili čak više baza.

11