skripta za polaganje stručno-teorijskog...

27
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

Upload: others

Post on 30-Aug-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 2: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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.

Page 3: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 4: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 5: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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);

Page 6: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

-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.

Page 7: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 8: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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]

Page 9: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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.

Page 10: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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.

Page 11: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 12: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 13: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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č.

Page 14: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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.

Page 15: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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.

Page 16: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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.

Page 17: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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:

Page 18: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 19: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 20: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 21: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 22: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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

Page 23: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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.

Page 24: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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.

Page 25: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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-

Page 26: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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 (*)

Page 27: Skripta za polaganje stručno-teorijskog predmetaeeskolabp.me/wp-content/uploads/2019/01/Baze-podataka-odgovori.pdfkoje se ponavljaju uklanjaju se iz rezultata zato što su relacije

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