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

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 svojstava objekata i pojava realnog svijeta,
dok se termin informacija odnosi na značenje koje ti podaci imaju za prijemnika (korisnika)
kada mu se prezentuju. Informacije se u računarskim bazama podataka tipično pohranjuju na
tvrdim diskovima, a podacima se pristupa i manipuliše putem odgovarajućih aplikativnih
programa, pri čemu se podrazumijeva istovremeni rad i pristup podacima više korisnika.
Ekspanzija u produkciji informacija, od 60-tih godina dvadesetog vijeka nametnula 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. Rješavanje problema zahtjeva uređenje kolekcije podataka od interesa u određenu
bazu podataka. Baza podataka je kolekcija podataka organizovanih za brzo pretraživanje i
pristup (kolekcija relevantnih podataka o sistemu od interesa i veza između njih).
Sistem sa bazom podataka uključuje četiri osnovne komponente: podatke, SW, HW i korisnike.
Korisnici
| |
Aplikativni programi |  pravougaonim
| |
DBMS
|
Baza podataka  valjak

Vrste baza podataka:


 Hijerarhijske i mrežne organizacije(model) podataka (implementacija veza se bazirala
na pointerima),
 Relacione baze podataka (organizacija podataka u formi 2D tabela koje korespondiraju
matematičkim relacijama),
 Objektno-orijentisane baze podataka (skup trajnih objekata koji sadrže kako podatke
tako i metode za manipulaciju podacima i interakciju sa drugim objektima),
 Objektno-relacione baze podataka (mogućnosti relacionih baza podataka su proširene
objektno-orjentisanim konceptima),
 Djelomično strukturirane baze podataka (omogućavaju postojanje podataka istih tipova
koji mogu imati različit broj atributa, standardni jezik za njihovu specifikaciju je XML),
 GIS baze podataka (GeoInfoSistem, pohranjuju i efikasno manipulišu geografskim
mapama i objektima, geološkim, infrastrukturnim i drugim prostornim podacima),
 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 razliku od skupa ima ponavljanja elemenata/podataka. Baza podataka sadrzi
