Вы находитесь на странице: 1из 13

BP prvi kolokvijum

1. Definišite pojmove 'podatak', 'informacija' i 'baza podataka'. Opišite zašto postoje


potrebe za bazama podataka i šta čini sistem sa bazama podataka. Navedite neke
aktuelne tipove baza podataka.
Podatak predstavlja kvantitativnu reprezentaciju svojstva objekta i pojava realnog svijeta, dok
se termin informacija odnosi na značenje koje ti podaci imaju za korisnika kada mu se
prezentuju. Baza podataka je kolekcija podataka organizovanih za brzo pretraživanje i pristup,
koja zajedno sa sistemom za administraciju, organizovanje i memorisanje tih podataka, čini
sistem baze podataka. Ekspanzija u produkciji informacija, od 60-tih godina dvadesetog vijeka
nametala je pitanje kako organizovati obradu, skladištenje i čuvanje informacija, te kako kasnije
efikasno pronaći pohranjene informacije, objediniti potrebne dijelove i predstaviti ih u formi
pogodnoj za korisnika. Vrste baza podataka:
 Hijerarhijske i mrežne organizacije podataka (veze podataka realizovane pointerima),
 Relacione baze podataka (organizacija u formi 2D tabela),
 Objektno-orijentisane baze podataka,
 Djelomično strukturirane baze podataka (zasnovane na XML-u),
 GIS baze podataka (geografski podaci),
 Data wherehouse baze podataka (izdvojeni podaci iz velikih analitičkih baza),
 Real-time baze podataka (pristup bazi je u ograničenom kratkom intervalu) i
 Big-Data baze podataka (ogromne količine podataka).

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?

Na svakom nivou apstrakcije (posmatranja) podataka, potrebno je na neki način dati


opis/predstavu podataka. Kolekcija koncepata koja se koristi za opis strukture podataka u bazi,
relacija između podataka, semantike i ograničenja naziva se model podataka. Vrste modela
podataka:
 Konceptualni modeli ili modeli visokog nivoa (eng. high level models) su modeli koji
koriste koncepte kojima se opisuju podaci u bazi, njihove veze itd. na način blizak
korisniku. Najčešće korišteni model visokog nivoa, je Model Objekti-Veze (Entity-
Relationship model). Ovaj logički model podataka predstavlja opis podataka i veza
između njih na najvišem nivou apstrakcije.
 Fizički modeli podataka ili modeli niskog nivoa (eng. low level models) opisuju
način fizičkog smještanja i organizacije podataka na sekundarnim memorijskim
medijima.
 Reprezentacioni ili implementacioni modeli podataka su klase modela koji sadrže
koncepte za opis podataka koje korisnici mogu razumijeti, ali koji reflektuju način na
koji su podaci organizovani u računarskoj bazi. Primjeri:
o Relacioni model: najpoznatiji i najčešće korišten reprezentacioni model je koji
odražava način organizacije podataka u relacionim bazama podataka i
o Hijerarhijski i mrežni model: zastarjeli modeli koji su reprezentovali logičku
organizaciju podataka u hijerarhijskim odnosno mrežnim bazama podataka.

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.

6. Šta su SUBP i koji su ciljevi SUBP. Klasifikacije SUBP.

SUBP su Sistem za Upravljanje Bazom Podataka ili na eng. DBMS...

7. Šta su transakcije. Opišite ACID svojstva transakcija koje podržavaju DBMS.

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.

Osnovni podsistemi DBMS i njihovi zadaci: Pitanje br. 8.

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.

Pri istovremenom pristupu više korisnika, konkurentnost je potrebna postizanja sveukupno


većih sistemskih performansi i brzog odziva. Nekonzistentnan konkurentni pristup moze
dovesti do nekonzistentnosti u bazi.
Npr. dva korisnika koji istovremeno očitavaju i ažuriraju stanje računa: Muž i žena dižu sa
racuna 200KM i 800KM, na računu ima tačno 1000KM, na kraju ostaje 200KM na računu i
sistem ostaje u nekonzistentnom stanju (Obratiti se prof. dr S. Mariću za detalje).
Za rješavanje ovog problema zadužen je modul za upravljanje transakcijama (Pitanje br. 7).

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.

Proces razvoja sistema sa bazom podataka:


