Skripta za polaganje stručno-teorijskog predmeta Predmet: Baze podataka Pripremili: Leposava Dulović, JU Srednja elektro - ekonomska škola, Bijelo Polje Vladan Cvijović, JU Srednja stručna škola, Pljevlja Pitanja i odgovori: 1. Objasniti šta je IS (informacioni sistem). Informacionisistem je system koji se bavi prikupljanjem, čuvanjem i obradom podataka i dobijanjem i distribucijom informacija. 2. Navesti funkcije informacionih sistema Funkcije IS su: funkcija informisanja (upravljanje i odlučivanje) i funkcija dokumentovanja (kontrola). 3. Navesti vrste informacionog sistema Vrste IS: sistemiza AOP, upravljački IS, sistemi za strateško planiranje i podršku odlučivanju, ekspertni sistemi, sistemi vještačke inteligencije. Novija podjela IS: operativni IS i sistemi za podršku odlučivanju u menadţmentu Sistemi za podršku odlučivanja u menadzmentusu: 1. Upravljački informacioni sistemi (MIS) 2. Sistemi za podršku odlučivanju (DSS) 3. Ekspertni sistemi (ES) 4. Definisati bazu podataka Baza podataka predstavlja organizovan i ureďen skup meďusobno povezanih podataka na jednom mjestu istovremeno dostupnih većem broju korisnika. 5. Navesti vrste modela podataka
Modeli podataka mogu biti: Relacioni model Hijerarhijski model Mreţni model Objektni model 6. Navesti nivoe arhitekture baze podataka Arhitekture baza podataka sastoji se od tri nivoa: lokalni logički nivo (eksterni nivo) odnosi se na logičku predstavu dijela baze podataka koji koristi aplikacija; to je aspekt koji vidi korisnik ili aplikativni programer; opis jedne logičke definicije zove se pogled ili pod- šema globalni logički nivo (konceptualni nivo) odnosi se na logičku strukturu cijele baze; to je nivo koji vidi administrator baze podataka; opis globalne definicije zove se šema baze podataka fizički nivo (interni nivo) odnosi se na fizički prikaz i raspored podataka na jejedinicama spoljn jedinicama spoljne memorije; to je aspekt koji vide sistemski programeri; raspored čuvanja opisuje kako se elementi logičke definicije baze preslikavaju na fizičke ureďaje. 7. Definisati informaciju Skup obraďenih podataka organizovanih tako da predstavljaju neko saopštenje naziva se informacija. 8. Definisati ključ Kandidat za ključ je atribut ili skup atributa čije vrijednosti jednoznačno odreďuju primjerak entiteta zadanog tipa. Jednoznačni identifikator nekog objekta nazivamo primarni ključ ili ključ. 9. Definisati različite tipove veza Uspostavljanjem veze izmeďu dveju ili više entiteta izraţavamo činjenicu da se ti entiteti nalaze u nekom odnosu. Veza se uvijek definiše na nivou tipova entiteta, no realizuje se povezivanjem pojedinih primjeraka entiteta dotičnih tipova.
10. Definicija je data u odgovoru pod 9. Primjerveze 1:1: Država 11. Navesti primjer i osobine veze 1:N ima glavni grad Spada u grupu jednostavnih veza. Svaki element skupar(1) moze biti povezan sa vise elemenata skupa S(n). Dok svaki element skupas(n) moze biti povezan sa samo jednim elementom skupa R(1). 12. Navesti primjer i osobine veza N:M Jedan primjerak prvog tipa entiteta moţe biti u vezi s 0, 1 ili više primjeraka drugog tipa entiteta, i takoďe jedan primjerak drugog tipa moţe biti u vezi s 0, 1 ili više primjeraka prvog tipa.
13. Definisati pojam relacione algebra Relaciona algebra pripada kategoriji formalnih upitnih jezika. Čini je skup operatora za rad sa relacijama, a rezultati operacija su takoďe relacije. Relaciona algebra je osnova za upitne jezike koje koriste ljudi (komercijalni jezici). U relacionim bazama podataka pojam relacije predstavlja sinonim za tabelu uz odreďena ograničenja. -IzmeĎu atributa tabele (relacije) nesmije postojati funkcionalana zavisnost; -Unutar jedne relacije ne smiju postojati dvije identične n-torke; -Svi atributi unutar jedne tabele moraju imati različita imena; -Redosled n-torki u relaciji je nebitan; 14. Navesti unarne operatore u relacionoj algebra Pod unarnim relacionim operacijama podrazumjevaju se operacije koje se izvršavaju nad pojedinačnom relacijom. To su operacije projekcije i restrikcije. Osim operanda imena relacije, uz ove operacije se navodi još po jedan operand tipa skupa atributa (u slučaju operacije projekcije), odnosno logičkog izraza (u slučaju operacije restrikcije). Projekcija Definicija: iz polazne relacije po zadatom skupu atributa formira se nova relacija kao skup n- torki nad tim atributima. Zadati skup atributa mora biti podskup skupa atributa polazne relacije Vrejednosti atributa u n-torkama nastale relacije odgovaraju onima u polaznoj relaciji Primjenom operacije projekcije moguće je da više n-torki polazne relacije daje iste vrijednosti Pošto rezultat operacije mora biti relacija, uzimaju se samo unikatne n-torke u rezultatu tj. vrste koje se ponavljaju uklanjaju se iz rezultata zato što su relacije skupovi Restrikcija (selekcija, ograničenje) Definicija: iz polazne relacije po zadatom kriterijumu izdvaja se podskup n-torki Kriterijum je neki logički izraz koji je izračunljiv nad svakom n-torkom Dobijena relacija ima istu strukturu kao i polazna
15. Navesti binarne operatore u relacionoj algebra Skup binarnih operacija relacione algebre predstavljaju relacioni analogoni klasičnih skupovnih operacija unije, presjeka, razlike i Dekartovog proizvoda. Unija Definicija: iz dvije polazne relacije formira novu koja sadrţi sve n-torke iz obje relacije Presjek Definicija: iz dvije polazne relacije formira novu koja sadrţi sve n-torke prve relacije koje se nalaze u drugoj relaciji. Ova operacija je moguća samo izmeďu unijski kompatibilnih relacija. Razlika Definicija: iz dvije polazne relacije formira novu koja sadrţi sve n-torke prve relacije koje se ne nalaze u drugoj. Ova operacija je moguća samo izmeďu unijski kompatibilnih relacija. Dekartov proizvod Definicija: iz dvije polazne relacije formira se nova sa n-torkama dobijenim tako što se svaka n- torka prve relacije spaja sa svakom iz druge. Šema nastale relacije sadrţi sve atribute polaznih relacija 16. Opisati spoljnju memoriju računara Jedinice spoljne memorije sluţe za čuvanje programa i podataka kada računar nije u upotrebi. Osim toga za vrijeme rada računara dijelovi programa i podaci koji trenutno nisu u upotrebi privremeno se skladište na jedinicama spoljne memorije. Kapacitet spoljne memorije se izraţava u istim jedinicama kao i kapacitet unutrašnje memorije, odnosno brojem bajtova koji mogu da se uskladište. Karakteristike spoljne memorije: -Vrijeme pristupa-vrijeme potrebno za pristup podatku u memoriji u mili sekundama -Količina podataka- kapacitet memporije (MB;GB;TB) -Protok podataka- količina informacija koju moţemo prebaciti sa medija u jedinici vremena (kb/s,mb/s) Jedinice spoljne memorije su: -Tvrdi disk(hard disk); -Disketa(floppy disk);
-Kompakt disk(cd,dvd); -Fleš disk(flash) ili SSD (Solid State Disk) 17. Objasniti pojam datoteke Datoteka (fajl) je imenovani, strukturirani skup podataka sadrţajno vezanih, sačuvanih na mediju za memorisanje. Podaci memorisani u datotekama se čuvaju i nakon prestanka rada odreďenog programa kome pripadaju. Rastom broja datoteka u računarskim sistemima, nastaje sve veća potreba da se datoteke organiziraju koristeći razne metode koje su prvo bile razvijene u bibliotekarstvu. Organizacija se moţe ostvariti kroz operativni sistem, ili radom posebnih aplikacija u cilju zadovoljavanja sledećih potreba: čuvanje i čitanje datoteka mijenanje sadrţaja i brisanje kategorisanje sigurnost trajnost mogućnost revizije i povratka izgubljenog Unutar operativnog sistema svaka datoteka ima svoje ime i format, koje je izraţeno u obliku <ime>.<format>. Način na koje je ime kreirano, njegova duţina ograničena je odlukama dizajnera operativnoh sistema. Isto vaţi i za format. 18. Definisati osnovnu operaciju sa spoljnjom memorijom računara Osnovne operacije sa spoljnom memorijom računara su: upis, čuvanje, čitanje, mijenjanje, brisnje sadrţaja koji je na njoj sačuvan. 19. Definisati buffer Baferi (engl. buffers) su dijelovi RAM memorije koje neki programi alociraju (rezervišu) za svoje potrebe. Jedna od čestih primjena je prilikom ulaza i izlaza podataka. Ako računar ne moţe dovoljno brzo da obraďuje podatke koji mu pristiţu on ih trenutno deponuje u bafer, dok ne stignu na obradu da se ne bi prekidao proces unošenja. Slično, ako štampač ne moţe da dovoljno brzo odštampa podatke on ih šalje u bafer (spooler) gdje čekaju u red za štampu. 20. Nabrojati tipične operacije nad datotekama Tipične operacije koje se obavljaju nad datotekom su: ubacivanje novog fajla,zapisa, promijena zapisa, promjena imena zapisa, brisanje zapisa, pretrazivanje zapisa.
21. Navesti prednosti i mane indeks sekvencionalne organizacije u odnosu na indeks direktnu organizaciju Prednosti indeks-sekvencijalne organizacije je da ona omogućuje prilično brz pristup na osnovu ključa, ipak malo sporiji nego hash-datoteka. Zaista, da bismo pronašli zapis sa zadatom vrijednošću ključa k, čitamo indeks, saznajem adresu odgovarajućeg bloka iz osnovne datoteke i direktno pristupamo tom bloku. Dalja prednost indeks-sekvencijalne organizacije je da ona omogućuje čitanje svih zapisa osnovne datoteke sortirano po ključu u tu svrhu slijedimo adrese blokova redoslijedom kako su upisane u indeksu. TakoĎe, moguće je lako pronaći zapise gdje je vrijednost ključa u nekom intervalu. Dakle indeks-sekvencijalna datoteka predstavlja dobar komprom isizmeďu jednostavne i hash-datoteke pa je to razlog zašto je ona toliko popularna. Nedostatak je indeks-sekvencijaln eorganizacije da se kod nje znatno komplikuju operacije ubacivanja, mijenjanja ili izbacivanja podataka. Naime, svaka promjena u osnovnoj datoteci zahtijeva da se provede i odgovarajuća promjena u indeksu. TakoĎe, indeks je sam po sebi sloţena struktura koja troši dodatni proctor na disku. Indeks-direktna organizacija dopušta da zapisi u osnovnoj datoteci budu upisani u proizvoljnom redoslijedu. Dodajemo tzv. gustiindeks. Svaki zapis u indeksu odgovara jednom zapisu osnovne datoteke i oblika je (k, a), gdje je k vrijednost ključa u dotičnom zapisu osnovne datoteke, a je pointer adresa zapisa izosnovne datoteke. Za razliku od ne sortirane osnovne datoteke, indeks je sortiran po ključu. Zamišljamo da je indeks jednostavno organizovan.prednost indeks-direktne organizacije u odnosu na indeks-sekvencijalnu je jednostavnije ubacivanje i izbacivanje. TakoĎe, manje je rasipanje memorije u osnovnoj datoteci. Dalja prednost je mogućnost odgovora na pitanje da li postoji zadata vrijednost ključa, bez da uopšte čitamo osnovnu datoteku. Mana indeks-direktne organizacije je: znatno veći indeks. 22. Navesti prednosti i mane indeksirane baze podataka Svaki zapis u indeksu odgovara jednom zapisu osnovne datoteke i oblika je (k, a), gdje je k vrijednost ključa u dotičnom zapisu osnovne datoteke, a je pointer adresa zapisa iz osnovne datoteke. Za razliku od nesortirane osnovne datoteke, indeks je sortiran po ključu. Zamišljamo da je indeks jednostavno organizovan. Prednost indeks-direktne organizacije u odnosu na indekssekvencijalnu je jednostavnije ubacivanje i izbacivanje. TakoĎe, manje je rasipanje memorije u osnovnoj datoteci. Dalja prednost je mogućnos todgovora na pitanje da li postoji zadata vrijednost ključa, bez da uopšte čitamo osnovnu datoteku. Mana indeks-direktne organizacije je: znatno veći indeks. 23. Objasniti promjenu strukture tabele ALTER TABLE Mijenja dizajn tabele kreirane pomoću izraza CREATE TABLE. Sintaksa
Tabela- ime tabele koja se mijenja Polje - Imepoljakoje se dodaje u tabeluilibrišeiznje. Odnosnoimepoljakoje se mijenja u tabeli Tip tip podatka polja Index index za polje Indeksvišepolja - definicijaindeksazavišepoljakoji se dodaje u tabelu. imeindeksa- Imeindeksazavišepoljakoji se uklanja. 24. Objasniti unos podataka Unos novih podataka vrši se preko naredbe INSERT. Sintaksa: INSERT INTO ime tabele [listaartibuta] VALUES [listavrijednosti]
Uz napomenu da se ovom naredbom odjednom u tabelu (relaciju) mogu unijeti vrijednosti atributa samo jedne n-torke. Podrazumijeva se dodavanje na kraju tabele, jer redosled navoďenja n-torki u relaciji nije bitan. Za ubacivanje vrijednosti svih atributa jedne n-torke, nije potrebno specificirati nazive atributa. 25. Objasniti selekciju podataka SELECT Naredba SELECT sluţi za izdvajanje, sortiranje i grupisanje podataka. Osnovna sintaksa naredbe SELECT je: SELECT naziv atributa FROM ime tabele WHERE uslov 26. Objasniti sortiranje Sortiranje u naredbi SELECT se moţe vršiti u rastućem ili opadajućem poretku po zadatom kriterijumu: SELECT ime atributa FROM ime tabele WHERE uslov ORDER BY ime atributa [ASC/DESC] 27. Objasniti kreiranje nove baze podataka CREATE DATABASE Kreiranje nove baze podataka vrši se zadavanjem naredbe CREATE DATABASE ime baze, a zatim se kasnije u njoj kreiraju tabele, definišu tipovi podataka i ograničenja. 28. Navesti matematičke operatore u SQL jeziku Matematićki operatori u SQL-u se koriste u SELECT naredbi u oviru uslova koji je dat matematičkim izrazom. Koriste se operatori +, -, /, *. Npr.SELECTIme, Prezime, Plata + 5000 AS PlataSaBonusom FROM RADNIK WHERE Plata + 5000 > 40000; 29. Navesti logičke operatore u SQL jeziku SQL omogućava korišćenje standardnih logičkih operatora AND, OR i NOT, ali i operatore IN i BETWEEN koji omogućavaju jednostavnije korišćenje prethodno navedenih operatora u nekim slučajevima. Prioritet logičkih operatora je sledeći: NOT, AND, OR. Npr. SELECT * FROM RADNIK WHEREPrezime = "Petrović" AND Plata >= 40000 30. Navesti operatore jednakosti u SQL jeziku Operator jednakosti = u SQL-u koristi se u okviru naredbe SELECT u uslovnom izrazu koji stoji posle sluţbene riječi WHERE. Npr. SELECT * FROMODELJENJE WHERE IME='ODJECA'; Operatori jednakosti se koriste da uporedimo dvije vrijednosti. Rezulatati poreďenja mogu biti true, false ili unknown.
31. Navesti komponenete informacionih sistema Hardware čini materijalno-tehnička komponenta informacionog sistema, odnosno fizičke jedinice računarskog sistema namjenjene obradi i prenosu podataka; Software računarskog sistema, predstavlja nematerijalnu komponentu informacionog sistema u vidu računarskih programa koji su ugraďeni u hardver i koji diktiraju način obrade podataka; Dataware ili podaci, ovu komponentu obuhvataju podaci, informacije i znanja, shvaćeni kao informacioni resursi; Lifeware ili kadrovsku komponentu, čine svi ljudi koji u bilo kojoj funkciji učestvuju u radu sainformacionim sistemom, bilo kao profesionalni informatičari, bilo kao korisinici rezultata obrade podataka; Orgware ili organizaciona komponenta, obuhvata organizacione postupke, metode i načine kojima se usklaďuje, tj. koordinira rad svih komponenata informacionog sistema, kako bi one činile skladnu i funkcionalnu cjelinu; Netware ili mreţna komponenta se odnosi na računarske mreţe za povezivanje računara u cilju razmjene podataka i komunikacija izmeďu fizički udaljenih računara. 32. Definisati DBMS Sistem za upravljanje bazom podataka(data Base Management System), je server baze podataka. On oblikuje fizički prikaz baze u skladu sa traţenom logičkom strukturom, obavlja operacije sa podacima.dosadašnji DBMS-i obično su podrzavali neki od sledećih modela: relacijski, mrežni, hijerarhijski, objektni. 33. Definisati model podataka Model podataka je skup pravila koja odreďuju kako moţe izgledati logička struktura baze i čini osnovu za koncipiranje, projektovanje i implementiranje baze. 34. Navesti jezike za rad sa bazama podataka Jezici za rad sa bazama podataka su: Jezik za opis podataka-ddl Jezik za manipulaciju -DML Jezik za postavljanje upita-ql Kod relacionih baza-sql.
35. Navesti šta su operativni informacioni sistemi Informacioni sistemi koji su namjenjeni za obradu podataka nastalih u poslovnim i tehnološkim procesima i koji obezbjeďuju podatke i informacije za poslovne operacije, nazivaju se operativnim informacionim sistemima. Uloga ovih sistema je podrška unapreďenju i efikasnom izvršavanju poslovnih transakcija, kontrola tehnoloških procesa, automatizacija poslova u kancelarijama, podrška u kreiranju, distribuciji i korišćenju znanja, podrška komunikaciji i saradnji u organizaciji, formiranje i odrţavanje integralne baze podataka organizacije. 36. Navesti šta su sistemi za podršku odlučivanju u menadžmentu Smatara se da je concept sistema za podrsku u odlučivanju nastao kao rezultat teorijskih istraţivanja organizacionog donosenja odluka tokom ranih 60 tih godina i kao rezultat rada sa kompjuterskim sistemima sredinom 60 tih god. Primjena prvih sistema za podrsku odlučivanju ogledala se u pronalaţenju načina da kompjuteri primjenjeni na analitički model pomognu menadţerima u donosenju ključnih odluka. Tokom vremena sistemi za podrsku u odlučivanju su se pokazali kao nezamjenjiv alat u procesima donošenja odluka o problemima poslovnih sistema. Dakle sistemi za podrsku u odlučivanju imaju zadatak da pruţaju pomoć pri donošenju odluka, ali sa naglaskom na rješavanju nestrukturiranih ili slabo struktutiranih problema. 37. Definisati pojam entiteta Entitet je nešto u čemu ţelimo čuvati podatke, nešto što je u stanju postojati ili nepostojati, te se moţe identifikovati. Entiteti fizički predstavljaju tabele u bazi podataka. Entiteti su objekti (auto, kuća, student...). 38. Definisati pojam atributa Svaki entitet je opisan atributima, npr. entitet auto je opisan atributima: marka, naziv, motor, vrsta... Ukoliko neki od atributa, sam za sebe zahtijeva opis atributima, potrebno ga je definisati kao novi entitet. Isto vaţi ako atribut moţe istovremeno imati više vrijednosti. Atributi fizički predstavljaju kolone u tablicama u bazi podataka. 39. Definisati opisne atribute i identifikatore Atributi su zajedničke osobine koje posjeduju svi entiteti jednog skupa entiteta. Pošto se entiteti odnosno objekti realnog svijeta predstavljaju relacijom, atributi predstavljaju svojstva te relacije. Nakon selekcije atributa koji se koriste za opisivanje svojstava entiteta, moguće je razllikovati dvije vrste atributa: 1. opisne (atributivne) i
2. identifikacijske (ključne). Skupove atributa ćije vrijednosti jednoznacno odredjuju entitet u posmatranom skupu entiteta nazivamo IDENTIFIKATORIMA ili ključevima skupa entiteta. 40. Nacrtati E-R (Objekat -Veza) dijagram Veza (relationship) pokazuje odnos izmeďu entiteta. Analogno entitetima, pojedinačna veza uspostavlja se na nivou instanci entiteta, a veze se grupišu u skupove veza (relationship sets). Kada se ne razmatraju instance, pojam veza podrazumijeva skup veza. Primjer: Veza i uloge: Osoba STANUJE u Mjestu (Osoba je STANOVNIK Mjesta), u Mjestu STANUJE Osoba (Mjesto je MJESTO STANOVANJA Osobe). 41. Navesti složene veze U sloţene veze spadaju involuirana, ternarna, veza podtip i veza nadtip. 42. Definisati složene veze Involuirana veza povezuje jedan tip entiteta s istim tipom. Njeno se stanje opisuje kao skup ureďenih parova primjeraka entiteta istog tipa koji su povezani. Funkcionalnost takve veze moţe biti 1:1, 1:M, odnosno M:M. Ternarnaveza uspostavlja se izmeďu tri tipa entiteta. Stanje ternarne veze opisuje se kao skup ureďenih trojki primjeraka entiteta koji su trenutno povezani. Svojstva ternarne veze teţe je opisati nego kod binarne veze, jer postoji više vrsta funkcionalnosti i više kombinacija za obaveznost članstva. Zaistu vezu mogu se promatrati tri kardinalnosti, tako da se najedan od tri načina odaberu dva od tri tipa entiteta, fiksiraju se primjerci entiteta odabranih dvaju tipova te se gleda broj primjeraka trećeg tipa koji su u vezi s dva fiksirana primjerka. Ternarna veza prikazuje se na dijagramu slično kao binarna, dakle kao romb s upisanim imenom veze. Razlika je u tome što iz rumba izlaze tri spojnice prema odgovarajućim pravougaonicima, a nedvije. Tip entiteta E1 je podtip tipa entiteta E2 ako je svaki primjer ako od E1 takoďe i primjerak od E2. Pritom E1 naslijeďuje sve attribute od E2, no E1 moţe imati i dodatne atribute. 43. Objasniti kako se vrši transformacija veze 1:1 Veze tipa 1:1 po pravilu nemaju obieljeţja. Sva obeleţja koja bi eventualno mogla biti pripisana samoj vezi, zapravo su obiljeţja jednog od objekata koji čine tu vezu. Dakle, mogu biti
pripisana tom objektu, a time postati obiljeţja šeme relacije kojom se taj tip objekta predstavlja. 1.Vezu sa kardinalnošću (1,1) : (1,1) i oba objekta koji u njoj učestvuju prevodimo u Jednu šemu relacije, čija su obiljeţja sva obljeţja jednog i drugog objekta. Kandidat za ključ u ovoj šemi relacije suidentifikatori jednog i drugog objekta koji su u vezi. 2.Vezu sa kardinalnošću (0,1) : (1,1) i objekte u vezi prevodimo u dvije šeme relacije. Za Svaki objekat u vezi po jedna šema relacije (prema već definisanom pravilu 1.1), s tim što se identifikator jednog od objekta koji su u vezi ubaci za obiljeţje druge šeme relacije. Dakle, veza se prestavlja spoljnim ključem. Šemu relacije u koju ćemo uvrstiti spoljni ključ biramo tako da relacija sadrţi što manje nula vrijednosti i da njeno korišćenje bude što efikasnije. 3. Za vezu sa kardinalnošću (0,1) : (0,1) kreiraju se tri šeme relacije. Po jedna za svaki objekat (prema već definisanom pravilu 1.1) i jedna za vezu. Obeljeţja u šemi relacije koja odgovaraju vezi su i identifikatori objekata koji su u vezi i oba su kandidati za ključ.
44. Objasniti kako se vrši transformacija veze 1:N 1. Veze sa kardinalnošću (1,1) : (0,M) i (1,1) : (1,M) ne postaju posebne šeme relacija. Identifikator objekta sa strane za koju je gornja granica cardinal i teta preslikavanja GG =M postaje obiljeţje šeme relacije koja odgovara objektu sa strane za koju je GG = 1. 2. Veze sakardinalnošću (0,1) : (0,M) i (0,1) : (1,M) postaju posebne šeme relacija. Obiljeţja ove šeme relacije su identifikatori objekata koji su u vezi, a ključ šeme relacije je identifikator objekta za koji je GG = 1. 45. Objasniti kako se vrši transformacija veze N:M Veze sa kardinalnošću preslikavanja (0,M) : (0.N), (1,M) : (0,N) i (1,M) : (1,N) postaju posebne šeme relacija. Obiljeţja ove šeme relacije su identifikatori objekata koji su u vezi, a ključ šeme relacije je sloţeni ključ koji se sastoji od identifikatora objekata koji su u vezi.
46. Navesti skupovne operatore Operatori IN i BETWEEN u naredbi SELECT naredbi označavaju pripadnost nekom skupu vrijednosti ili interval koji se zadaje u uslovnom izrazu poslije sluţbene riječi WHERE. Npr. SELECT IME FROMKUPAC WHEREDRZAVA IN('CA', 'TX'); Npr.SELECT IME,KREDIT_LIMIT FROM KUPAC WHERE KREDIT_LIMIT BETWEEN 3000 AND 8000; 47. Navesti kada se mogu primjenjivati i konstruisati operatori nad skupovima Operatori nad skupovima se mogu konstruisati i primjenjivati kada je vrijednost nekog atributa data listom ili intervalom u uslovnom izrazu. 48. Navesti kada se najčešće koristi vanjski spoj Vanjski spoj je primjenjiv pod istim uslovima kao i prirodni spoj, ali sadrţaj R outer join S je nešto bogatiji nego R join S. Relacija pored svih n-torkiiz R join S sadrţi i sve nesparene n- torke iz R, odnosno S. 49. Navesti kada se može koristiti prirodni spoj Prirodni spoj omogućava nam da bazi podataka odgovorimo na sloţenije upite koji zahtijevaju uspostavljanje veza izmeďu podataka u raznim tabelama. 50. Objasniti smještanje datoteke u spoljnju memoriju računara Zapis je obično znatno manji od bloka. Stoga se više zapisa grupiše u jedan blok.uzimamo da je u bloku smješten cijeli broj zapisa, što znači da je dio bloka moţda ne iskorišten. Adresa zapisa gradise kao ureďeni par (adresa bloka, pomak unutar bloka). Kod nekih organizacija datoteka mogu neka mjesta za zapise u bloku ostati prazna. Kako da razlikujemo puna i prazna mjesta? Jedno rješenjeje: proširiti zapis s jednim bitom koji označava da li je mjesto puno ili prazno. Koji put je potrebno poništiti zapis (učiniti ga nevaţećim), ali tako da njegovo mjesto i dalje bude zauzeto. Kako da razlikujemo vaţeće i ne vaţeće zapise? Opet proširimo zapis jednim bitom koji označava da li zapis vaţi ili ne vaţi.cijela datoteka obično zauzima više blokova, način kako se odreďuju adrese tih blokova zavisi od organizacije datoteke. Ne mora se raditi o nizu uzastopnih adresa. Zbog pisanja i brisanja podataka, spoljna memorija se prije ili kasnije izdijeli, pa smo prisiljeni da koristimo njene nepovezane dijelove. 51. Objasniti organizaciju jednostavne datoteke Svaka dadoteka moze se organizovai na razne načine. Da bi procijenili koja je organizacija najbolja moramo procijeniti za šta ce nam baza sluţiti. Ako je dadoteka mala najpogodnija je jednostavna organizacija. Zapisi su u toj organizaciji silazno sortirani. U jednom bloku staje najviše 12 zapisa. Novi zapis se ubacuje na pravo mjesto u sortiranom rasporedu.
52. Navesti razliku između indeks sekvencionalne i indeks direktne organizacije Senkvencionalne organizacije su slogovi na mediju za dadoteke fizički smještene jedna iza druge po redosledu u kojim je dadoteka kreirana i istim redosledom se mogu obraďivati. Dadoteka se sortira po ključu, a čitanje se vrši fizički u rastućem ili opadajućem redosledu ključa. Indeks-senkvencionalne dadoteke - Kod ovih datoteka postoji indeks koji omogućava brzi pristup pojedinom sloju iz datoteka. Ova datoteka se dijeli na područije indeksa i područije podatka. Slogovi u području podataka su poreďani sekvencijalno, a indeksi omogućavaju direktan pristup bilo kom slogu. Slogovi se drţe sortirani po ključu a pristupa im se selektivno - preskaču se grupe slogova koji se ne traţe, što se postiţe korišćenjem jednog ili više indeksa koji se konsultuju pre nego što se pristupi isčitavanju samih podataka radi nalaţenja pojedinačnog traţenog sloga. (Traţi se direktan pristup na osnovu primarnog ključa i nakon toga dolazi do čitanja zapisa kako su oni sortirani po redosledu ključa. Zapisi su uzlazno sortirani po ključu. U jednom bloku stoji najvise 10 zapisa. Indeks-Direktna organizacija dadoteke - Kod direktne organizacije dadoteke vrši se direktno čitanje na bazi vrijednosti ključa uz odgovarajući algoritam. Svaki slog se memoriše na adresu koja se izvodi iz vrijednosnog ključa. 53. Definisati integritet podataka Integritet je stanje baze podataka u kojem su sve vrijednosti podataka korektne u smislu da oslikavaju stanje realnog svijeta i da poštuju pravila uzajamne konzistentnosti (trajnost, stabilnost). Bezbjednost baze podataka podrazumjeva sprečavanje ili zaštitu od: - neovlaštenog pristupa podacima - namjernog i neovlaštenog uništavanja ili mijenjanja podataka Čuvanje integriteta. Nastoji se automatski sačuvati korektnost podataka, i to u situaciji kad postoje greške u aplikacijama, te konfliktne istovremene aktivnosti korisnika 54. Navesti nominalne forme Postoje prva, druga, treća, Boyce-Codd-ova, četvrta nominalana forma. 55. Navesti razloge kada je potrebno odustati od pune normalizacije baze podataka Za većinu praktičnih primjera dovoljno je relacije normalizovati do 3NF. Nekad je potrebno neku relaciju i dalje normalizirati do BCNF ili 4NF. Peta normalna forma, koja se takode navodi u literaturi, nije od praktičnog značaja. Postoje razlozi zbog kojih sa razlogom moţemo odustati od pune normalizacije. Navešćemo dva takva razloga.
Složeni atribut. DogaĎa se da nekoliko atributa u relaciji čine cjelinu koja se u aplikacijama nikad ne rastavlja na sastavne dijelove. Na primjer, posmatramo relaciju KUPAC ( PREZIME IME, POšTANSKI BROJ, GRAD, ULICA ). Strogo govoreći, GRAD je funkcionalno zavisan od POšTANSKI BROJ, pa relacija nije u 3NF. No mi znamo da POšTANSKI BROJ, GRAD i ULICA čine cjelinu koja se zove adresa. Budući da se podaci iz adrese koriste i aţuriraju u paketu, ne moţe doći do anomalija. Nije preporučljivo razbijati ovu relaciju na dvije. Efikasno čitanje podataka. Normalizacijom se velike relacije razbijaju na mnogo manjih. Kod čitanja je često potrebno podatke iz malih relacija ponovo sastaviti u veće n-torke. Uspostavljanje veza meďu podacima u manjim relacijama traje znatno duţe nego čitanje podataka koji su već povezani i upisani u jednu veliku relaciju. Projektant baze podataka treba procijeniti kada treba provesti normalizaciju do kraja a kada ne. Za tu procjenu je vaţno je razumijevanje značenja podataka i načina kako će se oni koristiti. 56. Navesti indekse Indeks je mala pomoćna datoteka koja olakšava traţenje u velikoj (osnovnoj) datoteci. Postoje dvije varijante datoteke s indeksom.osnovni indeksi su Indeks sekvencijalna organizacija i Indeks-direktna organizacija 57. Definisati tipove podataka u SQL-u SQL jezik sluzi za definisanje podataka, manipulisanje i pretrazivanje. To su: DOUBLE-Vrijednost datuma ili vremena. FLOAT-Vrijednosti dvostruke preciznosti sa pokretnim zarezom. SMALLINT-Kratak cio broj izmeďu -32 768 i 32 767. INTEGER-Dugačak cio broj -2 147 483 648 i 2 147 483 647. BINARY-Polje ovog tipa moţe da sadrţi bilo koji tip podataka. REAL-Vrijednost jednostruke preciznosti sa pokretnim zarezom DECIMAL-Tačan numerički tip podataka koji sadrţi vrijednosti od 1028-1 do -1028-1. Moţete definisati preciznost i razmjeru. 58. Objasniti formiranje tabele CREATE TABLE Sve tabele u bazi podataka moraju se formirati u nekom trenutku. Pogledajmo kako bi na primjer formirali tabelu Porudţbine:
CREATE TABLE PORUDŢBINE (IDVLASNIKA INTEGER NOT NULL, ŢELJENIKOMAD CHAR(40) NOT NULL); Ovom naredbom daje se ime tabeli i opisuje svaka kolona u tabeli. Obratite paţnju da se u ovoj naredbi koriste generički tipovi podataka i da oni mogu biti različiti zavisno od korišćenog sistema za upravljanje bazama podataka. Kao i obično, provjerite dokumentaciju svog sistema. 59. Navesti uslovne izraze U SQL-u postoji šest relacionih operatora: = - Jednako < ili!= - Različito < - Manje > - Veće <= - Manje ili jednako >= - Veće ili jednako 60. Objasniti oblikovanje izlaznih rezultata Glavni rezultat oblikovanja trebala bi bila šema cijele baze, graďena u skladu s pravilima raďenog modela podataka i zapisana na način da se raďeni DBMS moţe razumjeti i realizovati. Kod većih baza, rezultat oblikovanja mogu takoďe biti i pogledi (podšeme) za potrebe pojedinih vaţnijih aplikacija. Budući da je oblikovanje prilično sloţena aktivnost, ona se obično dijeli u tri faze koje slijede jedna iza druge: Konceptualno oblikovanje, Logičko oblikovanje, Fizičko oblikovanje. 61. Faze životnog ciklusa baze podataka su: Analiza potreba Modeliranje podataka Implementacija Testiranje Odrţavanje 62. Funkcija dokumentovanja - za sve aktivnosti organizacije neophodno je obezbijebediti dokumentacionu podlogu putem informacionog sistema. Dokumentaciona podloga, odnosno dokumentacija, je rezultat potreba i zahtijeva subjekata iz okruţenja, jer ona čini kontrolu i razmjenu informacija uopšte. TakoĎe je
neophodno obezbijediti mogućnost revizije poslovanja u svakom trenutku kako bi se mogli rekonstruisati poslovni dogaďaji. Ovo je naročito značajno kod informacionih sistema kod kojih se kontiranje i knjiţenje poslovnih dogaďaja obavlja automatizovano. 63. Jezik za opis podataka DDL - Data Description Language sluţi projektantu baze ili administratoru u svrhu zapisivanja šeme ili pogleda. Dakle tim jezikom definišemo podatke i veze meďu podacima, i to na logčkom nivou. Naredbe DDL obično podsijećaju na naredbe za definisanje sloţenih tipova podataka u jezicima poput COBOL, C, Pascal. 64. Jezik za manipulaciju podacima DML- Data Manipulation Language sluţi programeru za uspostavljanje veze izmeďu aplikativnog programa i baze. Naredbe DML omogućuju manevrisanje po bazi, kao i jednostavne operacije kao što su upis, promjena, brisanje ili čitanje zapisa. U nekim softverskim paketima, DML je zapravo biblioteka potprograma: naredba u DML svodi se na poziv potprograma. U drugim paketima zaista se radi o posebnom jeziku: programer tada piše program u kojem su izmiješane naredbe dvaju jezika, pa takav program treba prevoditi sa dva prevodioca (DML- prekompajler, obični kompajler). 65. Jezik za postavljanje upita Query Language QL sluţi neposrednom korisniku za interaktivno pretraţivanje baze. To je jezik koji podsijeća na govorni (engleski) jezik naredbe su neprocedu ralne, dakle takve da samo specificiraju rezultat koji ţelimo dobiti, a ne i postupak za dobijanje rezultata. 66. Relacioni model baza podataka Se zasniva na skupu pravougaonih tabela ili relacija. Pojmovi u relacionom modelu su stepen relacije, n-torka, kardinalnost, atribut i domen. 67. nije u katalogu znanja 68. Funkcije u bazama podataka Funkcija u MS Access-u je deo programa koji transformiše odreďene podatke na osnovu odreďenog alogrotima u novi podatak. Funkcija Funkcija DAVERAGE Funkcija Opis Daje prosek izabranih stavki baze podataka Broji ćelije koje sadrţe brojeve u bazi podataka
DCOUNT Funkcija DCOUNTA Funkcija DGET Funkcija DMAX Funkcija DMIN Funkcija DPRODUCT Funkcija DSTDEV Funkcija DSTDEVP Funkcija DSUM Funkcija DVAR Funkcija DVARP Broji ćelije u bazi podataka koje nisu prazne Izdvaja iz baze podataka jedan zapis koji zadovoljava zadati kriterijum Daje maksimalnu vrednost izabranih stavki baze podataka Daje minimalnu vrednost izabranih stavki baze podataka Mnoţi vrednosti u odreďenom polju iz zapisa koje zadovoljavaju kriterijum baze podataka Procenjuje standardno odstupanje na osnovu uzorka izabranih unosa baze podataka Izračunava standardno odstupanje na osnovu ukupne populacije izabranih stavki u bazi podataka Sabira brojeve u koloni polja zapisa u bazi podataka koji zadovoljavaju kriterijum Procenjuje varijansu na osnovu uzorka izabranih unosa baze podataka Izračunava varijansu na osnovu ukupne populacije izabranih stavki u bazi podataka 69. Objasniti procedure u bazama podataka Postoje dvije osnovne vrste procedura - sistemske procedure i korisnički definisane procedure baze podataka. a) Sistemske procedure U SQL Serveru, mnoge administrativne i informativne aktivnosti mogu se obavljati pomoću sistemskih procedura. Svaki put kada se doda ili izmeni tabela, napravi rezervna kopija baze podataka (backup), kreira login, korisnik, dodeljuju korisnička prava ili obavljaju druge administratorske aktivnosti, zapravo se pozivaju sistemske procedure specijalno napisane da izvrše ţeljenu aktivnost. Sistemske procedure imaju prefiks sp_ i čine deo SQL Server instalacije. Čuvaju se u master bazi podataka i dostupne su za korišćenje u bilo kojoj bazi podataka. b)korisnički definisane procedure Korisnički definisana procedura je svaki program napisan od strane korisika u SQL Server okruţenje čiji je prevashodni zadatak aţuriranje sadrţaja nekih tabela na osnovu obraďenog sadrţaja drugih tabela. Za razliku od sistemskih procedrua, korisnički definisane procedure se čuvaju u lokalnoj bazi i samo su u njoj dostupne za korišćenje.
70. Objasniti selekciju Selekcija ili restrikcija je unarna operacija relacione algebra koja se izvršava nad relacijom i rezultat je relacija. Primjer: student(brind#, Ime, Prezime, Grad, Ulica, Telefon) σbrind= 125/2008 (student) 71. Objasniti projekciju Definicija: iz polazne relacije po zadatom skupu atributa formira se nova relacija kao skup n- torki nad tim atributima. Zadati skup atributa mora biti podskup skupa atributa polazne relacije Vrijednosti atributa u n-torkama nastale relacije odgovaraju onima u polaznoj relaciji. Primjenom operacije projekcije moguće je da više n-torki polazne relacije daje iste vrijednosti. Pošto rezultat operacije mora biti relacija, uzimaju se samo unikatne n-torke u rezultatu tj. vrste koje se ponavljaju uklanjaju se iz rezultata zato što su relacije skupovi. Rezultat primjene je podskup kolona relacije, uz uklanjanje duplikata. 72. Objasniti Kartezijev proizvod Za to nam je potrebno napraviti Kartezijev produkt relacije STUDENT sa samom sobom. Da ne bi došlo do pometnje s imenima atributa, specijalnim operatorom aliases uvodimo pseudonim (drugo ime, nadimak) za relaciju STUDENT: TEMP aliases STUDENT, PAIRS := ( (TEMP times STUDENT) where ( (TEMP.LEVEL = STUDENT.LEVEL) and (TEMP.SNO < STUDENT.SNO)) ) [TEMP.SNAME, STUDENT.SNAME]. DO NOT TAKE SNO CNO 876543 312 876543 121 856434 216 856434 312 856434 251 876421 216 876421 251
876421 121 PAIRS TEMP.SNAME Hughes STUDENT.SNAME Jones 73. Objasniti prirodan spoj Prethodno spajanje daje jedan suvišan atribut, zato što su vrijednosti atributa po kojima se vrši spajanje uvijek iste. Nepotrebni atribut se eliminiše dodatnom operacijom projekcije. Navedeni slučaj je čest u praksi, pa je uvedena specijalna operacija prirodnog spajanja: Podrazumjeva sekvencu tri elementarne operacije Dekartov proizvod relacija Restrikciju po uslovu jednakosti atributa Projekcija po razlici unije svih atributa i skupa spojnih atributa iz bilo koje od relacija 74. Objasniti dijeljenje Najsloţenija operacija relacione algebre. Operacija djeljenja daje one vrijednosti X u r koje u kombinaciji sa Y pokrivaju skup vrijednosti zadat relacijom s. Dijeljenje se ne moţe izvesti sa proizvoljnim tabelama. Za A/B potrebno je da se svi atributi relacije B nalaze u relaciji A. 75. Objasniti vanjski spoj Spoljni spoj (outer join) je binarni operator vrlo sličan prirodnom spoju. Primjenjiv je pod istim uslovima i daje kao rezultat relaciju s istom graďom (šemom). No sadrţaj od R outerjoin S je nešto bogatiji nego sadrţaj R join S. Naime, pored svih n-torki iz R join S, relacija R outerjoin S sadrţi i sve nesparene (nespojene) n-torke iz R odnosno S (s time da su te nesparene n-torke na odgovarajući način proširene null vrijednostima). R S A B C B C D a1 b1 c1 b1 c1 d1 a2 b1 c1 b1 c1 d2 a3 b2 c2 b2 c3 d3 a4 b2 c3 R outerjoin S A B C D
a1 b1 c1 d1 a1 b1 c1 d2 a2 b1 c1 d1 a2 b1 c1 d2 a4 b2 c3 d3 a3 b2 c2 76. Definisati pointere (pokazivače) Pointer je vrijednost unutar jednog zapisa koja pokazuje na neki drugi zapis (u istoj ili drugoj datoteci).pointer moţe biti: adresa zapisa ( fizički pointer), vrijednost primarnog ključa ( logički pointer). Pointeri omogućuju uspostavljanje veze izmeďu zapisa, dakle oni omogućuju da iz jednog zapisa pristupimo drugom. Pointer-adresa omogućuje brzi pristup. Pointer-ključ je spor - on samo implicitno odreďuje zapis kojeg tek treba pronaći nekim mehanizmom za traţenje na osnovu ključa. Prisustvo pointera-adrese moţe uzrokovati probleme kod aţuriranja ili reorganiziranja datoteke. 77. Definisati pristup na osnovu primarnog ključa Vaţna operacije u radu sa datotekama je pristup pomoću primarnog kljuca. Tj. za zadatu vrijednost primarnog ključa treba odrediti adresu(najviše jednog) zapisa koji ima tu zadatu vrijednost ključa. 78. Objasniti organizaciju Hash datoteke Primjer hash funkcije: -vrijednosti ključa posmatraju se kao nizovi bitova fiksne duţine; -zadati niz bitova se podijeli na skupine fiksne duţine, s time da se zadnja skupina dopuni nulama ako je potrebno; - skupine bitova se saberu kao cijeli brojevi; - zbir se podijeli s brojem članova; - ostatak kod dijeljenja je traţeni redni broj članova. 79. Objasniti indeks sekvencijalnu organizaciju Indeks sekvencijalna organizacija zahtijeva da zapisi u osnovnoj datoteci budu sortirani po vrijednostima ključa (na primjer uzlazno). Blokovi ne moraju biti sasvim popunjeni. Dodajemo tzv.razreďeni indeks. Svaki zapis u indeksu odgovara jednom bloku osnovne datoteke i oblika je (k, a), gdje je k najmanja vrijednost ključa u dotičnom bloku, a je adresa bloka. Sam indeks je takoďe sortiran po ključu i za sada zamišljamo da je jednostavno organizovan.
80. Objasniti indeks direktnu organizaciju Indeks-direktna organizacija dopušta da zapisi u osnovnoj datoteci budu upisani u proizvoljnom redosledu. Dodajemo tzv. gusti indeks. Svaki zapis u indeksu odgovara jednom zapisu osnovne datoteke i oblika je (k, a), gdje je k vrijednost ključa u dotičnom zapisu osnovne datoteke, a je pointer adresa zapisa iz osnovne datoteke. Za razliku od nesortirane osnovne datoteke, indeks je sortiran po ključu. Zamišljamo da je indeks jednostavno organizovan. Cijela organizacija prikazana je na slici 81. Rekonstruisati potraživanje jednog bajta iz spoljnje memorije Osnovna operacija sa spoljnom memorijom je prijenos bloka sa zadatom adresom iz spoljne memorije u glavnu ili obratno. Dio glavne memorije koji sudjeluje u prijenosu (i ima jednaku veliĉinu kao i sam blok) zove se buffer. Blok je najmanja količina podataka koja se moţe prenijeti. Na primjer, ako ţelimo pročitati samo jedan bajt iz spoljne memorije, tada moramo prenijeti cijeli odgovarajući blok, pretraţiti buffer u glavnoj memoriji i izdvojiti traţeni bajt. Vrijeme potrebno za prijenos bloka (mjereno u milisekundama) neuporedivo je veće od vremena potrebnog za bilo koju radnju u glavnoj memoriji (mjereno u mikro- ili nanosekundama). Zato je brzina nekog algoritma za rad sa spoljnom memorijom odreďena brojem blokova koje algoritam mora prenijeti, a vrijeme potrebno za postupke u glavnoj memoriji je zanemarivo.
82. Opisati postupak najčešće realizacije hash datoteke Hash datoteka obično se realizuje tako da pretinci budu vezane liste blokova. Adrese početaka tih listi čine zaglavlje koje se smješta u prvi blok ili prvih nekoliko blokova datoteke. Zaglavlje je obično dovoljno malo, pa se za vrijeme rada s datotekom moţe drţati u glavnoj memoriji. Zapis sa zadatom vrijednošću ključa k traţimo tako da izračunamo h(k), te sekvencijalno pretraţimo h(k)-ti pretinac. Ako je hash funkcija zaista uniformna, te ako je broj pretinaca dobro odabran, tada ni jedan od pretinaca nije suviše velik. Pristup na osnovu ključa zahtijeva svega nekoliko čitanja bloka(obično oko 2 čitanja). Novi zapis s vrijednošću ključa k ubacuje se u h(k)- ti pretinac, u prvi blok gdje ima mjesta. Ako su svi blokovi h(k)-te vezane liste puni, tada na kraj te vezane liste priključujemo novi blok. Ako su svi zapisi prikovani, tada ih ne smijemo izbacivati, već ih samo moţemo proglasiti nevaţećima. Ako zapisi nisu prikovani, tada ih smijemo izbacivati, čime oslobaďamo mjesta za buduća ubacivanja. Kod promjene zapisa ne smije se mijenjati vrijednost ključa, jer bi se time mogao promijeniti broj pretinca kojem zapis mora pripadati (takvu promjenu moţemo ostvariti izbacivanjem stare verzije zapisa te ubacivanjem nove verzije). Hash datoteka zahtijeva povremene reorganizacije (povećanje broja pretinaca). TakoĎe, ona nije pogodna onda kad obraďujemo zapise u sortiranom redoslijedu po ključu. 83. Opisati integritet domena Ograničenja za integritet domena izraţavaju činjenicu da vrijednost atributa mora biti iz odgovarajućeg domena. Zahtjev da vrijednost primarnog atributa ne smije biti prazna takoďe spada u ovu kategoriju. Ograničenje na integritet domena uvodi se u prvom redu tako da se u naredbi CREATE TABLE atributu pridruţi odgovarajući tip, uz eventualnu klauzulu NOT NULL. No popis podrţanih tipova je obično presiromašan, tako da samim pridruţivanjem tipa često ne uspijevamo u potpunosti izraziti potrebno ograničenje. 84. Opisati referencijalni integritet Ograničenja za čuvanje integriteta u relaciji čuvaju korektnost veza izmeďu atributa te relacije, na primjer funkcionalne zavisnosti. Najvaţniji primjer takvog ograničenja je ono koje traţi da dvije n-torke u istoj relaciji ne smiju imati jednaku vrijednost primarnog ključa. Slično ograničenje moţe se postaviti i za atribut koji nije odabran za primarni ključ, ali je kandidat za ključ. Ograničenje kojim se izraţava svojstvo ključa uvodi se u prvom redu tako da se u naredbu CREATE TABLE stavi klauzula PRIMARY KEY odnosno UNIQUE, zajedno s imenom ili imenima atributa koji čine primarni ključ ili su kandidat za ključ. Drugi način uvoďenja istih ograničenja je eksplicitno stvaranje primarnih indeksa naredbom CREATE UNIQUE INDEX. 85. Objasniti normalizaciju baze podataka Normalizacija je postupak koji se sprovodi radi poboljšanja logičke šeme. Normalizacijom se otklanjaju nedostaci, tj redudansa i anomalije u aţuriranju. Što je stepen normalizacije viši, to su veći zahtjevi u logičkoj semi. Obično se sprovodi notmalizacija u prvu, drugu, treću i Bojs-
Kodovu normalnu formu. Ispituju se principi jednostrukosti i jednostavnosti, kao i funkcionalne i višeznačne funkcionalne zavisnosti. 86. Objasniti indeksiranje baze podataka Indeks je mala pomoćna datoteka koja olakšava traţenje u velikoj (osnovnoj) datoteci. Navodimo dvije varijante datoteke s indeksom. Indeks sekvencijalna organizacija zahtijeva da zapisi u osnovnoj datoteci budu sortirani po vrijednostima ključa (na primjer uzlazno). Blokovi ne moraju biti sasvim popunjeni. Dodajemo tzv. razrijeďeni indeks. Indeks-direktna organizacija dopušta da zapisi u osnovnoj datoteci budu upisani u proizvoljnom redoslijedu. Dodajemo tzv. gusti indeks. 87. Objasniti ograničavanje izlaznih podataka Podatke mozemo ograničiti postavljanjem upita. Upite moţete kreirati pomoću čarobnjaka ili u dizajn modu. Upit kreirate na tabu Create izborom komande Query Design. Otvara se prozor Show Table gdje birate potrebne tabele. Sada treba dadate imena poljima. Da bi provjerili, da li upit radi, pokrenite upit na dugme Wiew u gornjem lijevom uglu. To isto dugme sada postaje Design i pomoću njega se vraćate u dizajn mod. To znači da pomoću ovog komandnog dugmeta moţete stalno da prelazite iz jednog moda u drugi (Wiew/Design) i tako pratite razvoj upita. 88. Opisati šta se dešava sa postojećim podacima u koloni tabele, ako se pokuša promjena tipa podatka unutar te kolone Ukoliko mi direktno probamo da promenimo tip kolone u tabeli svi prethodno unešeni podaci se gube. Zbog ovog razloga postoji posebna komanda za menjanje tipa kolone (ALTER TABLE i ALTER COLUMN). Sintaksa: ALTER TABLE Ime_Tabele ALTER COLUMN Ime_Kolone novi_tip 89. Objasniti wildcard u okviru SQL sintakse WILDCARD karakteri se koriste da zamjene bilo koji drugi karakter u string-u. Postoje dva WILDCARD karaktera i oba se koriste sa operatorom LIKE: WILDCARD karakter Opis Znak procenta (%) Mijenja jedan ili vise karaktera. MS Access koristi asterisk (*)
WILDCARD karakter umjesto znaka procenta (%). Donja linije (_) Mijenja samo jedan karakter. MS Access koristi znak pitanja (?) umjesto donje linije (_) da zamijeni bilo koji karakter. 90. Navesti uslovne izraze u SQL jeziku Uslovni izraz u SQL-u je CASE (koji je najbliţi izrazu IF u ostalim programskim jezicima). Primjer: SELECT BrojProizvoda, NazivProizvoda, Cene = CASE WHEN ListaCena = 0 THEN Nema proizvoda WHEN ListaCena < 50 THEN Ispod 50 eura WHEN ListaCena >= 50 and ListaCena < 250 THEN Ispod 250 eura ELSE Preko 250 eura END FROM Proizvodi