Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Baze podataka Ispitna pitanja:

I Parcijalni ispit I Dio: Teorija relacionih baza podataka 1. Definiite i objasnite skraenicu DBMS (RDBMS). Teorijski, softver za relacionu bazu podataka moe se napisati od nule, ali se u praksi uvijek koriste usluge odreenog sistema za upravljanje bazama podataka (engl. Database managment system- DBMS). DBMS se ponekad naziva i relacioni DBMS (RDBMS), ali tehniki gledano, da bi se jedan DBMS kvalifikovao kao relacioni, morao bi da ispuni oko 300 uslova. Meutim, niti jedan od raspoloivih sistema koji postoje na tritu nije u potpunosti kvalifikovan. Primjeri su Jet i SQL Server. 2. Definiite i objasnite pojam aplikacija baze podataka. Aplikacija se sastoji od obrazaca (Forms) i izvjetaja (Report) sa kojma radi korisnik aplikacije. 3. Definiite i objasnite pojam maina baze podataka. Maine baza podataka (engl. Data base engines) ponekad se nazivaju i pozadinske komponente (engl. Back ends), ali je to prilino loe, jer izraz pozadinska komponenta zapravo opisuje fiziku arhitekturu. Zadatak tih alatki je fiziko manipulisanje podacimapohranjivanje na disk i uitavanja s njega na zahtjev. I Jet i SQL Se rver, mada veoma razliiti, izuzetne su alatke za skladitenje podataka i rad sa njima. 4. Definiite i objasnite pojam fiziki oblik baze podataka. Fiziki nivo predstavlja najnie nivo apstrakcije i u stvari definie nain smjetanja podataka na sekundarnoj memoriji i opisuje veoma kompleksne strukture za smjetaj i pristup podataka. 5. Definiite i objasnite pojam ema baze podataka. Definicija fizike strukture tabele i prikazi koji e biti napravljeni zove se ema baze podataka (engl. Database schema) ili samo ema. To je preslikavanje pojmovnog modela u fiziki oblik, koji se moe realizovati pomou nekog DBMS. Treba imati u vidu da je ema takoe konceptualni pojam a ne fiziki. ema nije nita drugo do model podataka izraen pomou elemenata koje maina baze podataka (engl. Database engine) prepoznaje, kao to su tabele, okidai ili slina bia. Jedna od prednosti upotrebe maine baze podataka jeste to to se ne moramo baviti fizikim oblikom baze podatka. 6. Definiite i objasnite pojam model podataka. Najapstraktniji nivo projektovanja baze podataka jeste model podataka, to je konceptualni opis prostora problema. Modeli podataka sastoje se od elemenata koji mogu biti entiteti, atributi domeni i veze. 7. Definiite i objasnite pojam prostor problema baze podataka. Iako se za relacione baze podataka ne mogu nai analogije u stvarnom svijetu, svrha veine baza podataka je da modeluju odreeni aspekt iz stvarnog ivota. Taj dio stvarnog svijeta nazvaemo prostorom problema (engl. Problem space). Po samoj svojoj prirodi, prostor problema je veoma sloen i zamren (esto nedovoljan jasan). Kada ne bi bio takav, ne bi ni trebalo praviti njegov model. Meutim, za uspjeh projekte, od kljune vanosti da sistem za koji se projektuje baze podataka bude ogranien na tano definisan skup objekata i njihovih odnosa, jedino na taj nain se mogu donositi pravilne odluke o opsegu koji sistem treba da obuhvati. 8. Definiite i objasnite pojam eona komponenta baze podataka. Kada se zavri fizika definicija baze podataka, potrebne su alatke za izradu obrazaca i izvjetaja s kojima e korisnici raditi. Ovdje e se razmotriti primjeri upotrebe takve alatke: Access i Visual Studio. NET (konkretno, Visual Basic. NET). U ovoj kategoriji takoe postoji bezbroj alatki za izradu eonih komponenata, ali budui da su principi rada uvijek bili
1

