Академический Документы
Профессиональный Документы
Культура Документы
2. Šta je baza podataka a šta šema baze podataka. Navedite koje vrste šema može
imati sistem sa bazom podataka i ukratko ih opišite. Instanca baze podataka ?
Baza podataka je kolekcija relevantnih podataka o sistemu od interesa i veza izmedju njih. (U
kolekciji za razlikuod skupa ima ponavljanja elemenata/podataka). Baza podataka sadrzi
informacije o odredjenom sistemu. Šema reprezentuje sveukupan dizajn (specifikaciju/opis)
konkretne baze podataka. Sistem sa bazom podataka može imati nekoliko šema baza podataka,
prema različitim nivoima apstrakcije:
Fizička šema: dizajn BP na fizičkom nivou,
Logička šema: dizajn BP na implementacionom logičkom nivou,
Konceptualna šema opisuje sveukupnu logičku strukturu podataka na visokom nivou
apstrakcije i
Podšema: dio logičke šeme BP na nivou pogleda.
Instanca je aktuelni sadržaj baze podataka u određenom trenutku vremena. Slično kao
vrijednosti promjenljivih u nekom vremenskom trenutku.
3. Modeli podataka. Vrste modela podataka. U koju klasu modela spada relacioni
model? Šta omogućava relacioni model?
Prethodni modeli sveukupnu predstavu organizacije podataka opisuju koristeći logičke zapise,
kao osnovne strukture iz kojih se izgrađuje model, pa se iz tog razloga ovi modeli nazivaju
modeli podataka zasnovani na zapisima. Drugi modeli su:
Objektno-orijentisani model i
Djelomično-strukturirani modeli podataka (XML opisi podataka; podaci mogu imati
različit broj atributa).
4. Na šta se odnosi pojam integriteta podataka i šta je cilj očuvanja integriteta. Kakva
je distinkcija i povezanost pojmova 'integritet' i 'konzistentnost' podataka. Kako
DBMS podržava očuvanje integriteta podataka i da li DBMS može u potpunosti
onemogućiti narušavanje integriteta.
Ograničenja za integritet podataka (npr. ECTS > 0) su bila ugrađivana u programski kod i nije
bilo jednostavno dodavanje novog ogranicenja ili mjenjati postojeća. Integritet podrazumjeva
imati tačne/korektne podatke u bazi. Konzistentnost podataka podrazumjeva istu strukturu
podataka na svim mjestima.
5. Definicija DBMS. Objasnite kako DBMS podržavaju ANSI/SPARC koncept
arhitekture (tri nivoa apstrakcije) podataka. Šta omogućava navedeni koncept.
DBMS – Data Base Menagment System - Softverski sistem opšte namjene za pogodan i
efikasan pristup bazi podataka.
Tri nivoa apstrakcije podataka (ANSI/SPARK arhitektura):
Fizički nivo
Logički nivo
o Konceptualni nivo (najviši)
o Implementacioni nivo (način predstavljanja podataka u bazi)
Nivo pogleda
Ovo omogućava da se mogu koristi samo pojedini djelovi nivoa, definisanje specifičnih
pogleda. Korisnici dobijaju samo ono sto im treba, onemogućava im se pogled na ono sto im
ne treba čime se povećava sigurnost.
Transakcija je skup operacija koje obezbjeđuju izvršavanje neke logičke cjeline (funkcije) u
nekoj aplikaciji koja radi sa bazom podataka. Svrhe transakcije nad bazama podataka:
Da omoguće pouzdano izvršavanje jedinica rada tako da je moguć oporavak od greški,
opstanak konzistentnosti čak i u slučaju sistemskih grešaka, kada se izvršavanje prekine
i mnoge operacije nad bazom ostanu nedovršene ili sa nejasnim statusom.
Da omoguće izolaciju programa koji istovremeno pristupaju bazi podataka.
Transakcija nad bazom podataka po definiciji mora da bude atomična (engl. atomic),
konzistentna (engl. consistent), izolovana (engl. isolated) i trajna (engl. durable) – ACID.
ACID svojstva (Atomicity, Consistency, Isolation, Durability) osigurava komponenta za
upravljanje transakcijama, ona osigurava da baza podataka ostaje u konzistentnom
(korektnom) stanju i u slučaju sistemskih grešaka (npr. nestanak napajanja, padovi operativnog
sistema, hardverski otkazi) ili kad se transakcija neuspješno završi. Komponenta za upravljanje
konkurentnim izvršavanjem kontroliše interakciju između konkurentnih transakcija, sa ciljem
osiguranja konsistentnosti baze podataka. Trajnost obezbjeđuje modul za oporavak,
podrazumjeva trajno smještanje i čuvanje podataka u bazi nakon potvrde transakcije (commit
naredba).
8. Predstavite dijagramom i opišite osnovne komponente i način funkcionisanja
DBMS.
Procesor upita prihvata upite, komande koje mogu biti očitavanje ili manipulacija podacima u
DMLu i preko optimizatora se konvertuju ti upiti u instrukcije nistog nivoa. Optimizator pravi
plan izvršenja i preko run time procesora proslijeđuje instrukcije niskog nivoa. Pa se prosledjuju
podsistemu za upravljanje podataka. Bafffer mu moze očitati pojedine dijelove diska i čuvati ih
u memoriji tako da ne mora uvjek pristupati disku. Drugi modul je upravljanje transakcijama
koji obezbjeđuje taj konkurentni pristup.
9. Kakvi su osnovni ciljevi koje DBMS treba da ostvari? Koji su osnovni podsistemi
DBMS i šta su njihovi zadaci?
Ciljevi DBMS:
Aplikativna nezavisnost i primjenljivost za široki spektar aplikacija.
Efikasno smještanje u bazu i pretraživanje i dobijanje podataka iz baze na način
pogodan za korisnika.
DBMS sadrži procesor upita (query processor) koji procesira i DDL i DML
iskaze i prosljeđuje ih podsistemu DBMS-a za upravljanje smještanjem
podataka (storage manager). Podsistem za upravljanje smještanjem podataka
implementira efikasan fizički pristup i manipulaciju podacima.
Podrška za tri nivoa apstrakcije podataka.
Fizička i logička nezavisnost podataka i nezavisnost programa od podataka u sistemima
koji koriste DBMS.
Konkurentni rad više korisnika.
Upravljanje autorizacijom korisnika i integritetom podataka.
10. Opišite i ilustrujte primjerom problem konkurentnog pristupa više korisnika istim
podacima bazi podataka. Kako DBMS rješava ovaj problem, i koja
komponenta/modul DBMS je zadužena za rješenje problema konkurentnog
pristupa.
11. Opišite ulogu DBMS bafera. Navedite osnovni cilj i ukratko opišite koncept
upravljanja baferom.
Bafer u memoriji računara na kojem se izvršava sistem baze podataka, zadržava podatke kojima
je skoro pristupano. Povećava efikasnost. MySQL održava grupu internih bafera i ostava. Dva
najvažnija parametra za podešavanje su Key_buffer_size i Table_cache. Pošto te bafere dijele
sve niti koje rade na serveru, njihovo podešavanje ima veliki uticaj na performanse servera.
Kada aplikacija zatraži određeni blok iz datoteke indeksa, on se učitava u taj bafer. Kad god se
izvršava neki upit, ako se odgovarajući blok indeksa nalazi u baferu, podaci se učitavaju iz
njega. U suprotnom, blok indeksa mora da se učita iz datoteke na disku u bafer za ključeve, što
je sporije.
12. Predstavite dijagramom i opišite proces razvoja sistema sa bazom podataka i
posebno proces projektovanja baze podataka.
Superključ (eng. superkey) je skup atributa entitetskog tipa, na kojem svaki entitet odnosnog
entitetskog skupa ima jedinstvenu vrijednost. Superključ jedinstveno identifikuje svaki entitet.
Kandidatski ključ nekog entitetskog skupa je minimalni super ključ (netrivijalni (pravi)
podskup atributa kandidatskog ključa nije super ključ). Primjer: superključ entitetskog tipa
STUDENT je JMB. Iako u nekom entitetskom skupu može postojati više kandidatskih ključeva,
jedan kandidatski ključ se selektuje kao primarni ključ (primary key).
Superključ > Kandidatski ključ > Primarni ključ
16. Superključ tipa veze. Primarni ključ binarnog tipa veze u zavisnosti od
kardinalnosti mapiranja.
Kombinacija primarnih ključeva participirajućih entitetskih tipova (skupova) u tipu veze
(veznom skupu), čini super ključ tipa veze (veznog skupa). Primarni ključ binarnog tipa veze u
zavisnosti od kardinalnosti mapiranja je objašnjen u narednom pitanju.
18. Ključevi tipa veze (veznog skupa). Šta je primarni ključ ternarnog tipa veze u kojoj
dva entitetska tipa učestvuju sa kardinalnošću M a jedan sa kardinalnošću 1.
Objasnite.
Ako jedan entitetski tip učestvuje u vezi sa kardinalnošću 1, a ostali sa kardinalnošću M, onda
je primarni ključ veze unija primarnih ključeva entitetskih tipova koji u vezi učestvuju sa
kardinalnošću M (Knjiga, str. 55).
19. Koncept specijalizacije/generalizacije u MOV. Ograničenja vezana za
specijalizaciju/generalizaciju.
Koncept koji se bazira na objedinjavanju. Nisu dozvoljene veze sa vezama pa zato moramo
koristii ovaj koncept.
Posmatrajmo ternarnu vezu predaje,
pretpostavimo da želimo dodijeliti kontrolore
za nadzor nad izvođenjem nastave koju
izvršavaju određeni nastavnici na nekom
predmetu i nekom fakultetu. Takvu vezu
između entitetskih tipova (skupova) možemo
predstaviti kvaternarnom vezom kontroliše.
Ne bi mogli objediniti PREDAJE i
KONTROLIŠE jer bi dosli do sličaja da kad
nemammo kontrolora, primarni ključ ima vrijednost null.
Najbolji način da napravimo model koji reprezentuje navedenu situaciju je da koristimo koncept
agregacije:
21. Opišite MOV dijagrame na slikama a) i b). Diskutujte razlike i pogodnost jednog
i drugog dijagrama za reprezentaciju i organizaciju podataka u informacionom
sistemu univerziteta.
23. Konvertujte MOV dijagram na slijedećoj slici u relacije, opišite postupak i navedite
pravila koja ste koristili. Navedite šta su primarni ključevi dobijenih relacija.
24. Redukujte MOV dijagram na slijedećoj slici na skup tabela, i opišite pravila koja
ste primijenili.