informacije o određenom sistemu.
Šema reprezentuje sveukupan dizajn (specifikaciju/opis) konkretne baze podataka (konkretni
model). 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 (sveukupnu strukturu B 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,
 Podšema: dio logičke šeme BP na nivou pogleda.

Instanca je aktuelni sadržaj baze podataka u određenom trenutku vremena. Za razliku od šeme
baze podataka, sadržak beze (instance) se mijenja svakom transakcijom koja uključuje
modifikaciju baze (umetanje novih podataka, promjena vrijendosti ili brisanje postojećih
podataka).

Ako bismo pravili analogiju sa programskim jezicima, logička šema odgovara deklaracijama
promjenljivih, dok instanca šeme odgovara vrijednostima promjenljivih u nekom trenutku
vremena.

3. Modeli podataka. Vrste modela podataka. U koju klasu modela spada relacioni
model? Šta omogućava relacioni model?

Na svakom nivou apstrakcije (posmatranja) podataka:


- Fizički nivo (način organizacije i razmještanja podataka na fizičkom medijumu sa ciljem
realizacije što efikasnijeg pristupa podacima u bazi),
- Logički/Konceptualni nivo (sveukupna logička struktura podataka i veza izmedju njih),
- Nivo pogleda ili lokalni logički novo (korištenje samo dijela podataka iz cjelokupne baze),
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 (između konceptualnih i
fizičkih modela) 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 koji
odražava način organizacije podataka u relacionim bazama podataka i
o Hijerarhijski i mrežni model: zastarjeli modeli su 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.

Cilj: Pojam očuvanja integriteta podataka se odnosi na osiguravanje korektnosti podataka u


bazi.

Distinkcija i povezanost pojmova integritet i konzistentnost: Integritet podrazumjeva imati


tačne/korektne podatke u bazi. Konzistentnost podataka podrazumjeva istu strukturu podataka
na svim mjestima.
Nekonzistentnost povlači sa sobom narušavanje integriteta, jer nesaglasnost podataka
proističe iz netačnosti nekih podataka. Integritet podataka može biti narušen i kada nemamo
nekonzistentnost podataka.

Kako DBMS podržava očuvanje integriteta podataka:


Primjer: Operater unosi i zapis o studentu tekući semestar 55, narušava se integritet, odnosno
vrijednost 55 za semestar je nekorektna, ECTS>0
Putem specifikacije odgovarajućih ograničenja za očuvanje integriteta baze moguće je
značajnim dijelom spriječiti nastanak nekonzistentnih stanja, usljed grešaka programera.
Prilikom DDL specifikacije strukture zapisa, jednostavnom formom se specifikuje dozvoljeni
opseg vrijednosti nekog polja zapisa. Specifikacija ograničenja za dozvoljeni opseg vrijenosti
podataka se pamti u rječniku podataka zajedno sa strukturom zapisa.
DBMS komponenta za upravljanje autorizacijom i integritetom, prilikom kreiranja ili
ažuriranja zapisa provjerava da li vrijednost koja treba biti upisana u bazu zadovoljava
dozvoljeni opseg vrijednosti (konsultacijom specifikacije ograničenja u rječniku podataka).

Da li DBMS može u potpunosti onemogućiti narušavanje integriteta:


Ne možemo eliminisati nekorektnost podataka usljed grešaka operatera koji mogu da unesu
nekoretne podatke iz dozvoljenog opsega (student treće godine upiše tekući semestar 3).

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 predstavlja softverski sistem opšte namjene za
pogodan i efikasan pristup bazi podataka (za rješavanje zajedničkih aplikativnih problema i
zadataka u radu sa bazom podataka).
Svi zahtjevi za pristup bazi podataka se realizuju preko DBMS(kreiranje nove tabele, umetanje
novih zapisa, pretraživanje zapisa, ažuriranje ili brisanje postojećih zapisa).

Sistem za upravljanje bazom podataka podržava tri osnovna nivoa apstrakcije (posmatranja)
podataka (koncept poznat pod nazivom ANSI/SPARK arhitektura):
 Fizički nivo – organizacija i razmještanja podataka na fizičkom medijumu sa ciljem
realizacije što efikasnijeg pristupa podacima u bazi,
 Logički nivo – sveukupna logička struktura baze podataka i veza izmedju njih.
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?

DBMS – Data Base Menagment System predstavlja softverski sistem opšte namjene za
pogodan i efikasan pristup bazi podataka (za rješavanje zajedničkih aplikativnih problema i
zadataka u radu sa bazom podataka).
Svi zahtjevi za pristup bazi podataka se realizuju preko DBMS (kreiranje nove tabele, umetanje
novih zapisa, pretraživanje zapisa, ažuriranje ili brisanje postojećih zapisa).

Ciljevi SUBP:
 Aplikativna nezavisnost i primjenljivost za širok spektar aplikacija
U svakom aplikativnom sistemu, DBMS sadrži u rječniku podataka opis baze specifičan za
dotični sistem.
 Efikasno smještanje u bazu, pretraživanje i dobijanje podataka iz baze na način
pogodan za korisnika
DBMS sadrži procesor upita koji procesira DDL i DML iskaze i prosleđuje ih u formi
instrukcija niskog nivoa DBMS podsistemu za upravljanje smjetanjem podataka (konvertuje
dobijene instrukcije u I/O komande niskog nivoa).
 Podrška za tri nivoa apstrakcije podataka
DBMS osigurava fizičku organizaciju baze usklađenu sa logičkom organizacijom
definisanom na konceptualnom nivou. Detalji o smještanju stvarnih podataka na medijum i
mehanizmi pristupa podacima su u potpunosti sakriveni od korisnika i te poslove obavlja
DBMS.
Korisnik specifikuje upit za dobijanje podataka iz baze referišući se na podatke iz okvira
definisanog podšemom svog pogleda.
DBMS konvertuje ovakav upit u upit nad logičkom šemom, nakon toga i u upit nad internom
šemom za pristup stvarnim podacima u bazi.
Nakon ekstrakcije traženih podataka, DBMS mora transformisati dobijene podatke u formu
koja je u saglasnosti sa korisničim pogledom. Ove transformacije se nazivaju mapiranje
izmedju slojeva i to nam omogućava ova podrška za ANSI/SPARC koncept arhitekture.

 Fizička i logička nezavisnost podataka i nezavisnost podataka od programa


Fizička nezavisnost - mogućnost promjene fizičke šeme bez potrebe za promjenom logičke
šeme.
Logička nezavisnost -mogućnost da promjena logičke šeme ne zahtijeva promjenu pogleda ili
aplikativnih programa.

 Konkuretni rad više korisnika


Konkuretni rad više korisnika nad istim podacima može potencijalno proizvesti nekorektan
rezultat i generisati nekonzistetnost baze podataka.
DBMS modul za upravljanjem konkurentnim izvršavanjem transakcija obezbjeđuje da je
efekat konkuretnog izvršavanja transakcija ekvivalentan izvršavanju transakcija u izolaciji
(serijski), pri čemu se ne može garantovati redoslijed izvršenja konkuretnih transakcija.
Primjer: kupovina artikla od strane korisnika A i B, ako su raspoloživa sredstva 500.

 Upravljanje autorizacijom i integritetom podataka


Prilikom kreiranja ili ažuriranja zapisa provjerava da li je vrijednost koja treba biti upisana u
bazu zadovoljava dozvoljeni opseg vrijednosti.
Provjera se obavlja konsultacijom specifikacije ograničenja u riječniku podataka.
U slučaju da vrijednost podatka nije iz dozvoljenog opsega, DBMS neće dozvoliti njegov upis
u bazu.

 Kontrola pristupa podacima


Različiti korisnici nemaju iste informacione potrbe, pa je određenim korisnicima ili
korisnničkim grupama potrebno omogućiti pristup i manipulaciju samo onim podacima koje
oni trebaju. DBMS treba da podrži fleksibilnu kontrolu pristupa podacima, koja omogućava
specifikaciju dozvole pristupa za pojedine korisnike po tipu pristupa (upit, ažuriranje,
kreiranje, brisanje) i za pojedine segmente podataka u bazi.
Modul za sigurnost i autorizaciju (komponente za upravljanje autorizacijom i integritetom) je
zadužen za navedene zadatke.

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 u radu sa
bazom podataka. Transakcije moraju da zadovolje određena svojsktva kako bi baza ostala u
konzistentnom stanju u toku izvršavanja transakcije. Ta zahtijevana svojstva transakcija su
poznata kao ACID svojstva (Atomicity, Consistency, Isolation, Durability):
 Atomicity (atomčnost) – transkakcija se izvrši u cjelini ili se uopšte ne izvrši. Ovo stanje
onemogućava nastanak nekonzistentno stanja u slučaju prekida izvršavanja transakcije
(npr. sistemski otkaz, odustajanje od transakcije prije njenog završetka)
 Consistency (konzistentnost) - Ako se transakcija izvršava efektivno u izolaciji i
atomično, baza mora ostati u konzistentnom stanju.
Primjer: aplikativni programer specificirao transakciju tako da pogrešn ažurira stanje
skladišta uvećavanjem stranja pri kupovini, baza dolazi u nekonzistentno stanje.
To se djelimično može spriječiti specifikacijom ograničenja za očuvanje integriteta
baze.
 Isolation (izolacija) - Konkuretno izvršavanje izvršavanje transakcija će rezultirati kao
da su transakcije bile izvršene sekevencijalno.
 Durability (trajnost) - Kada se transakcija kompletira, efekti izvršenja transakcije
moraju biti trajno zapamćeni (na disku) i u slučaju sistemskih otkaza u bilo kom trenutku
rada sistema.

DBMS komponente koje obezbjeđuju ACID svojstva:


 Komponenta za upravljanje transakcijama
 Modul za upravljanje konkuretnim izvršavanjem
 Modul za upravljanje oporavkom

8. Predstavite dijagramom i opišite osnovne komponente i način funkcionisanja


DBMS.
Svi korisnički zahtjevi za pristup bazi podataka realizuju se preko DBMS-a.
DBMS čine dva osnovna podsistema:
 Procesor upita
Omogućava komunikaciju sa bazom podataka na visokom logičkom nivou, kako iz
predefinisanih procedura kodovanih u aplikativnim programima sa planiranim upitima (za
obične korisnike), tako i specifikacijom ad hoc upita iskazima DML jezika (napredni korisnici
i administratori baze podataka). Ovaj podsistem obezbjeđuje ACID svojstva izvršavanja
transkcije, kroz komponente koje obezbjeđuju ova svojstva.
o DML kompajler Prevodi DML iskaze upitnog jezika visokog nivoa(SQL)
u instrukcije niskog nivoa razumljive runtime procesoru.
o DDL komplajer
o Optimizator
Kompajlirani ad hoc upiti kao i predefinisani upiti kodovani u programskim alplikacijama se
prosledjuju optimizatoru koji kreira plan izvršenja upita sa ciljem postizanja najboljih
performansi odziva. Koristi odgovarajuće algoritme, podatke o raspoloživim pristupnim
putevima, statističke podatke o prethpdnim upitima za kreiranje plana izvršavanja.
Prosljeđuje optimizovani plan izvršenja runtime procesoru.
o Runtime procesor BP
Prima i izvršava zahtjeve za pretraživanje i ažuriranje podataka u bazi u formi intstrukcija
niskog nivoa.

 Podsistem za upravljanje smještanjem podataka


Sam pristup disku i izvršavanje komandi niskog nivoa (transfer podataka disk-memorija i
obrnute, se realizuje kroz ovaj podsistem.
On transformiše instrukcije niskog nivoa (runtime procesora) u ulazno/izlazne komande
niskog nivoa za pristupu disku (čitanje ili upis podataka). Tipično preko FileManagera OS-a.
o Komponenta za upraljanje transakcijama
Obezbjeđuje ACID svojstva izvršenja transakcija.
Modul za upravljanje konkurentnim izvršavanjem
Modul za upravljanje oporavkom nakon sistemskih i drugih otkaza.
o Komponenta za upravljanje autorizacijom i integritetom podataka.
Osigurava pristup podacima samo autorizovanim korisnicima. Prilikom modifikacije BP
kontroliše saglasnost modifikacije sa specifikovanim ograničenjima.
o DBMS buffer
Kada se podatak očita sa diska on se smješta u DBMS bafer. To je memorijski prostor u
glavnoj memoriji računara, rezervisan za rad DBMS(od strane operativnog sistema).
Podacima u baferu manipulišu transakcije koje se izvršavaju kao rezultat nekog upita/DBMS
iskaza, te moduli i komponente DBMS-a.
Cilj upravljanja baferom je da se podaci iz baze, koji se refernciraju u radu korisnika što je
moguće ćešće nalaze u baferu i da je frekvencija komunikacije sa diskom u cilju pristupa
podacima što manja.
Vrijeme pristupa podatku iz baze, ako se nalazi u baferu je zanemarljivo malo u odnosu na
vrijeme pristupa ako se podatak nalazi na disku.

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. Šta je DBMS i 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: procesor upita i podsistem za upravljanje smještanjem 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.

Sistemi koji rade sa bazama podatak mogu imati veliki broj istovremenih korisnika.
Konkurentni rad više korinsika nad istim podacima može potencijalno proizvesti nekorektan
rezultat i generisati nekonzistentnost baze podataka.
Primjeri:
1. A i B zahtjevaju online kupovinu artikla čije je stanje u skladištu 500. A traži 400, B
200. Transakcije a1 poslužuje zahtjev korinika A, kupovina potvrđuje i registruje , a2,
a3 sačuva novu vrijednost i upisuje je na skladište, a4. Rezultat je prodana veća količina
nego što je raspoloživo i ostalo bi nekorekno stanje artikla u skladištu, količina 300.
2. 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.

DBMS modul za upravljanje konkurentnim izvršavanjem transakcija obezbjeđuje da je efekat


konkurentnog izvršavanja transakcija ekvivalentan izvršavanju transakcija u izolaciji
(sekvencijalno).
11. Opišite ulogu DBMS bafera. Navedite osnovni cilj i ukratko opišite koncept
upravljanja baferom.

Kada se podatak očita sa diska on se smješta u DBMS bafer. To je memorijski prostor u


glavnoj memoriji računara, rezervisan za rad DBMS (od strane operativnog sistema).
Podacima u baferu manipulišu transakcije koje se izvršavaju kao rezultat nekog upita/DBMS
iskaza, te moduli i komponente DBMS-a.
Cilj upravljanja baferom je da se podaci iz baze, koji se refernciraju u radu korisnika što je
moguće ćešće nalaze u baferu i da je frekvencija komunikacije sa diskom u cilju pristupa
podacima što manja.
Vrijeme pristupa podatku iz baze, ako se nalazi u baferu je zanemarljivo malo u odnosu na
vrijeme pristupa ako se podatak nalazi na disku.

12. Predstavite dijagramom i opišite proces razvoja sistema sa bazom podataka i


posebno proces projektovanja baze podataka.

Životni ciklus sistema sa bazom podataka:

 Faza planiranja
Moraju se sagledati potrebe i ciljevi koji se žele
ostvariti, postojeće stanje informatizacije poslovnog
sistema, organizacioni i tehnološki trendovi,
najvažniji poslovni procesi koje je potrebno
informatički podržati..
Na bazi prethdnih analiza definiše se početni koncept
i globalna arhitektura sistema, vrši se procjena
potrebnih resursa, vremenski rokovi za realizaciju,
definiše se trategija upravljanja razvojem i
izgradnjom infromacionog sistema.
 Faza analize
Detaljna analiza sistemskih zahtjeva, poslovnih procesa, tokova informacija kroz poslovni
sistem i identifikuju se sve potrebe budućih korisnika. Dokumenti, izvještaju, interviju.
Identifikacija funkcionalnih zahtjeva i zahtjeva za interfejse, performanse i sigurnost.
hardverski i drugi zahtjevi i vrši detaljna specifikacija zahtjeva za sistem.
 Faza projektovanja
Na bazi detaljne specifikacije vrši se athitekturno i detaljno projetovanje.
Arhitekturno – u fokusu su komponente/moduli koji čine sistem, njihove veze i interakcije.
Detaljno - strukture podataka i algoritmi za softverske komponente.
 Faza implementacije
Izrada programa i kreiranje baze podataka, opremanje računarskom, komunikacionom i
drugom opremom, instalacija sistemskih programa u skladu sa specifikacijom.
 Faza testiranja
Poredi se saglasnost implementiranog sistema sa specifikovanim zahtjevima.
 Faza primjene i održavanja
Otklanjanje neotkrivenih grešaka i nedostataka u radu sistema, implementacija novih ili
izmjenjenih zahtjeva, nadogradnja ili prilagođenje novim tehnološkim trendovima.
Poslovni sistem
Strateški planovi
Sistemski zahtjevi
...
Nakon specifikacije sistemskih
zahtjeva vrši se detaljna analiza i
detaljna specifikacija zahtjeva za
sistem. Ova specifikacija obuhvata
ANALIZA SISTEMA
kako funkcionalne zahtjeve tako i
zahtjeve za podacima.
Detaljna specifikacija Na osnovu ident. zahtjeva za
zahtjeva za sistem
PROJEKTOVANJE PROJEKTOVANJE podatke, specifikuje se (projetuje)
PROGRAMA PODATAKA
model podataka na konceptualnom
Funkcionalni
Zahtjevi za nivou, odnosno konceptuala šema.
podacima
zahtjevi
Na osnovu konceptualne šeme
generiše se logička šema za
KONCEPTUALNO
FUNKCIONALNO PROJEKTOVANJE izabrani DBMS (savremeni alati
PROJEKATOVANJE omogućavaju automatsko
VISOKOG NIVOA
generisanje).
Konceptualna
šema Fizičko projektovanje BP obuhvata
Specifikacije visokog
nivoa
specifikaciju fizičku organizacije i
LOGIČKO grupisanja zapisa, indeksnih
PROJEKTOVANJE
struktura, pristupnih puteva itd.

Logička šema
DETALJNO (za specifični DBMS)
PROJEKTOVANJE
APL. PROGRAMA

FIZIČKO
Detaljni projekt PROJEKTOVANJE
aplikativnih
programa

IMPLEMENTACIJA
Fizička šema
KODIRANJE/PROGRAMA

13. Šta reprezentuju atributi u MOV modelu. Domen atributa. Vrste atributa u MOV
modelu.
Entitet (objekat) je nešto što postoji u realnom svijetu i što se razlikuje od drugih postojećih
objekata u sistemu od interesa. Svaki entitet realnog svijeta karakterišu određena svojstva koja
se u MOV reprezentuju atributima. Određeno svojstvo entiteta se iskazuje odgovarajućom
kvantitativnom vrijednošću atrubuta. Entiteti sa istim skupom atributima su slični, odnosno
istog su tipa.
Formalna definicija: Atribut predstavlja funkciju koja vrši preslikavanje entitetskog skupa u
domen atributa.
Domen atributa je skup dozvoljenih (mogućih) vrijednosti nekog atrubuta.
Tipovi atributa:
 Prosti (atomični) i složeni (kompozitni) atributi – imaju vrijednosti koje su nedjeljive
(DatumRođenja), i atributu koji se sastoje od više komponenti koje imaju posebno i
nezavisno značenje (Adresa),
 Jednoznačni (Single-valued) atributi - koji mogu sadržavati jednu vrijednost
(DatumRođenja),
 Višeznačni (Multi-valued) atributi - koji mogu sadržavati više vrijednosti (npr. brojevi
telefona osobe) i
 Bazni i izvedeni (Derived) atributi – njihove vrijednosti se ne mogu izvesti iz drugih
atribura, oni mogu služiti za izvođenje (DatuRođenja), i mogu se izračunati, dobiti iz
drugih atributa (npr. starost_osobe, na osnovu datuma_rođenja), ne pohranjuju se u bazu
podataka.

Null vrijednost – nije poznata vrijednost ili da konkretna vrijednost nije primjenljiva za dati
entitet.

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


uloga i na šta utiče specifikacija ovih ograničenja?
Tip veze ne definiše samo koji tipovi entiteta učestvuju u vezama, nego može da specifikuje i
dodatna ograničenja. Sadržaj implementirane baze podataak, u svakom trenutku, mora da bude
u saglasnosti sa specifikovanim ograničenjima.
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 kardinalnosti mapiranja ne specifikuje da li je učešće entiteta u vezi obavezno.

 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 (egzistencijalna zavisnost) – učešće nekog entitetskog tipa u veznom
tipu je totalno ako svaki entitet tog tipa mora učestvovati u bar jednoj vezi iz
veznog skupa.
o Parcijalno – samo ako neki entitet entitetskog tipa učestvuje u vezama veznog
skupa.
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.

Svaki entitet entiteskog skupa je jednistven.


Ključ – važno ograničenje na entitetskim skupovima, kojim se specifikuje jedinstvenost
entiteta entitetskog skupa (važi i za veze veznog skupa).

Ključevi entitetskog tipa/skupa:


 Superključ (eng. superkey) je skup atributa entitetskog tipa, na kojem svaki entitet
odnosnog entitetskog skupa ima jedinstvenu vrijednost. Superključ jedinstveno
identifikuje svaki entitet. Svaki nadskup superključa je takođe superključ.
 Kandidatski ključ nekog entitetskog skupa je minimalni superključ (superključ koji
nema pravi podskup, koji je takođe superključ). Nekad kandidatski ključ ne čini samo
jedan atribut, već kombinacija atributa. Primjer: superključ entitetskog tipa STUDENT
je JMB.
 Primarni ključ - Iako u nekom entitetskom skupu može postojati više kandidatskih
ključeva, jedan kandidatski ključ se selektuje kao primarni ključ (primary key). Koristi
se kao osnovni ključ za identifikaciju entiteta u entitetskom tipu.

SK, KK, PK su svojstva entiteskih tipova, a ne pojedinih entiteta. Tako da navedena


ograničenja specifikovana za određeni entitetski tip moraju da važe na svakom entitetskom
skupu i za sve instance određenog entitetskog skupa odnosnog entiteskog tipa.

Ključevi tipa veze/veznog skupa:


Koncept ključeva omogućava pomenuto ograničenje da ne može postojati više veza istog tipa
između istih entiteta i da svaka veza mora biti jedinstveno identifikovana entitetima koji
učestvuju u vezi.
 Superključ - Kombinacija primarnih ključeva participirajućih entiteskih tipova u tipu
veze čini superključ tipa veze.
(veza koja povezuje entitete koji učestvuju u vezi je određena vrijednostima njihovih
primarnih ključeva, jer primarni ključevi jedinstveno identifikuje entitete koji učestvuju u vezi
-njihova jedinstvenost povlači jedinstvenost veza između njih)
 Primarni ključ – PONOVITI PRAVILA ZA RAZLIČITE KARDINALNOSTI!

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). Pogledati primjer. 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.

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, odnosno potklasama. Članstvo u potklasi može biti:
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), ako nije uslovno definisano
 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