isti, trebali bi biti u stanju da ono to se ovdje naui primjeni na alatku za koju smo se opredijelili. 9. Definiite i objasnite pojam relacija u terminologiji baza podataka. U Microsoft Access terminologiji relacija se prepoznaje kao skup zapisa(engl.recordset) ili, u SQL Server terminologiji kao skup rezultata (engl. Result set). Rije relacija izabrana je zbog toga jer nije imala praktino nikakvo drugo znaenje zavisno od konteksta, za razliku od, npr, rijei tabela. Uvreeno je pogreno miljenje da se relacioni model tako zove zbog veza (engl.relationship) koje uspostavljamo izmeu tabela. Ime zapravo potie od relacija na kojima se model zasniva. 10. Definiite i objasnite pojam torka (tuple) baze podataka. Svaki red podataka zove se torka (engl.tuple). Tehniki gledano, svaki red je zapravo n-torka (npr.petorka, estorka itd.), ali se n- obino izostavlja. 11. Definiite i objasnite pojam kardinalitet baze podataka. Ukupan boj torki u relaciji odreuje kardinalitet (engl.cardinality) relacije. 12. Definiite i objasnite pojam zaglavlje relacije. Relacija je podijeljenja na dva odjeljka: zaglavlje i tijelo. U zaglavlju se ispisuju nazivi atributa. Treba voditi rauna da se u relacionoj notaciji natpis u zaglavlju svakog atributa sastoji od dva dijela, razdvojena dvotakom npr,m jedinina cijena: Valuta (KM). Prvi dio natpisa je ime atributa, dok je drugi dio domen atributa. 13. Definiite i objasnite pojam tijelo relacije. Relacija je podijeljena na dva odjeljka: zaglavlje i tijelo. Tijelo relacije sastoji se od neureenog skupa jedne ili vie torki. 14. Definiite i objasnite pojam domen relacije. Domen (engl.domain) atributa je vrsta podataka koje atribut predstavlja. Domen nije isto to i tip podataka, a specifikacija domena eso se izostavlja u zaglavlju. 15. Definiite i objasnite pojam entitet. Teko je osmisliti preciznu formalnu definiciju entiteta (engl.entity), ali je pojam relativno lako razumljiv: entitet je sve o emu sistem teba da skladiti podatke. Kupci kupuju robu, prodavci prodaju robu. Dobavljai nam prodaju robu. Imenice Kupci, Roba, Prodavci i Dobavljai predstavljaju oigledne entitete. 16. Objasnite razliku izmeu konkretnog i apstaktnog entiteta. Veina entiteta su modeli objekata ili dogaaja iz stvarnog ivota: kupci, roba, prodajne ponude. To su konkretni entiteti. Entiteti mogu biti i modeli apstraktnih koncepata. Najuobiajeniji primjer apstraktnog entiteta jeste entiet koji modeluje vezu ili odnos (engl.relationship) izmeu drugih entiteta npr., injenicu da je odreeni predstavnik kompanije odgovoran za odreenog klijenta, ili da odreeni student slua predavanja iz odreenog predmeta. 17. Definiite i objasnite pojam atribut. Sistem koje se projektuje mora da evidentira odreene injenice o svakom entitetu. Kako je ve reeno. Te injenice su atributi entiteta. Na primjer, ako u svom sistemu imamo entitet Kupac, vjerovatno e biti vano znati imena i adrese kupaca, a moda i njihova zanimanja. Navedeni elementi su atributi. 18. Definiite i objasnite pojam veze/odnosi izmeu entiteta. Osim atributa svakog entieta, model podataka mora da definie i veze ili odnose koji postoje izmeu entiteta. Na pojmovnom nivou, veza ili odnos (engl.relationship) jeste asocijacija izmeu entiteta. Reenica kupci kupuju robu pokazuje da postoji veza izmeu entiteta Kupci i Roba. 19. Definiite i objasnite pojam uesnici veze. Entiteti izmeu kojih postoji veza ili odnos zovu se uesnici veze (engl.participants). 20. Definiite i objasnite pojam stepen veze. Broj uesnika odreuje stepen veze. Stepen veze je slian, ali ne i jednak, stepenu relacije, koji predstavlja ukupan broj atributa. Velika veina veza izmeu entiteta je binarna, kao u
2

primjeru kupci kupuju robu, ali to nije pravilo. Uobiajene se ternane veze,tj.one sa tri uesnika. 21. Definiite i objasnite pojam djelimino uee entiteta u vezi. Ako entitet ne moe postojati ukoliko ne uestvuje u nekoj vezi, uestvovanje je potpuno; u suprotnom, uestvovanje je djelimino. 22. Definiite i objasnite pojam potpuno uee entiteta u vezi. Ako entitet ne moe postojati ukoliko ne uesvuje u nekoj vezi, uestvovanje je potpuno. 23. Definiite i objasnite pojam dijagram entiteta i veza. Model entiteta i veza, koji podatke opisuje izraene kao entitete, atribute i veze, uveo je Peter Pin Shan Chen 1976. godine. Istovremeno je predloio metodu predstavljanja pomou dijagrama nazvanih Entity Relationship (E/R) dijagrami, koja je postala iroko prihvaena. E/R dijagrami se saastoje od pravougaonika (koji predstavljaju entitete), elipsi (koje predstavljaju atribute) i rombova (koji predstavljaju veze izmeu entieta). Velika prednost E/R dijagrama jesto to to se lako crtaju i razumiju. 24. Definiite i objasnite pojam redundantnost podataka. Redundantost (engl.redundancy) rasipa resurse i, to je jo vanije, oteava rad sa bazom podataka. 25. Definiite i objasnite pojam normalizovanje podataka. Postupak struktuiranja podatka u prostoru problema da bi se eliminisala redundantnost i obezbijedila fleksibilnost, zove se normalizovanje (engl.normalization). 26. Definiite i objasnite pojam dekomponovanje bez gubitaka. Relacioni model omoguava da povezivanjem atributa spajamo relacije na razliite naine. Postupak izrade potpuno normalizovanog modela podataka obuhvata uklanjanje redundantnosti razbijanjem relacija u oblik koji omoguava da se rezultujue relacije kombinuju bez gubljenja ijednog izvornog podatka. To je princip dekomponovanja bez gubitaka (engl. Loseless decomposition). 27. Definiite i objasnite pojam kandidat za klju. U svakoj relaciji mora postojati odreena kombinacija atributa koja na nedvosmislen nain identifikuje svaku torku. Ako taj uslov nije ispunjen, redovi takve relacije nisu torke u smislu relacione teorije, taj skup ili kombinacija jednog ili vie atributa zove se kandidat za klju (engl.candidate key). 28. Definiite i objasnite pojam prost klju. Kandidat za klju moe se sastojati od samo jednog atributa i to je onda prost klju. 29. Definiite i objasnite pojam sloen klju. Kandidat za klju moe se sastojati od vie atributa i onda je to sloen klju. 30. Definiite i objasnite pojam primarni klju. Ponekad mada ne esto- dogaa se da relacija ima vie od jednog kandidata za kljueve . u takvim sluajevima, jedan od kandidata odreuje se kao primarni klju (engl.primary key). 31. Definiite i objasnite pojam alternativni klju. Ponekad mada ne esto dogaa se da relacija ima vie od jednog kandidata za kljueve. U takvim sluajevima, jedan od kandidata odreuje se kao primarni klju, a drugi kandidati se smatraju alternativnim kljuevima (engl.alternate keys). 32. Definiite i objasnite koncept funkcionalne zavisnosti podataka. Koncept funkcionalne zavisnosti (engl.functional dependecy) izuzetno je koristan za rad sa strukturama podataka. Ako je data torka T i dva skupa njenih atributa. {X1...Xn} i {Y1...Yn} (ti skupovi ne moraju biti meusobno iskljuivi), skup Y je funkcionalno zavistan od skupa X ako, za svaku legalnu vrijednost u skupu X, postoji samo jedna legalna vrijednost u skupu Y. 33. Definiite 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 atributi. To je istovremeno i najjednostavaniji i najtei koncept modelovanja podataka. 34. Definiite i objasnite pojam druga normalna forma kod normalizovanja podataka.
3