Proučavaju se tokovi informacija u firmi. Uočavaju se
podaci koje treba pohranjivati i veze među njima.
Analiza potreba također treba obuhvatiti analizu
transakcija (operacija) koje će se obavljati nad bazom
podataka, budući da to može isto imati uticaja na
sadržaj i konačni oblik baze. Važno je procijeniti
frekvenciju i opseg pojedinih transakcija, te zahtjeve
na performanse. Rezultat analize je dokument koji se
zove specifikacija potreba.
Različiti pogledi na podatke, otkriveni u fazi analize, sintetizuju se u jednu cjelinu - globalnu
shemu. Precizno se utvrđuju tipovi podataka. Shema se dalje dotjeruje ("normalizuje") tako da
zadovolji neke zahtjeve kvaliteta.
Na osnovu sheme i pod-shema, te uz pomoć dostupnog DBMS-a, fizički se realizuje baza
podataka na računaru, implementira se. U DBMS-u obično postoje parametri kojima se može
uticati na fizičku organizaciju baze. Parametri se podešavaju tako da se osigura efikasan rad
najvažnijih transakcija. Razvija se skup programa koji realizuju pojedine transakcije te
pokrivaju potrebe raznih aplikacija. Baza se inicijalno puni podacima.
Testiranje se realiyuje tako što korisnici rade s bazom i provjeravaju da li ona zadovoljava sve
zahtjeve. Nastoje se otkriti greške.U novije vrijeme, prije prave implementacije, razvijaju i
približni prototipovi baze podataka, te se oni pokazuju korisnicima.
Održavanje zahtijeva da se stalno prati rad s bazom, i to tako da to praćenje ne ometa korisnike.
Odvija se u vrijeme kad je baza već ušla u redovnu upotrebu. Sastoji se od sljedećeg:
 popravak grešaka koje nisu bile otkrivene u fazi testiranja;
 uvođenje promjena zbog novih zahtjeva korisnika;
 podešavanje parametara u DBMS u svrhu poboljšavanja performansi.
Faze projektovanja baze podataka:
13. Šta reprezentuju atributi u MOV modelu. Domen atributa. Vrste atributa u MOV
modelu.
Entitet (objekat), je nešto što postoji (kao cjelina) i što se razlikuje od drugih entiteta koji
egzistiraju u sistemu od interesa. Svaki entitet realnog svijeta karakterišu određena svojstva
koja se u MOV reprezentuju atributima. Atributi su svojstva entiteta, entiteti sa istim
svojstvima/atributima su entiteti istog tipa.
Domen atributa je skup dozvoljenih (mogućih) vrijednosti određenog tipa. Domen karakteriše
tip i skup mogućih vrijednosti .
Tipovi Atributa:
 Prosti (Simple) i kompozitni atributi,
 Jednoznačni (Single-valued ) atributi - koji mogu sadržavati jednu vrijednost,
 Višeznačni (Multi-valued) atributi - koji mogu sadržavati više vrijednosti (npr. brojevi
telefona osobe) i
 Izvedeni (Derived) atributi - mogu se izračunati, dobiti iz drugih atributa (npr.
starost_osobe, na osnovu datuma_rođenja).

14. Navedite vrste i osnovne karakteristike ograničenja na tipovima veze. Kakva je


uloga i na šta utiče specifikacija ovih ograničenja?
Ograničenja na tipovima veze:
 Kardinalnost mapiranja (Mapping cardinality)
Kardinalnost mapiranja specifikuje, za određeni tip veze, maksimalni broj veza (veznih
instanci) u kojima neki entitet odnosnog tipa može da učestvuje. Npr. učešće entiteta tipa
STUDENT i PREDMET u vezama tipa UPISAO, studenti su u vezi sa predmetima zavisno od
toga da li su upisali taj predmet i tu možemo imati jedan atribut te veze DatumUpisa.
Najkorisnije specifikacije za binarne vezne skupove, ograničenja mapiranja mogu biti slijedećih
tipova:
o Jedan prema jedan (One to one)
o Jedan prema više (One to many)
o Više prema jedan (Many to one)
o Više prema više (Many to many)

 Ograničenje učešća entiteta u vezi (Participation constraint)


Ograničenje učešća entiteta u vezi specifikuje, za određeni tip veze, mininalni broj veza (veznih
instanci) u kojima neki entitet odnosnog entitetskog tipa (skupa) mora da učestvuje. Dvije vrste
ograničenja na učešće entiteta u vezi:
o Totalno i
o Parcijalno.
15. Ključevi entitetskih skupova: vrste i definicije. Ključevi veznih skupova. Koliko
može biti primarnih, kandidatskih, superključeva za neki entitetski, odnosno vezni
tip.

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.

17. Šta su primarni ključevi binarnih veznih skupova, ako su kardinalnosti


mapiranja: 1:1, M:1, M:M ?
Primarni ključ veznog skupa ako je kardinalnost mapiranja veznog skupa 1:1 (jedan nastavnik
može da rukovodi samo jednim fakultetom, i jedan fakultet može da ima samo jednog
nastavnika za rukovodioca - dekana) može biti bilo koji od njih. I PK nastavika i PK fakulteta
jedinstveno identifikuje ovu vezu, pa se može uzeti bilo koji od njih.
Primarni ključ veznog skupa ako je kardinalnost mapiranja veznog skupa M:1 (jedan nastavnik
ima samo jedan matični fakultet, jedan fakultet može biti matičan za više nastavnika) je
primarni ključ entitetskog tipa sa M strane veze.
Primarni ključ veznog skupa ako je kardinalnost mapiranja veznog skupa depositor M:M (jedan
student može upisati više predmeta, a jedan predmet može upisati više studenata) je unija
primarnjih ključeva entitetskih tipova koji učestvuju u vezi.

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.

