I Flashcards
- Koje su to očekivane karakteristike savremenih baza podataka?
*Predefinisane operacije za upravljanje podacima
* Predefinisane operacije za upravljanje strukturama podataka
* Deklarativno postavljanje upita – opisujemo šta a ne kako
* Implicitne pomoćne strukture podataka: indeksi, katalozi…
* Implicitan višeprocesni rad
* Udaljeni pristup podacima
* Integritet podataka
* Pouzdanost
* Sigurnost
* Transakcije
* Programski interfejsi
- Koji su najvažniji ciljevi upravljanja podacima?
- Raspoloživost podataka – razumna cena, smisleni format, jednostavan pristup, udaljeni
pristup, aplikativni interfejsi - Integritet podataka – konzistentnost, atomičnost transakcija, višekorisnički rad
- Sigurnost i zaštita podataka – privatnost podataka, autorizacije
- Održavanje sistema – alati za upravljanje, automatizacija upravljanja, obezbeđenje od
kvarova - Nezavisnost od aplikacija – skrivenost fizičke i logičke strukture
- Navesti najvažnije modele podataka kroz istoriju računarstva do
danas.
- Mrežni model
- Hijerarhijski model
- Relacioni model
- Model entiteta i odnosa
- Prošireni relacioni model
- Objektni model
- Objektno relacioni model
- Objasniti osnovne koncepte mrežnog modela podataka.
Mrežni model podataka je nalik na dijagramsko povezivanje podataka. Struktura podataka je nalik
na slogove u programskim jezicima. Slog sadrži podatke jedne instance entiteta i sastoji se od polja.
Strukture se povezuju “vezama” (link) - nalik na pokazivače u programskim jezicima, slično
povezivanju elemenata dijagrama strelicama.
- Objasniti osnovne koncepte hijerarhijskog modela podataka.
Skup “slogova” povezanih “vezama” tako da grade “hijerarhiju”. U osnovi slično mrežnom
modelu, ali se zahteva hijerarhija. Kod mrežnog sloja je hijrarhija bila implicirana smerom veza, a
ovde je eksplicitna i ima smer jedan-više. Nije dopušteno višestruko vezivanje čvorova - do svakog
čvora vodi tačno jedan put od korena. Skup slogova u kolekciji započinje “praznim” (dummy)
čvorom.
- Objasniti osnovne nivoe apstrakcije kod savremenih baza podataka.
- Spoljašnji nivo - nivo korisnika (šta korisnik vidi)
- Konceptualni (logički) nivo - sve što čini logički model podataka
- Nivo fizičkih podataka - fizička organizacija podataka u softverskom sistemu
- Nivo fizičkih uređaja - fizička organizacija podataka na fizičkim uređajima
- Iz kojih uglova se obično posmatra arhitektura baze podataka?
Iz ugla komponenti sistema - komponente sistema se definišu zajedno sa njihovim međusobnim
odnosima. SUBP se sastoji od skupa komponenti, koje obavljaju određene funkcije. Putem
definisanih interakcija komponenti ostvaruje se puna funkcionalnost sistema. Posmatranje
komponenti je neophodno pri implementaciji, ali nije dovoljno posmatrati samo komponente da bi
se odredila funkcionalnost sistema kao celine.
Iz ugla funkcija sistema - prepoznaju se različite klase korisnika i funkcije koje sistem
za njih obavlja. Uobičajeno se prave hijerarhije korisnika. Prednost pristupa je u jasnoći
predstavljanja funkcija i ciljeva sistema. Slabost je u nedovoljnom uvidu u način ostvarivanja
funkcija i ciljeva.
Iz ugla podataka sistema - prepoznaju se različite vrste podataka. Arhitektura se određuje tako da
definiše funkcionalne jedinice koje koriste podatke na različite načine. Kako su podaci centralna
tema SUBP-a, ovaj pristup se često preporučuje kao najpoželjniji. Prednost je u isticanju centralne
pozicije podataka u sistemu. Slabost je u nemogućnosti da se arhitektura u potpunosti odredi ako
nisu opisane i funkcionalne celine.
- Objasniti “standardizovanu” arhitekturu ANSI/SPARC.
ANSI/SPARC (American National Standards Institute / Standard Planning and Requirements
Committee) je jedan od najvažnijih standarda baza podataka koji je predložen 1975. godine, ali
nikada nije formalno usvojen. Načelno počiva na podacima ali je ustvari objedinjen pogled na
arhitekturu baza podataka. Prepoznaju se 3 nivoa (pogleda) podataka: spoljašnja shema,
konceptualna shema i interna shema.
- Objasniti nivoe podataka (poglede na podatke) u arhitekturi
ANSI/SPARC.
- Spoljašnja shema - najviši nivo apstrakcije. Odvojeno i od implementacije i od ograničenja
modela podataka. Predstavlja pogled na bazu podataka iz ugla korisnika. - Konceptualna shema - nivo umerene apstrakcije (odvojen od fizičke implementacije).
Opisuje zaista implementiran skup podataka i odnosa među podacima. - Interna shema - najniži nivo apstrakcije. Opisuje elemente fizičke implementacije.
- Objasniti spoljašnju shemu arhitekture ANSI/SPARC.
Spoljašnja shema je najviši nivo apstrakcije. Odvojeno i od implementacije i od ograničenja modela
podataka. Predstavlja pogled na bazu podataka iz ugla korisnika. Opisuje kako korisnici vide
podatke. Različiti korisnici imaju različite potrebe. Imaju potrebu da vide različite skupove
podataka. Za različite korisnike može da se pravi više spoljašnjih shema. Često se naziva i nivo
pogleda ili nivo korisnika.
- Objasniti konceptualnu shemu arhitekture ANSI/SPARC.
Konceptualna shema je nivo umerene apstrakcije (odvojen od fizičke implementacije). Opisuje
zaista implementiran skup podataka i odnosa među podacima. Prilagođen konkretnom modelu
podataka. Usaglašava i podržava sve poglede iz ugla poslovnog okruženja. Često se naziva i logički
nivo ili nivo administratora.
- Objasniti internu shemu arhitekture ANSI/SPARC.
Interna shema je najniži nivo apstrakcije. Opisuje elemente fizičke implementacije, neposredno
onako kako su podaci implementirani u SUBP i na konkretnoj platformi. Često se naziva i nivo
sistema.
- Kakav je odnos relacionih baza podataka i standardizovane
arhitekture ANSI/SPARC?
Na primeru relacionih baza podataka nivoi se mogu (okvirno) predstaviti na sledeći način:
* Konceptualni nivo čini shema baze podataka - obuhvata opise atributa, ključeva i
ograničenja, uključujući i strane ključeve
* Interni nivo čine fizički aspekti - indeksi, prostori za tabele, razne optimizacije
* Eksterni nivo čine pogledi koji pružaju denormalizovanu sliku dela domena
- Objasniti primer arhitekture klijent-server.
Osnovna ideja je razdvojiti funkcionalnosti servera i klijenta. Server pruža usluge, a klijent koristi te
usluge. Server je zadužen za upravljanje podacima - obrada upita, optimizacija, izvođenje
transakcija. Klijent (klijentski deo SUBP) je zadužen za - ostvarivanje komunikacije između
aplikacije i servera, upravljanje podacima koji su keširani na strani klijenta (podaci, katanci, provera
konzistentnosti transakcija)
- Objasniti koncept distribuiranih arhitektura na primeru arhitekture
ravnopravnih čvorova.
Distribuirane arhitekture imaju više servera, koji imaju različite ili deljene uloge.
Arhitektura ravnopravnih čvorova - svaki od čvorova može imati sopstvenu fizičku organizaciju
podataka, koja se naziva lokalna interna shema (LIS - local internal schema). Poslovno viđenje tih
podataka na konceptualnom nivou je opisano globalnom konceptualnom shemom (GCS - global
conceptual schema). Zbog fragmentacije i replikacije podataka, na svakom čvoru je potrebno da
postoji logički opis podataka, koji se naziva lokalna konceptualna shema (LCS - local conceptual
schema). Globalna konceptualna shema je zapravo unija svih lokalnih konceptualnih shema.
Korisnici na spoljašnjem nivou imaju odgovarajuće spoljašnje sheme (ES - external schema). Ova
arhitektura je prirodno proširenje ANSI/SPARC modela.
- Objasniti odnos vrsta modela (i modeliranja) podataka i nivoa
podataka prema arhitekturi ANSI/SPARC.
Baze podataka se projektuju po nivoima. Nivoi projektovanja delimično prate nivoe arhitekture.
Granice nivoa projektovanja se ne poklapaju tačno sa granicama arhitekture.
* Konceptualno projektovanje (modeliranje) – odgovara spoljašnjoj shemi i delu konceptualne
sheme. Pravi se apstraktan konceptualni model. Objedinjuje sve spoljašnje sheme.
* Logičko projektovanje (modeliranje) – uglavnom odgovara konceptualnoj shemi.
Prilagođavanje konceptualnog modela konkretnom modelu podataka. Pravi se konkretan
logički model.
* Fizičko projektovanje (modeliranje) – odnosi se na internu shemu i neke aspekte
konceptualne sheme. Pravi se fizički model.
- Objasniti osnovne koncepte relacionog modela podataka.
Objedinjeno modeliranje. I entiteti i odnosi se modeliraju relacijom. Relacija se sastoji od atributa
koji imaju imena i domene. Skup imena i domena atributa jedne relacije predstavlja shemu relacije.
Torka je skup imenovanih vrednosti. Torka koja ima isti broj vrednosti, njihove nazive i domene
kao atributi jedne relacije predstavlja instancu domena (sheme) relacije. Vrednost (sadržaj) relacije
je skup instanci njenog domena. Integritet se obezbeđuje ključevima.
- Šta je „strukturni deo relacionog modela“? Objasniti ukratko.
Strukturni deo – način modeliranja podataka. Osnovna ideja je da se sve modelira relacijama. Sve
znači i entiteti i odnosi. Entiteti su svi različiti postojeći elementi sistema koje modeliramo bazom
podataka. Odnosi su značajni međusobni odnosi dvaju ili više entiteta.
- Šta je „manipulativni deo relacionog modela“? Objasniti ukratko.
Manipulativni deo – način rukovanja modeliranim podacima. Definiše formalne načine rukovanja
modeliranim podacima. Ključno mesto u manipulativnom delu modela ima pojam upita. Upit je
definicija nove relacije na osnovu već poznatih relacija baze podataka. Pored upita, važno mesto
zauzima ažuriranje baze podataka.
- Šta je „integritetni deo relacionog modela“. Objasniti ukratko.
Integritetni deo – način obezbeđivanja valjanosti podataka. Ovaj model čine koncepti i mehanizmi
koji omogućavaju da se automatizuje proveravanje zadovoljenosti određenih uslova. Stanje baze je
konzistentno (tj. ispravno) ako sadržaj baze podataka ispunjava sve uslove integriteta. Promena
sadržaja baze podataka je dopušteno akko prevodi bazu iz jednog u drugo ispravno stanje. Baza
podataka se opisuje relacijama. Uslovi integriteta u relacionom modelu se opisuju predikatima nad
relacijom ili bazom podataka. Formalnost modela olakšava formulisanje uslova integriteta.
- Navesti primer modeliranja skupa iz posmatranog domena
odgovarajućom relacijom.
Neka imamo crvenu, plavu, belu i zelenu kutiju, i u njima lopte, kocke i pločice. Binarna relacija
kutijaSadrži(K, P) je zadovoljena ako kutija K sadrži P. Njen domen je:
Dom(kutijaSadrži) = {crvena, plava, bela, zelena} x {lopte, kocke, pločice}
Neka naredni model relacije opisuje šta se nalazi u kojoj kutiji:
kutijaSadrži = {(plava, lopte), (plava, kocke), (zelena, pločice), (crvena, kocke)}
Iskaz kutijaSadrži(plava, kocke) je tačan. Iskaz kutijaSadrži(zelena, lopte) nije tačan. Iskaz
kutijaSadrži(žuta, kocke) nije definisan zato što argumenti nisu u domenu relacije.
- Navesti i ukratko objasniti osnovne pojmove u vezi strukturnog dela
relacionog modela.
Relacioni model – u potpusnosti formalno matematički zasnovan. Svakoj matematičkoj relaciji
odgovara tačno jedan skup objekata koji zadovoljavaju relaciju.
Entiteti - svi različiti postojeći elementi sistema koje modeliramo bazom podataka.
Odnosi - značajni međusobni odnosi dvaju ili više entiteta.
Relaciona baza podataka – skup relacija.
Opis relacije – čine domen relacije i nazivi atributa.
Relaciona shema – skup opisa relacija koje čine bazu podataka.
- Šta su entiteti? Kako se formalno definišu atributi i relacije?
Entitetima nazivamo sve raličite postojeće elemente („objekte“) sistema koji posmatramo, koje
modeliramo bazom podataka. Neka je R neki skup entiteta. Kažemo da se skup entiteta karakteriše
konačnim skupom atributa A(E) = {A1,…,An}, u oznaci E(A1,…,An), akko:
* svaki atribut Ai predstavlja funkciju koja slika entitete u odgovarajući domen atributa Di
* svaki atribut Ai ima jedinstven naziv ti
Za svaki entitet eE, vrednost funkcije Ai(e) Di predstavlja vrednost atributa Ai.
Skup svih atributa određuje funkciju: α(e) = (A1(e),…,An(e)). Slika skupa entiteta funkcijom α je
skup: R = α(E). Ako je α injektivna funkcija, tada kažemo da je slika R = α(E) relacija R sa
atributima A1,…,An, domenom relacije Dom(R) = D1x…xDn i nazivima atributa Kol(R) = (t1…tn).
- Objasniti pojmove ključ i natključ. U čemu je njihov značaj?
Natključ K relacije R je podskup njenih atributa za koji važi: skup atributa K jednoznačno određuje
torke relacije.
Ključ (ili ključ-kandidat) relacije R je natključ K za koji važi: ne postoji pravi podskup skupa K koji
je natključ relacije R. Svaka relacija ima najmanje jedan ključ, a može da ih ima više. Svaki natključ
sadrži bar jedan ključ.
- Šta je relaciona baza podataka? Šta je relaciona shema?
Relaciona baza podataka je skup relacija. Opis relacije čine domen relacije i nazivi atributa.
Relaciona shema je skup opisa relacija koje čine bazu podataka.
- Kako se modeliraju entiteti posmatranog domena u relacionom
modelu?
Funkcija je injektivna akko za sve različite originale daje različite slike tj. ako važi: α(e) = α(u)
akko e = u. Ako je α injektivna funkcija, tada kažemo da je slika R = α(E) relacija R sa atributima
A1,…,An, domenom relacije Dom(R) = D1x…xDn i nazivima atributa Kol(R) = (t1…tn) i tada skup
entiteta E sa atributima A1,…,An modeliramo relacijom R.
- Kako se modeliraju odnosi u posmatranom domenu u relacionom
modelu?
Odnosi se modeliraju na isti način kao i entiteti – relacijama. Ako su dva entiteta eE i fF u nekom
odnosu, onda to možemo opisati relacijom ρ(e,f), čiji je domen Dom(ρ) = E x F. Ako su entiteti eE
i fF modelirani kao e = (x1,…,xn), f = (y1,…,ym), onda njihov odnos može da se modelira kao:
ρ(e,f) = (x1,…,xn, y1,…,ym). Ako su KE i KF neki klučevi relacija E i F, onda skup atributa
KR = KE ∪ KF predstavlja ključ relacije ρ.
- Šta čini manipulativni deo relacionog modela?
Ključno mesto u manipulativnom delu modela ima pojam upita. Upit je definicija nove relacije na
osnovu već poznatih relacija baze podataka. Pored upita, važno mesto zauzima ažuriranje baze
podataka. Ažuriranje baze podataka je zamenjivanje vrednosti promenljive baze podataka novom
vrednošću baze podataka.
- Objasniti ukratko relacionu algebru.
Relaciona algebra je proširenje skupovne algebre, koju čine uobičajene skupovne operacije na
relacijama. Osnovne dodatne operacije su: projekcija (izdvajanje podskupa atributa), restrikcija
(izdvajanje podskupa redova) i prirodno spajanje (uparivanje svih torki jedne sa svim torkama
druge relacije). Kombinovanjem osnovnih operacija dobijaju se složeniji upiti kao što su prirodno
spajanje (proizvod, pa restrikcija po uslovu jednakosti atributa sa istim imenom, pa projekcija na
različite atribute) i slobodno spajanje (spajanje sa restrikcijom po slobodnom uslovu).
- Objasniti osnovne operacije relacione algebre.
- Projekcija – izbor kolona X jedne relacije R[X]={x | x
Dom(X) ∧ (
y
Dom(Y)) (x,y)
R},
gde su X i Y komplementarni skupovi atributa relacije R: Y = A(R)\X. Rezultat projekcije
može da ima manje elemenata nego polazna relacija. Projekcija je vertikalno „sečenje“
tabele. - Restrikcija – izbor torki relacije R u kojima dati atribut X
A(R) ima datu vrednost
x
Dom(X): R[X=x] = {e | e
R ∧ X(e)=x}. Horizontalno „sečenje“ tabele. - Prirodno spajanje – relacija R i Q sa zajedničkim skupom atributa X definiše se kao:
R*Q={(e,f) | e
R ∧ f
Q ∧ X(e)=X(f)}[X
Y
Z] = {(x,y,z) | (x,y)
R ∧ (x,z)
Q}, gde su
Y=A(R)\X i Z=A(Q)\X. Spajaju se torke jedne relacije sa torkama druge relacije koje imaju
jednake vrednosti zajedničkih atributa. Rezultat sadrži samo jednu kopiju zajedničkih
atributa. Može sadržati najmanje nula torki, a najviše MxN torki, gde su M i N brojevi torki
relacija R i Q.
- Objasniti osnovne vrste spajanja u relacionoj algebri.
- Prirodno spajanje – relacija R i Q sa zajedničkim skupom atributa X definiše se kao:
R*Q={(e,f) | e
R ∧ f
Q ∧ X(e)=X(f)}[X
Y
Z] = {(x,y,z) | (x,y)
R ∧ (x,z)
Q}, gde su
Y=A(R)\X i Z=A(Q)\X. Spajaju se torke jedne relacije sa torkama druge relacije koje imaju
jednake vrednosti zajedničkih atributa. Rezultat sadrži samo jednu kopiju zajedničkih
atributa. Može sadržati najmanje nula torki, a najviše MxN torki, gde su M i N brojevi torki
relacija R i Q. - Slobodno spajanje – relacija R i Q po datom binarnom predikatu p: RxQ →{
T,} se definiše
kao: R[p]Q={(e, f) | e
R ∧ f
Q ∧ p(e,f)}. Spajaju se torke jedne relacije sa torkama druge
relacije sa kojima ispunjavaju dati uslov. Opštije je od prirodnog spajanja.
- Objasniti operaciju deljenja relacione algebre.
Deljenje relacije R relacijom Q po podskupu atributa Y
A(R), gde je Z=A(Q) skup atributa koji po
broju i domenu odgovara skupu Y, definiše se kao: R[Y%Z]Q = {x | x
R[X] ∧ {x} x Q[Z]
R}, gde
je X=A(R)\Y. Rezultat je maksimalni podskup relacije R[X] takav da je njegov proizvod sa Q
podskup relacije R.
- Objasniti proširene skupovne operacije relacione algebre.
- Spoljašnja unija – relacija R i Q sa zajedničkim presekom atributa X definiše se kao:
RŮQ = (R x (Z:n))
((Y:n) x Q), gde su Y=A(R)\X, Z=A(Q)\X, (A:n) relacija sa atributima A
koja ima samo jednu torku sa svim nedefinisanim vrednostima atributa. Predstavlja uniju
relacija koje nemaju sve iste atribute. - Spoljašnji presek i spoljašnja razlika – relacija R i Q sa zajedničkim presekom atributa X se
definišu na sličan način: R∩оQ = (R x (Z:n)) ∩ ((Y:n) x Q), R\оQ = (R x (Z:n)) \ ((Y:n) x Q).
Spoljašnji presek je uvek prazan jer se porede nedefinisane vrednosti po tačnim pravilima.
Spoljašnja razlika je uvek jednaka prvoj relaciji jer je presek prazan.
- Objasniti ukratko relacioni račun. Koje vrste relacionog računa smo
razmatrali?
Relacioni račun je primena predikatskog računa na relacije. Kod je definisao dve varijante računa –
relacioni račun n-torki i relacioni račun domena. Ekvivalentan je relacionoj algebri. Jedna od razlika
u odnosu na relacionu algebru je korišćenje kvantifikatora forall i exists.
- Šta je relacioni račun torki? Objasniti osnovne karakteristike.
Izraz relacionog računa n-torki je: { (t1, t2,…, tk) : f }, za koji važi:
* promenljive t1, t2,…, tk su n-torne promenljive ili indeksirane n-torne promenljive oblika t[i]
gde je i redni broj atributa torke t
* skup n-tornih promenljivih čini tzv. ciljnu listu
* formula f je kvalifikacioni izraz
* slobodne promenljive u kvalifikacionom izrazu su one i samo one koje čine ciljnu listu
Kvalifikacioni izraz se gradi od atoma i operacija:
(a) Ako je R relacija a s n-torna promenljiva vezana za R, onda R(s) označava to vezivanja i
naziva se atom pripadnosti
(b) Ako su s i p n-torne promenljive, a neka konstanta i Θ operacija poređenja, onda s[i]Θp[j] i
s[i]Θа predstavljaju poređenje i-te komponente promenljive s sa j-tom komponentom
promenljive p ili konstantom a i nazivaju se atomi poređenja
(c) Svaki atom je formula; sve n-torne promenljive atoma su slobodne u formuli
(d) Ako su f i g formule, onda su formule i f AND g, f OR g, NOT f
(e) Ako je f formula, onda su formule i (
s)( f ) i (
s)( f )
(f) Ako je f formula, onda je formula i (f)
(g) Ništa drugo nije formula relacionom računa n-torki
- Šta je relacioni račun domena? Objasniti osnovne karakteristike.
Liči na račun n-torki, ali se promenljive vezuju za domene atributa a ne za domene torki. Izraz
relacionog računa domena je: { x1, x2,…, xk | f }, za koji važi:
* promenljive x1, x2,…, xk su domenske promenljive
* f je formula relacionog računa domena čije su slobodne promenljive x1, x2,…, xk
* formule se definišu slično kao u relacionom računu n-torki
Atomi izraza relacionog računa domena su:
(a) Ako je R relacija stepena n i y1, y2,…, yn konstante ili domenske promenljive nad domenima
odgovarajućih atributa relacije R, onda je R(y1, y2,…, yn) atom čije je značenje da vrednosti
y1, y2,…, yn moraju biti takve da postoji odgovarajuća n-torka relacije R
(b) Ako su x i y n-torne promenljive, a neka konstanta i Θ operacija poređenja, onda su xΘy i
xΘa atomi poređenja i značenje im je da vrednosti x i y moraju da budu takve da je
poređenje tačno
- U čemu je značaj formalnih upitnih jezika?
Iz ugla teorije, ključno je da se utvrdi da je upitni jezik dovoljno dobar da se njime može iskazati
bilo koji upit. U praksi je potrebna i efikasnost. Otimizacija upita obuhvata poslove analize upita i
pronalaženja najefikasnijeg puta za njegovo izračunavanje. Relacioni upitni jezici omogućavaju
relativno jednostavno automatsko modifikovanje, pa time i optimizaciju, imajući u vidu formalnu
zasnovanost.
- Kako se formalizuju operacije ažuriranja sadržaja baze podataka?
Ažuriranje baze podataka se definiše kao zamenjivanje vrednosti promenljive baze podataka novom
vrednošću baze podataka. Promenljivost baze podataka se na taj način apstrahuje sekvencom
vrednosti promenljive baze podataka koje ona dobija u različitim vremenskim tačkama. Takva
definicija omogućava i razmatranje saglasnih konkurentnih promena.
- Šta su integritet i konzistentnost? Zašto su značajni za baze
podataka?
Integritet baze podataka podrazumeva logičku ispravnost sadržaja baze podataka.
Konzistentnost baze podataka je saglasnost sadržaja baze podataka sa stvarnim prostorom koji se
bazom podataka modelira. Predstavlja tačnost ili ispravnost sadržaja baze podataka.
- Šta čini integritetni deo relacionog modela?
Ovaj model čine koncepti i mehanizmi koji omogućavaju da se automatizuje proveravanje
zadovoljenosti određenih uslova. Relacioni model je u tome posebno dobar.