Relacija je u drugoj normalnoj formi ako je u prvoj normalnoj formi i ako njeni atributi zavise od cijelog kandidata za klju. 35. Definiite i objasnite pojam trea normalna forma kod normalizovanja podataka. Relacija u treoj normalnoj formi ako je u drugoj normalnoj formi i ako su svi atributi koji nisu dio nijednog kljua meusobno zavisni. 36. Definiite i objasnite pojam Boyce-Coddova normalna forma kod normalizovanja podataka. Boyce-Coddova normalna forma, koja se smatra varijantom tree normalne forme, obrauje specijalan sluaj relacija koje imaju vie kandidata za kljueve. Da bi Boyce-Coddova normalna forma bila primjenjiva, moraju biti ispunjeni sljedei uslovi: Relacija mora imati dva ili vie kandidata za kljuava; Najmanje dva meu kandidatima moraju biti kombinovani; Kandidati za kljueve moraju imati neke zajednike atribute. 37. Definiite i objasnite pojam etvrta normalna forma kod normalizovanja podataka. etvrta normalna forma obezbjeuje teorijsku osnovu z aprincip koji je intuitivno shvatljiv: Nezavisne grupe koje se ponavljaju ne treba kombinovati u istoj relaciji. 38. Definiite i objasnite pojam peta normalna forma kod normalizovanja podataka. Peta normalna forma obrauje rijedak sluaj krunih zavisnosti (engl.join dependencies). Kruna zavisnost izraava cikliki uslov ako je Etitet 1 povezan sa Entitetom 2, a Entitet2 je povezan sa Entitetom 3, a Entitet 3 je povezan sa Entitetom 1, onda sva tri entiteta moraju obavezno postojati unutar iste torke. 39. Definiite i objasnite pojam binarna veza. Veza izmeu entiteta najee je binarna, tj.sastoji se od dva uesnika. 40. Definiite i objasnite pojam unarna veza. Unarna veza je kada je relacija povezana sama sa sobom. 41. Definiite i objasnite ternarna veza. Ternarne veze su veze koje se sastoje iz tri uesnika. 42. Definiite i objasnite pojam zavisni (slabi) entitet. Uestvovanje entiteta u vezi moe se opisati kao potpuno ili djelimino, u zavisnosti od toga li entitet moe ili ne moe postojati nezavisno od veze u kojoj uestvuje. Entiteti sa potpun im ueem su zavisni (slabi) entiteti. 43. Definiite i objasnite pojam nezavisni (jaki) entitet. Uestvovanje entiteta u vezi moe se opisati kao potpuno ili djelimino, u zavisnosti od toga da li entitet moe ili ne moe postojati nezavisno od veze u kojoj uestvuje. Entiteti sa djeliminim ueem su nezavisni (jaki) entiteti. 44. Definiite i objasnite pojam obaveznost veze. Klasifikacija uestvovanaj u vezi je pokazatelj obaveznosti (engl.optionality) veze, tj.da li odreeni entitet mora obavezno da uestvuje u datoj vezi. 45. Nacrtajte i objasnite osnovnu notaciju za predstavljanje modela entiteta i veza. 46. Nacrtajte i objasnite dijagram promjene stanja sa najmanje tri stanja po izboru. 47. Definiite, nacrtajte i objasnite vezu tipa jedan prema jedan. 48. Definiite, nacrtajte i objasnite vezu tipa jedan prema vie. 49. Definiite, nacrtajte i objasnite vezu tipa vie prema vie. 50. Definiite i objasnite problem veze s poznatim kardinalitetom. Ponekad e nam minimalni, apsolutni ili maksimalni broj torki na strani vie veze tipa jedan prema vie biti unaprijed poznat. Radna nedelja ima pet dana, skelet odrasle osobe sastoji se od 200 kostiju, a na turniru golfa svaki igra moe da nosi samo 14,tapova. U ovakvim situacijama uvijek izgleda pravo rjeenje da se kandidat za klju iz svake torke doda kao atribut u relaciji na strani jedan. Ogranienja kardinaliteta poput navedenih, moraju sa realizovati u obliku sistemskih ogranienja; nije preporuljivo da ih ugraujemo u same strukture.
4