Specijalizacija (nasleđivanje u oo): U procesu projektovanja od vrha na dole (top-down


projektovanje) u određenim slučajevima možemo uočiti da u okviru nekog entitetskog skupa
postoje grupe entiteta koje se međusobno razlikuju. Ove podgrupe se mogu predstaviti
entitetskim skupovima ‘nižeg nivoa’. Veza između entitetskog tipa (skupa) višeg nivoa i
entitetskih tipova (skupova) nižeg nivoa se na MOV dijagramima prikazuje kao trougaona
komponenta nazvana ISA (Npr. Nastavnik “is a” osoba). Nasljeđivanje atributa se realizuje
tako što niži entitetski tip (skup) nasljeđuje sve atribute i participacije u vezama višeg
entitetskog tipa (skupa) sa kojim je
povezan.
Generalizacija: U procesu projektovanja
od dna na više (bottom-up) u određenim
situacijama možemo uočiti da neki
entitetski skupovi imaju određene
zajedničke karakteristike, na bazi kojih
se ti entitetski skupovi mogu
kombinovati u jedan entitetski skup
višeg nivoa.
Specijalizacija i generalizacija su
medjusobno inverzne, na MOV
dijagramu se predstavljaju na isti način,
i bilo koji termin se može koristiti.
Ograničenja vezana za Specijalizaciju/Generalizaciju:
 Ograničenje koje se odnosi na to koji entiteti mogu pripadati datom entitetskom skupu
na nižem nivou:
o Uslovno-definisano (condition-defined)
Npr. Svi studenti koji imaju vrijednost atributa CiklusStudija jednaku 1, pripadaju
entitetskom skupu student_I_ciklusa.
o Korisnički-definisano (user-defined)

 Ograničenje koje se odnosi na mogućnost pripadnosti nekog entiteta više od jednom


entitetskom skupu nižeg nivoa, u okviru jedne generalizacije:
o Disjunktna (disjoint) pripadnost
Entitet može pripadati samo jednom entitetskom skupu nižeg nivoa Na MOV (E-R)
dijagramu se ovo ograničenje obilježava dodavanjem riječi disjoint uz ISA trougao.
o Preklapajuća (overlapping)
Entitet može biti član više od jednog entitetskog skupa nižeg nivoa.

 Ograničenje kompletnosti (completeness constraint):


o Totalna
Entitet mora pripadati najmanje jednom entitetskom skupu na nižem nivou.
o Parcijalna
Entitet ne mora pripadati nijednom od entitetskih skupova na nižem nivou
20. Koncept agregacije u MOV modelu. Ilustrujte na primjeru pogodnost korištenja
agregacije i dajte obrazloženje.

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:

Binarna veza između KONTROLORA i


NASTAVNIKA ne bi reprezentovala istu
stvar, jer bi to bila kontrola nastavnika u
ukupnom njegovom radu (na svim
predmetima i na svim fakultetima).

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.

a) Dijagram reprezentuje nastavnika, koji predaje predmet na nekom fakultetu i situaciju


da nastavniku, koji predaje predmet na nekom fakultetu može biti pridružen kontrolor
koji kontroliše izvođenje nastave (koncept agregacije). Moguće je da postoji nastavnik
koji predaje predmet na fakultetu a da nema kontrolora.
b) Kako sva četiri elementa jedinstveno identifikuju vezu, nastavniku koji predaje
predmet na nekom fakultetu mora biti pridružen kontrolor. Sad imamo samo jednu
tabelu za modelovanje veze, al se gubi postojanje nastavnika koji predaje predmet na
nekom fakultetu bez kontrolora.
22. Dijagram na slici je MOV model baze podataka poslovnog sistema. Koji su MOV
koncepti korišteni na dijagramu? Opišite šta se predstavlja navedenim dijagramom.

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.

A (a, a1) - mapiranje jakog entitetskog tipa A,


a2 (a, a2) - mapiranje višeznačnog atributa a2, atribut a2 je višeznačni atribut
entitetskog tipa A, pa se za ovaj atribut kreira posebna relaciona šema;

B (b, b1) - mapiranje jakog entitetskog tipa B i

R (a—, b, a←, r) - mapiranje ternarne veze R sa kardinalnošću mapiranja M:M:1, gdje je


primarni ključ unija primarnih ključeva entitetskih tipova A i B zato što
participiraju u vezi sa kardinalnošću M.

Вам также может понравиться