skripta za polaganje stručno-teorijskog...
TRANSCRIPT
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:
11. Navesti primjer i osobine veze 1:N
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.
Država glavni grad ima
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 indeks-
sekvencijalnu 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 Opis
Funkcija
DAVERAGE
Daje prosek izabranih stavki baze podataka
Funkcija Broji ćelije koje sadrţe brojeve 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.
DCOUNT
Funkcija
DCOUNTA
Broji ćelije u bazi podataka koje nisu prazne
Funkcija
DGET
Izdvaja iz baze podataka jedan zapis koji zadovoljava zadati kriterijum
Funkcija
DMAX
Daje maksimalnu vrednost izabranih stavki baze podataka
Funkcija
DMIN
Daje minimalnu vrednost izabranih stavki baze podataka
Funkcija
DPRODUCT
Mnoţi vrednosti u odreĎenom polju iz zapisa koje zadovoljavaju kriterijum
baze podataka
Funkcija
DSTDEV
Procenjuje standardno odstupanje na osnovu uzorka izabranih unosa baze
podataka
Funkcija
DSTDEVP
Izračunava standardno odstupanje na osnovu ukupne populacije izabranih
stavki u bazi podataka
Funkcija
DSUM
Sabira brojeve u koloni polja zapisa u bazi podataka koji zadovoljavaju
kriterijum
Funkcija
DVAR
Procenjuje varijansu na osnovu uzorka izabranih unosa baze podataka
Funkcija
DVARP
Izračunava varijansu na osnovu ukupne populacije izabranih stavki u bazi
podataka
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 STUDENT.SNAME
Hughes 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