II Parcijalni ispit 51. Definiite i objasnite pojam integritet podataka. Izrada modela entiteta iz prostora problema i veza izmeu njih, samo je dio postupka modelovanja podataka. Moramo obuhvatiti i pravila koja e sistem to radi sa naom bazom podataka primjenjivati da bi fiziki podaci koje skladiti u bazu podatka bili, ako ne potpuno ispravni, barem prihvatljivi. Drugim rijeima, u model moramo ukljuiti integritet podataka (engl.date integrity). Vano je shvatiti kako su prilino male anse da emo moi da garantujemo bukvalnu tanost podatka. 52. Definiite i objasnite pojam uslovi integriteta podataka. Uslove integriteta neki autori jo zovu i poslovna pravila. Meutim koncept poslovnog pravila znatano je iri i obuhvata sva ogranienja i uslove definisane u sistemu, a ne samo uslove koji odreuju integritet podataka. Integritet podatka realizuje se ne vie nivoa detalja (engl.level of grnanularity). Uslovi koji vae za domen, promjenu stanja entitete definiu pravila za odravanje integriteta pojedinanih relacija. Uslovi za referencijalni integritet obezbjeuju odravanje veza izmeu entiteta. Uslovi za integritet baze podataka upravljaju bazom podataka kao cjelinom, dok uslovi za integritet transakcija odreuju nain na koji se radi s podacima unutar jedne baze ili ak vie baza. 53. Definiite i objasnite integritet domena. Domen je skup svih moguih vrijednosti datog atributa. Uslov za integritet domena koji se obino zove uslov za domen (engl.domain constraint) jeste pravilo koje definie te prihvatljive vrijednosti. Moe biti potrebno da se definie vie od jednog uslova za odreeni doen da bi bio potpuno opisan. Poto tip podataka moe biti zgodna preica u modelu podataka, biranje logikog tipa podataka je prvi koraku odreivanju uslova za domen unutar sistema. Pod logikim tipm podataka podrazumijeva se samo neto poput datum, tekst ili slika- nita specifinije od toga. Sljedei aspekt integriteta domena koji treba razmotriti jeste: da li domenu dozvoljeno da sadri nepoznate i nepostojee vrijednosti. Posljednji aspekt integriteta domena jeste skup vrijednosti koje domen predstavlja moramo definisati to preciznije. 54. Definiite i objasnite integritet promjena stanja. Uslovi integriteta promjena stanja definiu dozvoljena stanja kroz koja torka moe da proe. 55. Definiite i objasnite integritet entiteta. Uslovu za integritet entiteta odezbjeuju integritet entiteta koje modeluje sistem. Na najjednostavnijem nivou, postojanje primarnog kljua je uslov integritet entiteta koji obezbjeuje potovanje pravila svaki entitet mora da se identifikuje jednoznano. 56. Definiite i objasnite referencijalni integritet. Postoji samo jedan uslov za ouvanje referencijalnog integriteta: spoljni kljuevi ne smiju da postanu siroii. Drugim rijeima, nijedan zapis u spoljnoj tabeli ne smije da sadri spoljni klju za koji ne postoji odgovarajui zapis u primarnoj tabeli. Torke koje sadre spoljne kljueve bez odgovrajuih kandidata za klju u primarnoj relaciji zovu se entiteti siroii. 57. Definiite i objasnite pojam lanano auriranje. Ako na model dozvoljava mijenjanje kandidata za kljueve, moramo obezbijediti da se te izmjene primjene i na spoljne kljueve. To je poznato kao lanano auriranje. I Jet i SQL Server imaju mehanizam koji na jednostavan nain omoguava lanano auriranje. 58. Definiite i objasnite pojam lanano brisanje. Uzrok pojave spoljnih kljueva siroia jeste brisanje zapisa u kome se nalazi primarni entitet. Na primjer, ako neko izbrie zapis o odreenom kupcu, ta e biti sa njegovim porudbinama? Slino izmjenama kandidata za kljueve, moemo zabraniti brisanje torki iz primarne relacije ako se one referenciraju u nekoj spoljnoj relaciji. To je svakako najistije rjeenje ako je to prihvatljivo ogranienje u naem sistemu. Ako nije, i u Jetu i u SQL
5