koristi ovaj koncept.
Agregacija je koncept kojim se kreira složeni objekat od komponentnih objekata.

Posmatrajmo ternarnu vezu PREDAJE.


Pretpostavimo da želimo dodijeliti
kontrolore(KONTROLOR) 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 (ki, ni, pi, fi). Iako u ovoj
vezi pojavljuje informacija o vezi (ni, pi, fi), koja je sadrzana u veznom tipu PREDAJE, ne
možemo objediniti ove tipove veze, pošto u veznom skupu tipa PREDAJE može postojati veza
koja nije sadržana u veznom tipu KONTROLIŠE. To stvara redundantne informacije. U MOV
modelu nije dozvojeno direktno povezivanje tipova veze. Ne bi mogli objediniti PREDAJE i
KONTROLIŠE jer bi dosli do sličaja da kad nemamo kontrolora, primarni ključ ima vrijednost
null.
Najbolji način da napravimo model koji reprezentuje navedenu situaciju je da koristimo koncept
agregacije:

Agregacija je apstrakcija kojom se veze


tretiraju kao entiteti višeg nivoa. Vezni tip
PREDAJE se posmatra kao tip višeg nivoa,
tako da je moguće kreirati binarni tip veze
(KONTROLIŠE) između entitetskog tipa
KONTROLOR i i višeg entitetskog tipa
PREDAJE.

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.

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

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.
Protumačiti sve sa slike!

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.

Ako treba, pogledati zbirku strana 68-75.

24. Redukujte MOV dijagram na slijedećoj slici na skup tabela, i opišite pravila koja
ste primijenili.

Strana 75-77, zbirka.

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