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