Serveru postoji nain povezivanja operacije brisanja zapisa iz obe tabele, to je poznato kao lanano brisanje. 59. Definiite i objasnite uslove za ouvanje referencijalnog integriteta. Na nivou pojedinanih polja, tip podatka je najvaniji uslov integriteta. Postoji samo jedan uslov za ouvanje referencijalnog itegriteta: spoljni kljuevi ne smiju da postanu siroii. Entiteti siroii mogu da se pojave zbog jednog od sljedeih razloga: 1. Spoljnoj tabeli dodata je torka iji klju nema odgovarajueg parnjaka u kandidatu za klju u primarnoj tabeli. 2. Spoljnom kljuu je dodijeljena vrijednost koja ne postoji u primarnoj tabeli. 3. Izmjenjena je vrijednost kandidata za klju u primarnoj tabeli. 4. Izbrisan je referencirani zapis iz primarne tabele. 60. Definiite i objasnite integritet baze podataka. Najiri oblik za ouvanje itegriteta jesu uslovi integriteta baze podatka. Uslovi integriteta baze podataka referenciraju vie od jedne relacije: Svi Artikli prodati Kupcima koji imaju status Dravne ustanove moraju imati vie od jednog Dobavljaa. Veina uslova integriteta baze podataka imaju takav oblik i slino navedenom, mogu zahtijevati proraune koju obuhvataju vie relacija. 61. Definiite i objasnite integritet transakcija. Posljednji oblik integriteta baze podatka jeste integritet transkacija. Uslovi integritata transkacija upravljaju nainom na koji se radi sa podacima u bazi. Za razliku od ostalih uslova integriteta, uslovi integriteta transkacija se proceduralni pa zato nisu dio samog modela podataka. 62. Definiite i objasnite pojam deklarativni i proceduralni integritet. Relacione maine baza podataka pruaju podruku za ouvanje integriteta na dva naina: deklarativni i proceduralni. Podrka za deklarativni integritet izriito je definisana kao sastavni dio eme baze podataka. I maine Jet i SQL Server pruaju odreenu podrku za deklarativni integritet. Deklarativni integritet je preporuljiv nain organizovanja integriteta podataka. SQL Server prua podrku za proceduralni integritet u obliku okidakih procedura koje se izvravaju kada se u bazu podataka unese novi zapis, ili aurira ili izbrie postojei zapis. Maine baze podataka Jet ne podrava proceduralni integritet. 63. Definiite i objasnite pojam osnovna relacija. Osnovna relacija je relacija iji fiziki oblik smjetamo u bazu podataka. 64. Definiite i objasnite pojam izvedena relacija. Izvedena relacija predstavlja relaciju definisanu upotrebom drugih relacija, a ne zadavanjem atributa relacije. 65. Definiite i objasnite pojam prikaz. U emi baze podataka, osnovna relacija je predstavljena tabelom. Izvedene relacije predstavljene su prikazima u SQL Serveru. Prikazi se definiu pomou relacionih operacija. 66. Definiite i objasnite pojam upit. U emi baze podataka, osnovna relacija predstavljena je tabelom. Izvedene relacije predstavljene u upitima u maini Jet. 67. Definiite i objasnite pojam trovrednosna logika. Null dodaje treu vrijednost skupu logikih vrijednosti uslijed ega moramo raditi sa True, False i Null. Stoga ne iznenauje da su ti operatori postali kao trovrijednosna logika. 68. Definiite i objasnite relacionu operaciju ograniavanja. Operator ograniavanja odvaja samo zapise koji ispunjavaju zadate uslove. Realizuje se u obliku odredbe WHERE iskaza SELECT, na sljedei nain: SELECT* FROM Zaposleni WHERE Prezime= Markovi
6

Ovaj iskaz vraa zapis o zaposlenom Markovi Milanu jer je to jedina osoba u naoj bazi u tabeli Zaposleni sa tim prezimenom. (Simbol * u odjeljku <listaPolja> iskaza, specijalna je skraenica za sva polja). Uslovi za izdvajanje podataka zadati u odredbi WHERE mogu biti proizvoljno sloeni. Logiki izrazi se mogu kombinovati pomou opertora AND i OR. Vrijednost zraza e se izraunavati za svaki zapis u skupu zapisa; ako je vrijednost True, zapis e biti ukljuen u rezultate iskaza. Ako je z aodreeni zapis vrijednost izraza False ili Null, taj zapis nee biti ukljuen meu rezultate. 69. Definiite i objasnite relacionu operaciju projekcije. Dok ograniavanje izdvaja horizontalni isjeak iz skupa zapisa, projekcija izdvaja vertikalni isjeak; taj operator vraa samo poddskup polja iz izvornog skupa zapisa. SQL obavlja tu jednostavnu operaciju pomou odjeljka <listaPolja> iskaza SELECT tako to u skup rezultata ukljuuje samo polja koja navedemo u tom odjeljku. Na primjer, pomou sljedeeg iskaza moemo sastaviti listu telefonskih brojeva zapolsenih: SELECT Ime, Prezime, Telefon FROM Zaposleni ORDER By Prezime, Ime; Treba imati u vidu da odredba ORDERBY samo sortira podatke i zbog toga nije ni u kakvoj vezi sa samom projekcijom. U navedenom primjeru, lista e biti sortirana abecednim redosljedom- prvo polja Prezime, a zatim polja Ime. 70. Definiite i objasnite relacionu operaciju spajanja. Operacije spajanja vjerovatno su najuobiajenije relacione operacije. One su svakako sutinski vane za model podataka razdvajanje podataka na vie relacija ne bi imalo svrhe ukoliko ne bi postojao nain da ih ponovo kombinujemo kada nam to zatreba. Relacije spajamo pomou odredbe JOIN iskaza SELECT. 71. Definiite i objasnite relacionu operaciju spajanja jednakovredni spojevi. Kada se operacijom poreenja utvruje da li postoji jednakost, u pitanju je jednakovrijedni spoja. U operaciji te vrste izdvajaju se samo zapisi koji u zadatim poljima sadre jedanke vrijednosti. 72. Definiite i objasnite relacionu operaciju spajanja prirodni spojevi. Specijalan sluaj jedankovrijednog spoja je prirodni spoj. Da bi se spoj mogao kvalifikovati kao prirodni, operacija spajanja mora da ispuni sljedee uslove: Operator poreenja mora biti jednakost. U spoju moraju uestvovati sva polja koja su zajednika za sve relacije. U skupu rezultata pojavljuje se samo jedan skup zajednikih polja. Prirodni spojevi nisu ni po emu izuzetni. Ne ponaaju se na poseban nain, niti u maini baze podataka postoji nekavkva posebna podrka za njih. 73. Definiite i objasnite relacionu operaciju spajanja teta spojevi. Spoj koji se zasniva na opertaru poreenja koji nije jednakost (<>. >, >=, <, <=) zove se teta spoj. Teta spojevi su u praksi izuzetno rijetki, ali mogu biti korisni za rjeavanje pojedinih problema. To su, prije svega problemi pri pronalanju zapisa koji sadre vrijednost veu od prosjeka ili ukupnog zbira, ili zapisa koji se nalaze u odreenom opsegu. U sluaju teta spojeva preporuljiva je naredba WHILE. 74. Definiite i objasnite relacionu operaciju spajanja spoljni spojevi. Spoljni sloj uitava sve zapise koje bi uitao unutranji spoj, plus sve ostale zapise iz jdnog ili oba skupa zapisa. Umjesto nedostajuih vrijednosti (bez parnjaka), prikazivae se Null. Spoljni spojevi se dijele na lijeve, desne ili potpune, u zavisnosti od toga koji se dodatni zapisi pojavljuju u rezultatima. Teorijski, lijevi spoljni spoj uitava sve zapise iz skupa na strani jedan veze tipa jedan prema vie, dok desni spoljni spoj uitava sve zapise sa strane vie. 75. Definiite i objasnite relacionu operaciju dijeljenja. Operator relacionionog dijeljena uitava zapise iz jednog skupa zapisa u kome se nalaze vrijednosti koje imaju parnjake u svim zapisima iz drugog skupa zapisa. Na primjer, ako je
7

dat skup zapisa koji se sastoji od kategorija artikala koje isporuuje svaki dobavlja, relacionim dijeljenjem dobili bismo listu dobavljaa koji isporuuju artikle svih kategorija. 76. Definiite i objasnite relacioni operator za rad sa skupovima relaciona unija. Na konceptualnom nivou, relaciona unije predstavlja nadovezivanje dva skupa zapise. To je manje- vie relaciona verzija sabiranja. Rezultat unije skupa zapisa A sa skupom zapisa B isti je kao kada sve zapise iz skupa A dodamo u skup B. Koristi se iskaz UNION. 77. Definiite i objasnite relacioni operator za rad sa skupovima relacioni presjek. Operator relacionog presjeka vraa zapise koji su zajedniki za oba skupa zapisa. U sutini, to je operacija tipa pronai duplikate, to je i nain na koji se najee koristi. Presjek se realizuje pomou spoljnih spojeva. 78. Definiite i objasnite relacioni operator za rad sa skupovima relaciona razlika. Dok presjek dva skupa zapisa omoguava pronalaenja duplikata, operator relacione razlike pronalazi siroie. Relacionu razliku izmeu dva skupa zapisa ine zapisi koji pripadaju jednom skupu ali ne i drugom. 79. Definiite i objasnite relacioni operator za rad sa skupovima relacioni Dekartov proizvod. Posljednji operator za rad sa skupovima je Dekartov proizvod. Slino svom parnjaku u tradicionalnoj teoriji skupova, Dekartov proizvod sva skupa zapisa, kombinuje svaki zapis iz jednog skupa sa svakim zapisom iz drugog skupa. Dekartov proizvod dobija se pomou iskaza SELECT u kome su zadata dva skupa zapisa ali ne i odredba za spajanje skupova (JOIN). Naredni iskaz kombinuje svakog kupca sa svakim artiklom: SELECT Ime Kupca, Ime Artikla FROM Kupci, Artikli; 80. Definiite i objasnite relacionu operaciju izraunavanja zbirnih podataka. Operstor za izraunavanjae zbirnih podatka ini upravo ono to bismo od njega oekivali: formira zapise koji sadre zbirne podatke grupisane na osnovu zadatih polja. Operaciju izraunavanja zbirnih podataka realizuje odredba GROUP BY iskaza SELECT. Za svaku nedupliranu vrijednost u zadatom polju ili poljima, formira se po jedan zapis. 81. Definiite i objasnite relacioni operator za proirenje. Operator za proirenje omoguava da definiemo virtulena polja koje se izraunavaju na osnovu konstanti i vrijednosti uskladitenih u bazi podataka. Virtuelna polja se prave tako to ih definiemo na <listiPolja> iskaza SELECT, na sljedei nain: SELECT[CijenaPoJedinici]*[Koliina]AS UkupnaVrijednost FROM[StavkeFakture]; 82. Definiite i objasnite relacioni operator za preimenovanje Operacija preimenovanja moe se izvesti nad skupom zapisa koji se nalaze na<listiSkupovaZapisa> ili nad poljima <listePolja>. U maini baze podatka Jet, sintaksa za preimenovanje skupa zapisa izgleda ovako: SELECT<imePolja> AS <drugoImePolja> FROM<ime Tabele> AS <drugoImeTabele> U SQL Serveru rezervisana rije AS nije obavezna, kao u sljedeem primjeru: SELECT<imePolja> AS <drugoImePolja> FROM <imeSkupaZapisa> <drugoImeSkupaZapisa> 83. Definiite i objasnite relacioni operator/iskaz Transform (unakrsni upit). Iskaz TRANSFORM je Microsoftova dopuna relacione algebre. TRANSFORM preuzima rezultate zbirne operacije (GROUP BY) i prikazuje ih rotirane za 90 stepeni. Ovu veoma korisnu operaciju, poznatiju kao unakrsni upit, podrava maina baze podataka Jet. U SQL Serveru nije bila podrana sve do pojave Yukona. 84. Definiite i objasnite relacioni operator Rollup. Operator za izraunavanje zbirnih podataka u obliku odredbe GROUP BY, generie zapise koji sadre izraunate zbirne podatke. Odredba ROLLUP, koja je podrana samo u SQL Serveru, logino je proirenje te operacije koje omoguavaju izraunavanje ukupnih zbirova.
8

85. Definiite i objasnite relacioni operator Cube. Opertor CUBE takoe je na raspologanja samo u SQL serveru i realizovan je kao proirenje odrebbe GROUP BY. Odredba CUBE nalae izraunavanje zbirnih podataka pri svakoj promjeni vrijednosti u svakoj koloni navedenoj na <listiPoljaZaGrupisanje>. Konceptualno je slian opertoru ROLLUPm ali dok ROLLUP izraunava ukupan zbir za skanu kolonu navedenu na <listiPoljaZaGrupisanje>, Cube izraunava zbirne podatke za dodatne grupe. II Dio: Teorija dimenzionalnih baza podataka 86. Definiite i objasnite pojam dimenzionalna baza podataka Postoji itava kategorija aplikacija sa razliitim namjenama i zahtjevima. Te aplikacije moraju da skladite veoma velike koloine arhivskih podataka, ali se ti podaci, nakon unoenja, vrlo rijetko mijenjaju. Iako s tim aplikacijama rijetko radi vie od nekoliko desetina korisnka istovremeno, nijam je potreban efikasan nain izrade izvjetaja na osnovu podataka Efikasno u ovom sluaju znai dvije stvari; ad hok upiti moroju brzo da vraaju rezultate, a struktura eme baze podataka more biti lako razumljiva krajnjem korisniku. Dimenzionalne baze podataka razvijene su upravo da se zadovolje potrebe. Podaci, nakon preno enja u dimenzionalnu bazu podataka, rijetko se auriraju. 87. Definiite i objasnite pojam tabela injenica. Table injenica su jedna od vije vrste relacija u dimenzionalnom modelu, osnovna struktura je ista ko tabela razvijena pomou relacionog mogela relacija se sastoji od skupa atributa. Atributi u tabeli injenica se mogu razvrstati u dvije grupe: kljueve dimenzija, koji povezuju tabelu injenica s tabelama dimenzija i injenice, koje predstavljaju stvarne vrijednosti koje mjerimo. 88. Definiite i objasnite pojam tabela dimenzija. U izvjesnom smislu, tabele dimenzija su sline referntnim tabelama, uobiajenim u normalizovanim bazama podataka, ali uprkos povnoj slinosti, tabele dimenzija ijemu sasvim drugu namjenu. Svrha referntnih table je da smanje dupliranje podataka i obezbijede njihovu usklaenost. Tabele dimenzija predstavljaju osobine koje se mjere a mjera se uzima z adatu kombinaciju vrijednosti dimanzija. Iako tabele dimenzija mogu, kao sporednu korist, da smanje veliinu tabele injenica i koliinu dupliranih podataka koje ona sadri, njihova primarna namjena je da olakaju analize podatka. One su sredstvo koje analitiarima omoguava da iz vlikih gomila podataka izdvajaju one koji im trebaju. 89. Definiite i objasnite pojam kljuni atributi u tabeli injenica. Kljuni atrubuti su spoljni kljuevi pomou kojih je tabela injenica povezana sa tabelama dimenzija, a nalze se u tablei injenica. 90. Definiite i objasnite pojam zvjezdasta ema dimenzionalne baze podataka. Tabela injenica moe biti postavljena na sredinu dijagrama, a oko nje da budu rasporeene tabele dimenzija. To je konvecionalni oblik tih ema. Poto je neko, negdje, odluio da takav razmjetaj podsjea na zvijezdu navan je zvjezdasta ema. Tehnika definicija zvjezdaste eme glasi: ema se sastoji od jedne tabele injenica i vie table dimenzija, koje su sve neposredno povezane sa tabelom injenica i obino nisu povezane sa drugim dimenzijama. 91. Definiite i objasnite pojam pahuljasta ema dimenzionalne baze podataka. Tehnika definicija zvjezdaste eme glasi: ema se sastoji od jedne tabele injenica i vie table dimenzija, koje su sve neposredno povezane sa tabelom injenica i obino nisu povezane sa drugim dimenzijama. Meutim, u nekim relativno rijetkim situacijama korisno je razdvojiti odreenu dimenziju na vie relacija. Ta struktura je poznata kao pahuljasta ema. Pahuljasta ema u stvari normalizuje dimenziju. 92. Definiite i objasnite pojam skladite podataka. Dimenzionalni dizajn je analitika komponenta opte oblasti poznate pod nazivom poslovne informacije. Aplikacije napravljene primjenom tih tehnika ponekad se nazivaju OLTP aplikacija napravljenih primjenom modela entiteta. 93. Definiite i objasnite pojam idelana injenica.
9

injenice sadrane u table injencia predstavljaju vrijedsnoti koje se mjere za odreenu kombinaciju vrijednosti dimenzija. Idealna injencia ima dvije osobine: numerikog je tipa i potpuno je aditivna. Nenumerike injenice nisu obavezno prihvatljive, ali ako naiemo na jednu od njih treba dobro razmisliti da nije u pitanju zapravo preruena dimenzija. 94. Definiite i objasnite pojam poluaditivna injenica. Poluaditivne injenice su numerikog tipa, ali se mogu sabirati samo po odreenim dimenzijama, ne i svim. 95. Definiite i objasnite pojam granularnost. Granuralnost tabele injenica je nivo detalja na kojem se evidentiraju injenice. Preporuljivo je da uvijek korisitmo to veu granuralnost. to je vii nivo detalja, na vie se naina mogu analizirati podaci. Moramo imati u vidu da nee svi izvorni podaci biti na raspolaganju s jednakim nivoom detalja, a odreivanje formule za preslikavanje injenica vieg nivoa ne nie nivoe moe biti postupak u kome ponekad dolazi do sporova. 96. Definiite i objasnite pojam tabela transakcija. Postoje tri primarne vrste tabele injenica. Najuobiajenija je tablea transkacija, koja modeluje transakcije kao to su stavke porudbina. Tabele transakcija se esto kombinuju s tabelama snimaka stanja. 97. Definiite i objasnite pojam tabela snimaka stanja. Postoje tri primarne vrste tabele injenica. Tabela snima stanja mjeri vrijednost u odreenim trenutcima tokom vremena. 98. Definiite i objasnite pojam tabela dogaaja. Postoje tri primarne vrste tabele injenica. Table dogaaja je tablea koja moda nee imati nijedan injenini atribut. Tabele dogaaja najee evidentiraju da li se odreeni dogaaj odigrao. 99. Definiite i objasnite pojam heterogene injenice. Postoji konvencija da se u projektovanju dimenzionalnih baza koristi izraz heterogne injenice. Primjenom postupka, pri obradi heterogenih injenica, koji je slian izradi potklasa entiteta u relacionom modelu, heterogene injenice se obrauju pomou vie parova tabela injenica / tabela dimenazija, jedan par na optem nivou ii po jedan par za svaku kategoriju. Heterogene injenice dupliraju osnovne injenice u svakoj tabeli kategorije. Time se izbjegava potreba za spajanjem velikih tabela. 100. Definiite i objasnite pojam struktura tabela dimenzija. Tipina tabela dimenzija je znatno ira od tabele injenica pa ak i od tipine tabele u normalizovanoj bazi podataka. Dok veina tabela injenica ne sadri vie od tri do etiri injenice, a normalizovane baze podataka sa vie od 20 ili 30 atrbuta smatraju se sumnjivim, uobiajene su tabele dimenzija sa pedesetak atributa, a nisu nepoznate ni one sa 100 ili vie atributa. U stvari, to je jedina situacija u kojoj je opracdano prekoraenje grani ce od 255 polja koju namee veina relacionih maina baza podataka. Moda je najbolji primjer ove tvrdnje vremenska dimenzija koja je sastavni dio gotovo svake tabele injenica i predstavlja, na primjer, datum transkacije ili datum snimka stanja.

10

You might also like