Upload
macy-wolfe
View
411
Download
22
Embed Size (px)
DESCRIPTION
BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE. PROF. DR MILORAD K. BANJANIN. UVOD: DEFINISANJE BAZA PODATAKA. - PowerPoint PPT Presentation
BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE PODATAKA BAZE
PROF. DR MILORAD K. BANJANIN
11
UVOD: DEFINISANJE BAZA PODATAKA
Baza podatakaBaza podataka je je sskup međusobno kup međusobno povezanihpovezanih podatakapodataka koji se čuvaju koji se čuvaju zajedno i među kojima zajedno i među kojima ima onoliko ima onoliko ponavljanja koliko je neophodno za ponavljanja koliko je neophodno za njihovo optimalno korišćcenje pri njihovo optimalno korišćcenje pri
višekorisničkom raduvišekorisničkom radu..
2
Baza podataka Baza podataka je kolekcija datoteka o nekom je kolekcija datoteka o nekom segmentu realnog sveta organizovanih za brzi pristup i segmentu realnog sveta organizovanih za brzi pristup i
pretraživanje, koja zajedno sa sistemom za pretraživanje, koja zajedno sa sistemom za memorisanje, organizovanje i upravljanje tim memorisanje, organizovanje i upravljanje tim
podacima, čini sistem baza podataka.podacima, čini sistem baza podataka.
Baza podatakaBaza podataka
DatotekaDatoteka
SlogSlog
PoljePoljePoljePolje
KarakterKarakterKarakterKarakter
SlogSlog
PoljePoljePoljePolje
KarakterKarakterKarakterKarakter
KARAKTER je najelementarnija jedinica podatka koji se može razmatrati i kojim se može upravljati. Sastoji se od jednog alfabetskog znaka, numeričkog znaka ili simbola. Bit i bajt su još elementarnije jedinice podatka ali se oni odnose na fizičku a ne na logičku organizaciju podataka.
KARAKTER je najelementarnija jedinica podatka koji se može razmatrati i kojim se može upravljati. Sastoji se od jednog alfabetskog znaka, numeričkog znaka ili simbola. Bit i bajt su još elementarnije jedinice podatka ali se oni odnose na fizičku a ne na logičku organizaciju podataka.
Polje je sledeći viši nivo organizovanja podatka i sastoji se od niza karaktera. Polje obično predstavlja atribut (osobinu ili svojstvo) entiteta (objekta, osobe, događaja...).
Polje je sledeći viši nivo organizovanja podatka i sastoji se od niza karaktera. Polje obično predstavlja atribut (osobinu ili svojstvo) entiteta (objekta, osobe, događaja...).
Slog predstavlja skup atributa koji opisuju određeni entitet. Može biti fiksne dužine, ako sadrži fiksni broj polja fiksirane dužine ili varijabilne dužine u slučaju da sadrži varijabilan broj polja promenljive dužine.
Slog predstavlja skup atributa koji opisuju određeni entitet. Može biti fiksne dužine, ako sadrži fiksni broj polja fiksirane dužine ili varijabilne dužine u slučaju da sadrži varijabilan broj polja promenljive dužine.
Fajl ili datoteka predstavlja grupu međusobno povezanih slogova. Fajl ili datoteka predstavlja grupu međusobno povezanih slogova.
3
Izučavanju baza podataka se može pristupiti sa dva aspekta:
MODELI PODATA
KA
SISTEMI ZA UPRAVLJANJ
E BAZOM PODATAKA
SISTEMI ZA UPRAVLJANJ
E BAZOM PODATAKA Sistemi za upravljanje bazom podataka Sistemi za upravljanje bazom podataka su
softverski sistemi koji obezbeđuju osnovne funkcije obrade velike količine podataka:
Jednostavno pretraživanje i održavanje podataka
Višestruko paralelno korišćenje istog skupa podataka
Pouzdanost i sigurnost
Modeli podataka Modeli podataka su specifične teorije pomoću
kojih se specifikuje i projektuje neka konkretna
baza podataka ili informacioni sistem uopšte.
4
SISTEMI ZA UPRAVLJANJE
BAZOM PODATAKA
5
KLASIČNA OBRADA PODATAKA – NEZAVISNE, “PRIVATNE” DATOTEKE ZA SVAKU APLIKACIJU
PROIZVODIPROIZVODI RADNARADNAMESTAMESTA
TEHN. TEHN. POSTUPAKPOSTUPAK
RADNARADNALISTALISTA RADNICIRADNICI KUPCIKUPCI
FINALNIFINALNIPROIZVODIPROIZVODI
LANSIRANJE PROIZVODNJE
OBRADALIČNIH
ZARADAPRODAJA
RADNI NALOG PRATEĆA
DOKUMENTA
OBRAČUNSKI LIST
OTPREMNICA
Osnovni problemi klasične poslovne obrade podataka:
11 Redudansa podataka, odnosno višestruko pamćenje istih podataka.Redudansa podataka, odnosno višestruko pamćenje istih podataka.
22 Zavisnost programa od organizacije podatakaZavisnost programa od organizacije podataka..
33 Niska produktivnost u razvoju informacionog sistema.Niska produktivnost u razvoju informacionog sistema.
44Sistem datoteka je nezadovoljavajuće pouzdan, ne garantuje Sistem datoteka je nezadovoljavajuće pouzdan, ne garantuje očuvanje tačnosti i konzistentnosti (uzajamni odnos) podataka pri očuvanje tačnosti i konzistentnosti (uzajamni odnos) podataka pri mogućim harderskim i softverskim otkazima.mogućim harderskim i softverskim otkazima.
55Sistem datoteka ne obezbeđuje zadovoljavajuće očuvanje tačnosti i Sistem datoteka ne obezbeđuje zadovoljavajuće očuvanje tačnosti i konzistentnosti podataka pri višestrukom paralelnom korišćenju konzistentnosti podataka pri višestrukom paralelnom korišćenju podataka.podataka.
7
RADNI RADNI NALOGNALOG
PRATEĆA PRATEĆA DOKUMENTDOKUMENTAA
LANSIRANJE LANSIRANJE PROIZVODNJEPROIZVODNJE
OBRAČUNSOBRAČUNSKI LISTKI LIST OTPREMNICOTPREMNIC
AA
OBRADAOBRADA LIČNIH LIČNIH ZARADAZARADA
PRODAJAPRODAJA
SISTEM ZA SISTEM ZA UPRAVLJANJE UPRAVLJANJE
BAZOM BAZOM PODATAKAPODATAKA
BAZABAZAPODATAKAPODATAKA
SISTEM ZA UPRAVLJANJE BAZOM PODATAKA
8
Jezici i grafički alati za definisanje entiteta, veza, integritetskih ograničenja i prava pristupa
Jezici i grafički alati za pristup podacima bez kompletnog kodiranja
Grafički alati za razvoj menija, formi za unos podataka i izveštaja
Jezici koji kombinuju neproceduralni pristup podacima sa svim mogućnostima višeg programskog jezika
Kontrolni mehanizmi koji sprečavaju konflikte i oporavljaju izgubljene podatke u slučaju pada sistema
Alati za praćenje i poboljšanje performansi baze podataka
FUNKCIJA SUBP KOMPONENTA
9
POJEDNOSTAVLJENI MODEL FUNKCIONISANJA POJEDNOSTAVLJENI MODEL FUNKCIONISANJA SISTEMA ZA UPRAVLJANJE BAZAMA PODATAKASISTEMA ZA UPRAVLJANJE BAZAMA PODATAKA
APLIKATIVNI PROGRAM
RADNA ZONA PROGRAMA
O P E R A T I V N I S I S T E M
4
5
3
9
67
1
8
2
MEĐUMEMORIJA SISTEMA
PORUKE U VEZI UPUTSTVA
BAZA PODATAKA
SUBP
OPISOPISŠEMEŠEME
OPISOPISPODŠEMEPODŠEME
Ako aplikacioni program traži ili želi da smesti jedan podatak u bazu podataka, to se ostvaruje naredbom u jeziku koji vrši manipulaciju podataka (strelica 1). Ako aplikacioni program traži ili želi da smesti jedan podatak u bazu podataka, to se ostvaruje naredbom u jeziku koji vrši manipulaciju podataka (strelica 1). Rutine za upravljanje podacima kao deo SUBP prihvataju i analiziraju naredbu i dopunjuju je potrebnim aktuelim vrednostima na osnovu opisa cele baze podataka (šeme) i podšeme koja se odnosi na taj program (strelica 2).
Rutine za upravljanje podacima kao deo SUBP prihvataju i analiziraju naredbu i dopunjuju je potrebnim aktuelim vrednostima na osnovu opisa cele baze podataka (šeme) i podšeme koja se odnosi na taj program (strelica 2).
Zatim se operativnom sistemu daju uputstva (strelica 3), i on stupa u kontakt sa spoljnom memorijom (strelica 4) i prenosi podatke u međumemoriju sistema (strelica 5). Odavde SUBP prenosi podatke u različite zone programa (strelica 6)
Zatim se operativnom sistemu daju uputstva (strelica 3), i on stupa u kontakt sa spoljnom memorijom (strelica 4) i prenosi podatke u međumemoriju sistema (strelica 5). Odavde SUBP prenosi podatke u različite zone programa (strelica 6)
Ako su podaci u drugačijem obliku od oblika koji se koristi u aplikacionom programu, tada će se izršiti neophodna konverzija Ako su podaci u drugačijem obliku od oblika koji se koristi u aplikacionom programu, tada će se izršiti neophodna konverzija
Rezultat operacije SUBP signalizira aplikacionom programu (strelica 7) i u slučaju povoljnog signala program obrađuje podatke, odnosno nastavlja se izvršavanje (strelica 8). U interesu obezbeđenja dalje obrade SUBP vodi računa o sadržaju bafera (strelica 9).
Rezultat operacije SUBP signalizira aplikacionom programu (strelica 7) i u slučaju povoljnog signala program obrađuje podatke, odnosno nastavlja se izvršavanje (strelica 8). U interesu obezbeđenja dalje obrade SUBP vodi računa o sadržaju bafera (strelica 9).
10
KONCEPT ZAŠTITE PODATAKAKONCEPT ZAŠTITE PODATAKA
Do sadržaja baze podataka korisnik može doći samo putem SUBP pri čemu se realizuje koncept zaštite podataka, kako je to ilustrovano na narednoj slici. Pravila za korišćenje baze podataka određuje administrator baze podataka i ugrađuje ih u SUBP.
BAZA PODATAKA
KORISNIK ADMINISTRATOR BAZE PODATAKA
ADMINISTRATOR BAZE PODATAKA
SISTEM ZA UPRAVLJANJE BAZOM PODATAKA
SISTEM ZA UPRAVLJANJE BAZOM PODATAKA
ZAHTEVI
PRAVILA KORIŠĆENJA
DDL
DDL
DML
DML
Jezik za opis podataka
Jezik za manipulisanje podacima
DDL
DML
11
Pouzdanost podataka Pouzdanost podataka i i pri mogućim pri mogućim hardverskim i hardverskim i softverskim otkazimasoftverskim otkazima
Skladištenje podataka sa Skladištenje podataka sa minimumom redudanseminimumom redudanse
Logičku i fizičku Logičku i fizičku nezavisnost programa nezavisnost programa od podataka.od podataka. Samo Samo jednom, u jednom, u jedinstvenoj fizičkoj organizaciji, svaki korisnik dobija sopstvenu logičku jedinstvenoj fizičkoj organizaciji, svaki korisnik dobija sopstvenu logičku sliku podataka kakva njemu najviše odgovara.sliku podataka kakva njemu najviše odgovara.
PouzdanoPouzdano paralelno paralelno korišćenjekorišćenje zajedničkih zajedničkih podataka od strane više podataka od strane više ovlašćenih korisnikaovlašćenih korisnika
Jednostavno komuniciranje Jednostavno komuniciranje sa sa bazom podataka preko jezika bliskih bazom podataka preko jezika bliskih korisniku, tzv. korisniku, tzv. uupitnih jezika, kako bi pitnih jezika, kako bi se neprofesionalni korisnici se neprofesionalni korisnici neposredno uključili u razvoj neposredno uključili u razvoj informacionog sistema, a informacionog sistema, a profesionalnim programerima profesionalnim programerima značajno povećala produktivnost.značajno povećala produktivnost.
12
BAZA PODATAKABAZA PODATAKA
MODEL PODATAKAMODEL PODATAKA
ODRŽAVANJE ŠEME ODRŽAVANJE ŠEME BAZE PODATAKABAZE PODATAKA
DIREKTAN UPITDIREKTAN UPIT
UPRAVLJANJE UPRAVLJANJE TRANSAKCIJAMA I TRANSAKCIJAMA I
OPORAVKOMOPORAVKOM
APLIKACIJA U APLIKACIJA U PROGRAMSKOM JEZIKU PROGRAMSKOM JEZIKU
(PL) SA UPITNIM (PL) SA UPITNIM JEZIKOMJEZIKOM
PROCESIRANJE OPISA PROCESIRANJE OPISA BAZE, APLIKACIJA I BAZE, APLIKACIJA I
UPITAUPITA
UPRAVLJANJE UPRAVLJANJE SKLADIŠTENJEM SKLADIŠTENJEM
PODATAKAPODATAKA
KOMPONENTE SISTEMA ZA UPRAVLJANJE BAZOM PODATAKA
13
BAZA PODATAKA
ŠEMA
PODŠEMAB
PODŠEMAA
REČNIK PODATAKA
JEZIK DOM+DDL+DM
L
UPITNI JEZIK
JEZIK DOM+DDL+DM
L
JEZIK DOM+DDL+DM
L
JEZIK DOM+DDL+DM
L
Konceptualno/interno preslikavanje
Konceptualno/eksterno preslikavanje
Konceptualno/eksterno preslikavanje
programer A
korisnik A programer B
programer C
programer D
Administrator baze podataka
14
Integracija podataka više aplikacija ostvaruje se formiranjem nove logičke strukture nazvane šemom baze podataka (globalna logička organizacija) nad skupom obeležja tipova zapisa datoteka.
Podšema je deo logičke strukture obeležja baze podataka koji je dovoljan za realizaciju jedne aplikacije.
Na eksternom (korisničkom) nivou se definiše Na eksternom (korisničkom) nivou se definiše logička struktura podataka pogodna za logička struktura podataka pogodna za specifične zahteve, odnosno programe.specifične zahteve, odnosno programe.
Konceptualni nivo (šema baze podataka) defiše opštu logičku Konceptualni nivo (šema baze podataka) defiše opštu logičku strukturu baze podataka, sve podatke u sistemu, njihove strukturu baze podataka, sve podatke u sistemu, njihove logičke odnose (veze) i koji treba da omogući upravljanje logičke odnose (veze) i koji treba da omogući upravljanje podacima kao zajedničkim resursom u celom sistemu.podacima kao zajedničkim resursom u celom sistemu.
Interni (fizički) nivo definiše način na koji su Interni (fizički) nivo definiše način na koji su podaci fizički organizovani na spoljnim podaci fizički organizovani na spoljnim memorijama. memorijama.
ANSI/SPARC arhitektura je tronivovska arhitektura čiji nivoi imaju za cilj da učine nezavisnom logičku od fizičke strukture baze podataka i aplikacione programe od
fizičke i celokupne logičke strukture baze.
ANSI/SPARC arhitektura je tronivovska arhitektura čiji nivoi imaju za cilj da učine nezavisnom logičku od fizičke strukture baze podataka i aplikacione programe od
fizičke i celokupne logičke strukture baze.
15
MODELIPODATAKA
16
Realni sistemRealni sistem
Informacioni sistemInformacioni sistem
ULAZI STANJEIZLAZNA
TRANSFORMACIJA
PROGRAMI ZA
ODRŽAVANJE
BAZAPODATAKA
PROGRAMI ZA IZVEŠTAVANJE
PODACI O ULAZU
IZLAZI
IZLAZI
SISTEM SE NAJOPŠTIJE DEFINIŠE KAO SKUP OBJEKATA (ENTITETA) I NJIHOVIH MEĐUSOBNIH VEZA.
OSNOVU INFORMACIONOG SISTEMA ČINI DOBRO PROJEKTOVANA BAZA PODATAKA, JER ONA PREDSTAVLJA FUNDAMENTALNE, STABILNE, KARAKTERISTIKE SISTEMA,
OBJEKTE U SISTEMU, NJIHOVE ATRIBUTE I NJIHOVE MEĐUSOBNO VEZE.
17
DINAMIČKA PRAVILA INTEGRITETA
DINAMIČKA PRAVILA INTEGRITETA
Intelektualni alati pomoću kojih se opisuje (modeluje) sistem kao skup objekata, njihovih atributa i njihovih međusobnih
veza, se nazivaju MODELI PODATAKA.
Intelektualni alati pomoću kojih se opisuje (modeluje) sistem kao skup objekata, njihovih atributa i njihovih međusobnih
veza, se nazivaju MODELI PODATAKA.
Skup koncepata za opis Skup koncepata za opis objekata sistema, njihovih objekata sistema, njihovih
atributa i njihovih atributa i njihovih međusobnih veza.međusobnih veza.
STRUKTURA MODELASTRUKTURA MODELA
OPERACIJEOPERACIJE
Operacije nad konceptima Operacije nad konceptima strukture, preko kojih je strukture, preko kojih je
moguće prikazati i menjati moguće prikazati i menjati vrednosti podataka u bazi.vrednosti podataka u bazi.OGRANIČENJAOGRANIČENJA
Ograničenja na vrednosti Ograničenja na vrednosti podataka u modelu, koja u podataka u modelu, koja u
svakom trenutka posmatranja svakom trenutka posmatranja moraju biti zadovoljena. Ova moraju biti zadovoljena. Ova
ograničenja se obično nazivaju ograničenja se obično nazivaju statičkim pravilima integriteta statičkim pravilima integriteta
baze podataka.baze podataka.
Dinamička pravila integriteta Dinamička pravila integriteta kojima se definiše osnovno kojima se definiše osnovno
dinamičko ponašanje modela.dinamičko ponašanje modela.
KOMPONENTE
MODELA PODATAKA
MODEL PODATAKA se može definisati i kao specifičan teorijski okvir pomoću koga se specifikuje, projektuje i implementira
konkretna baza podataka.
MODEL PODATAKA se može definisati i kao specifičan teorijski okvir pomoću koga se specifikuje, projektuje i implementira
konkretna baza podataka.
18
19
TIPIZACIJA TIPIZACIJA (KLASIFIKACIJA) (KLASIFIKACIJA) objekata, objekata, odnosno odnosno podataka.podataka.11
GENERALIZACIJA GENERALIZACIJA je apstrakcija u je apstrakcija u kojoj se skup kojoj se skup sličnih tipova sličnih tipova objekata objekata predstavlja predstavlja opštim opštim generičkim generičkim tipom, odnosno tipom, odnosno nadtipom.nadtipom.
AGREGACIJA je AGREGACIJA je apstrakcija u kojojse apstrakcija u kojojse skup objekata i skup objekata i njihovih međusobnih njihovih međusobnih veza trtira kao novi, veza trtira kao novi, jedinstveni, jedinstveni, agregirani tip.agregirani tip.
3322
APSTRAKCIJAAPSTRAKCIJA je je kontrolisano i postepeno kontrolisano i postepeno uključivanje detalja u opis uključivanje detalja u opis sistema, “sakrivanje” detalja u sistema, “sakrivanje” detalja u opisivanju sistema, odnosno opisivanju sistema, odnosno izvlačenje i prikazivanje opštih, a izvlačenje i prikazivanje opštih, a odlaganje opisivanja detaljnih odlaganje opisivanja detaljnih osobina nekog sistema.osobina nekog sistema.
U razvoju sistema baza podataka može
se uočiti nekoliko generacija, koje su ili koegzistirale na
tržištu ili smenjivale jedna drugu.
HIJERARHIJSKI MODEL PODATAKA
ProblemProblem hijerarhijskog modela podataka je u činjenici da se stvarni podaci ne mogu prilagoditi tako striktnoj hijerarhiji.
Sva pretraživanja podataka moraju početi od vrha stabla a zatim se kretati silaznom putanjom od roditelja ka deci.
Svaki zapis može sadržati samo jedno ključno polje i samo jedna veza je dozvoljena između dva polja.
Kada se roditelj eliminiše iz baze podataka, sva njegova deca automatski postaju deca roditeljevog roditelja.
MREŽNI MODEL PODATAKA
Mrežni model podataka kreira veze između podataka kroz strukturu povezanih lista u kojoj se podređeni zapisi (nazvani članovima) povezuju sa više nego jednim roditeljem (nazvanim vlasnik). Članovi zapisa mogu biti povezani sa vlasnikom i u isto vreme mogu biti vlasnici povezani sa drugim skupom članova
Kao glavni nedostatak nedostatak ovog modela navodi se činjenica da je komplikovan za dizajniranje i implementaciju. 21
MODEL OBJEKTI - VEZEIme Ime
Adresa Adresa
StažStaž
ŠifraRadnŠifraRadn
RadnikRadnik
SS
AdminOsobljeAdminOsoblje NastavnikNastavnik
ZvanjeZvanjeRadMestoRadMesto
StudentStudent SlušaSluša PredmetPredmet
RadMestoRadMesto RadMestoRadMesto RadMestoRadMesto RadMestoRadMesto
RadMestoRadMesto
RadMestoRadMestoDatumDatum OcenaOcena
SlušaSluša
PrijavaPrijava
0,M0,M
0,M0,M 0,M0,M
0,M0,M
1,11,1
VrstaVrsta1,11,1
1,M1,M
Tip (klasa) objekta.
Konkretan objekat koji pripada nekoj klasi je
instanca.
RELACIONI MODEL PODATAKA
Relacioni model podataka je baziran na jednostavnom konceptu tabela, čije vrste i kolone sadrže realne poslovne situacije.
Tabele su nazvane relacijama, a model je baziran na matematičkoj teoriji skupova i relacija.
Student
BrojInd Ime Smer
011/97 Aca IS
Ana PM
Jova M
321/99 Pera IS
Predmet ŠifraPredm Naziv BrojČas
01 Matem. 3+3
07 StrukPod 2+2
09 BazePOd 3+2
Prijava
BrojInd ŠifraPredm Datum Ocena
321/99 01 IS 7
123/98 01 PM 6
125/98 09 M 10
422/98 07 IS 9
Sluša
BrojInd ŠifraPredm
321/99 01
123/98 01
321/99 07
123/98 09
422/98 07
Radnik
ŠifraRadn Ime Adresa Staž
R325 Nesa Molerova 5 24
R432 Mira Dusanova 2 5
R443 Bojana Puškinova 1 12
R021 Ana Brankova 5 27
Nastavnik ŠifraRadn Zvanje ŠifraPredm
R325 RedProf 01
R432 Asistent 07
R443 Docent 07
Kolone predstavljaju atribute objekataVrste predstavljaju pojavljivanja objekata, odnosno veza.
Relacioni model je vrednosno orjentisan, veze između objekata se uspostavljaju preko vrednosti njihovih atributa.
Relaciona Relaciona algebraalgebra
Relaciona Relaciona algebraalgebra
Relacioni račun
Relacioni račun
JednostavanJednostavanJednostavanJednostavan
KompozitanKompozitanKompozitanKompozitan
Strukturna analiza Strukturna analiza relacionog modelarelacionog modelaStrukturna analiza Strukturna analiza relacionog modelarelacionog modela
Operativna komOperativna kompponenta onenta relacionog modela relacionog modela
podatkapodatka
Operativna komOperativna kompponenta onenta relacionog modela relacionog modela
podatkapodatka
Jezici Jezici relacioih relacioih
baza podatakabaza podataka
Jezici Jezici relacioih relacioih
baza podatakabaza podataka
Strukturna Strukturna jednostavnostjednostavnost
Strukturna Strukturna jednostavnostjednostavnost
Formalno Formalno ii
strogo strogo zasnivanjezasnivanje
Formalno Formalno ii
strogo strogo zasnivanjezasnivanje
Jednostavni Jednostavni upitni jezikupitni jezik
Jednostavni Jednostavni upitni jezikupitni jezik
RazgraničenjeRazgraničenje nivoa nivoa
predstavljanja predstavljanja podatakapodataka
RazgraničenjeRazgraničenje nivoa nivoa
predstavljanja predstavljanja podatakapodataka
O relacionom modelu O relacionom modelu podatakapodataka
O relacionom modelu O relacionom modelu podatakapodataka
Karakteristike Karakteristike relacionog relacionog
modela bazamodela baza podatakapodataka
Karakteristike Karakteristike relacionog relacionog
modela bazamodela baza podatakapodataka
DDOOMMEENN
DDOOMMEENN
Jezik za Jezik za opis opis
podatakapodataka
Jezik za Jezik za opis opis
podatakapodataka
Jezik zaJezik za manipulisanjemanipulisanje
podacimapodacima
Jezik zaJezik za manipulisanjemanipulisanje
podacimapodacima
SQLSQLSQLSQLBaznaBaznaBaznaBazna
Izvedena Izvedena Izvedena Izvedena
Elementi sistema za upravljanje relacionim bazama podatakaElementi sistema za upravljanje relacionim bazama podataka
RREELLAACCIIJJAA
RREELLAACCIIJJAA
RELACIONI MODEL PODATAKA
Stanje se učauruje u objekte koji drugim objektima u sistemu i okolini stavljaju na raspolaganje interfejs, podskup svojih
operacija koja ta stanja menjaju i transformišu u odziv objekta.
Osnovna ideja objektno
orijentisanog modela je da podigne nivo
apstrakcije podataka, tako da se, umesto
bitovima, slogovima, poljima manipuliše
entitetima iz realnog sveta, objektima.
Entitet koji je sposoban da čuva svoja stanja i koji okolini stavlja na
raspolaganje skup operacija preko kojih
se tim stanjima pristupa.
OBJEKAT
Stanje objekta
Predstavlja se
vrednostima osobina
KLASIFIKACIJAKLASIFIKACIJA
GENERALIZACIJAGENERALIZACIJA
AGREGACIJAAGREGACIJA
OBJEKTNI MODEL BAZA PODATAKA
UČAURENJEUČAURENJE
APSTRAKCIJE
UČAURENJEUČAURENJEUČAURENJEUČAURENJE
Dodatna apstakcija koja sakrivajući Dodatna apstakcija koja sakrivajući implementaciju baze podataka omogućava implementaciju baze podataka omogućava
korišćenje njenih servisa.korišćenje njenih servisa.
Otvara niz mogućnosti u razvoju softvera:Otvara niz mogućnosti u razvoju softvera:
Jeftinije i produktivnije Jeftinije i produktivnije održavanjeodržavanjePonovno korišćenje već Ponovno korišćenje već razvijenih softverskih razvijenih softverskih komponenti (učaurenog skupa komponenti (učaurenog skupa međusobno povezanih objekata)međusobno povezanih objekata)Korišćenje udaljenih servisa u Korišćenje udaljenih servisa u računarskoj mrežiračunarskoj mreži
SlušaPred: Student--->Predmet i Slušaju:Predmet---> Student
Vezu Sluša klasa objekata Student i Predmet čine dva preslikavanja:
class Radnik(extent radnici key ŠifraRadn)
atttribute short ŠifraRadnatttribute string Imeatttribute string Adresaatribute short Staž
void Zaposli ();void Otpusti ()raises(Nema_ tog_radnika)
class Predmet(extent predmeti key ŠifraPredm)
atttribute short ŠifraPredm;atttribute string Naziv;atttribute string BrojČas;relationship set<Nastavnik>Predaju inverse Nastavnik :: Predaje;relationship set <Student> Slušaju inverse Student :: SlušaPred;relationship set <Prijava> Položili inverse Prijava :: Položen;
boolean Drži_se (in short semestar) raises(već-planiran);boolean Izostavljen (in short semestar) raises(Već-izostavljen);
class Prijava(extent prijave)
atttribute date Datum;atttribute short ocena;relationship Predmet Položen inverse Predmet :: Položili;relationship Student Ispitan inverse Student ::Položio;
Deo za specifikaciju naziva klase,
naziva skupa pojavljivanja objekata klase koji će se čuvati u bazi,
i ključa preko koga se identifikuje jedno pojavljivanje u posmatranom skupu
pojavljivanja.
Deo za specifikaciju atributa:ključna reč attribute
tip atributa
naziv atributa klase
I deo za specifikaciju veza klase.
2.
Veze se specifikuju preko preslikavanja
koja ih čineclass AdminOsoblje extends Radnik(extent administrativci key ŠifraRadn)
atttribute string RadnoMesto;
class Student(extent studenti key BrojInd)
atttribute string BrojInd;atttribute string Ime;atttribute string Smer;relationship set<Predmet>SlušaPred inverse Predmet :: Slušaju;relationship set <Prijava> Položio inverse Prijava:: SlušaPred;relationship set <Prijava> Položio inverse Prijava :: Ispitan;
boolean Upisan (in short ŠifPred) raises(Nema-uslov, Popunjeno);Void Ispiši (in short ŠifPred) raises(Nije-upisan);
class Nastavnik extends Radnik(extent nastavnici key ŠifraRadn)
atttribute enum {Redov, Vanr, Docent, Asist} Zvanje;relationship Predmet Predaje inverse Predmet :: Predaju;
1.
class Radnik(extent radnici key ŠifraRadn)
atttribute short ŠifraRadnatttribute string Imeatttribute string Adresaatribute short Staž
void Zaposli ();void Otpusti ()raises(Nema_ tog_radnika)
class Predmet(extent predmeti key ŠifraPredm)
atttribute short ŠifraPredm;atttribute string Naziv;atttribute string BrojČas;relationship set<Nastavnik>Predaju inverse Nastavnik :: Predaje;relationship set <Student> Slušaju inverse Student :: SlušaPred;relationship set <Prijava> Položili inverse Prijava :: Položen;
boolean Drži_se (in short semestar) raises(već-planiran);boolean Izostavljen(in short semestar) raises(Već-izostavljen);
class Prijava(extent prijave)
atttribute date Datum;atttribute short ocena;relationship Predmet Položen inverse Predmet :: Položili;relationship Student Ispitan inverse Student ::Položio;
class AdminOsoblje extends Radnik(extent administrativci key ŠifraRadn)
atttribute string RadnoMesto;
class Student(extent studenti key BrojInd)
atttribute string BrojInd;atttribute string Ime;atttribute string Smer;relationship set<Predmet>SlušaPred inverse Predmet :: Slušaju;relationship set <Prijava> Položio inverse Prijava:: SlušaPred;relationship set <Prijava> Položio inverse Prijava :: Ispitan;
boolean Upisan (in short ŠifPred) raises(Nema-uslov, Popunjeno);Void Ispiši (in short ŠifPred) raises(Nije-upisan);
class Nastavnik extends Radnik(extent nastavnici key ŠifraRadn)
atttribute enum {Redov, Vanr, Docent, Asist} Zvanje;relationship Predmet Predaje inverse Predmet :: Predaju;
Deo za specifikaciju operacija.
Operacije se specifikuju preko tipa rezultata koje daje i naziva operacije
i argumenata koji mogu biti izlazni (in), izlazni (out) ili ulazno-izlazni (inout) i
3.
za koje se zadaje tip i naziv
*Semantički bogat model*Prvenstveno
namenjen specifikovanju
statičke strukture baza
podataka i osnovnih
dinamičkih ograničenja*Ne postoje komercijalno raspoloživi
SUBP*Prvenstveno se koristi za
projektovanje baza podataka
*Najpopularniji model
zbog jednostavne strukture i
jednostavnog jezika (SQL)
*Pogodni su za sisteme sa
jednostavnim objektima.
*Zastupljen u velikom broju tzv “poslovnih baza
podataka” i u gotovo svim poznatim
velikim informacionim
sistemima i velikim softverskim paketima za upravljanje
proizvodnjom i poslovanjem.
*Nije dovoljno semantički bogat
*Podržava modelovanje veoma složenih
struktura*Pogodan za modelovanje realnih
sistema*Bazu podataka tretira kao dinamički sistem
*Pridruživanjem operacija objektima,
objektni model tretira bazu podataka kao dinamički sistem.
*Apstrakcija učaurenja omogućava
jednostavnije održavanje softvera, ponovno korišćenje
izgrađenih softverskih komponenti, razvoj IS u
distribuiranim heterogenim sistemima.
HVALA NA
PAŽNJI
PROF. DR MILORAD K. BANJANIN
Redudansa podataka Redudansa podataka
primerprimer
U nekom komunalnom informacionom sistemu, isti podaci o građanima pamte se i stotinu puta.
Višestruko skladištenje istih podataka dovodi do problema pri njihovom ažuriranju.
Kada se neki podatak promeni, to se mora učiniti na svim mestima na kojima se on čuva.
Kada se neki podatak promeni, to se mora učiniti na svim mestima na kojima se on čuva.
Zavisnost programa od organizacije podatakaZavisnost programa od organizacije podataka
Fizička Fizička strukturastruktura
Logička Logička strukturastruktura
Način memorisanja podataka na spoljnim
memorijama
Način memorisanja podataka na spoljnim
memorijama
Struktura podataka predstavljena programeru
Struktura podataka predstavljena programeru
Zavisnost programa od logičke strukture se ogleda u tome što program zavisi od npr. naziva i redosleda polja u zapisu, što ubacivanje novog polja u zapis
ili bilo kakvo drugo restruktuiranje zapisa, koje ne menja sadržaj podataka koje
program koristi, ipak zahteva i izmenu samog programa.
Fizička zavisnost se ogleda u tome što program zavisi od
distribucije datoteka po čvorovima računarske mreže, izabrane fizičke organizacije datoteka i izabranih metoda pristupa, načina sortiranja...
BAZE PODATAKA su najčešće smeštene na diskovima.
Velike baze podataka, pored diskova (sekundarne memorije) zahtevaju i tzv.
tercijalnu memoriju.Jedinice tercijalne memorije imaju kapacitet reda terabajta (1012 bajta)
Pored podataka sadrži i metapodatke, odnosno tzv. Rečnik
podataka. Rečnik podataka je baza podataka o
bazi podataka. Metapodatak je podatak o podatku.
Termin integritet baze podataka označava tačnost (dozvoljene
vrednosti),odnosno konzistentnost (dozvoljene odnose) podataka
34
Sistem za upravljanje skladištenjem podataka
Upravljanje baferima (buffer manager)
Upravljanje datotekama (file manager)
1.1.
2.2.
Vodi računa o lokaciji datoteka preko kojih se realizuje baza podataka i o pristupima blokovima podataka na zahtev upravljanja baferima.
Vodi računa o lokaciji datoteka preko kojih se realizuje baza podataka i o pristupima blokovima podataka na zahtev upravljanja baferima.
35
PROCESIRANJE OPISA BAZE, APLIKACIJA I UPITA
UPITI
Aplikacije Aplikacije
Aplikacije Aplikacije Održavanje šeme baze
podatakaOdržavanje šeme baze
podataka
Šema baze podataka opisuje strukturu baze podataka, pravila integriteta i prava korišćenja.
Ad-hoc specifikovani zahtevi za podacima iz baze, sa navedenim uslovima kojepodaci treba da zadovolje
U nekom programskom jeziku koji se proširuje sa konstrukcijama upitnih jezika, preko kojih se, na unapred definisani način pretražuje i menja sadržaj baze podataka. Održavanje šeme baze podataka
podrazumeva prvo kreiranje, a zatim i modifikovanje ovog opisa koji se čuva u Rečniku podataka.36
atonomnostatonomnost konzistentnostkonzistentnost
IZOLACIJA
trajnosttrajnost
Zahteva da se bilo sve operacije nad bazom podataka uspešno obave ili nijedna.
Transakcija se može definisati i kao “jedinica konzistentnosti” baze podataka: pre i posle transakcije stanje baze podataka mora da zadovolji uslove konzistentnosti.
Kada se dve ili više transakcija izvršava istovremeno, njihovi efekti moraju biti međusobno izolvani.
Kada se transakcija završi njeni efekti ne mogu biti izgubljeni, čak iako se neposredno po njeom okončanju desi neki ozbiljan otkaz sistema. 37
JEZIK ZA OPIS JEZIK ZA OPIS PODATAKAPODATAKA
JEZIK ZA JEZIK ZA MANIPUISANJE MANIPUISANJE PODACIMAPODACIMA Jezik za opis podataka (DDL, engl.
Data Definition Language) omogućava opis podataka na tri nivoa:
1.1.1.1.
2.2.2.2.
3.3.3.3.
Na nivou korisnika u vidu određene podšeme – jezik za opis podataka podšeme
Na nivou fizičke strukture podataka – jezik za opis fizičke strukture podataka. Na ovom nivou se opisuje način fizičkog pristupa podacima, memorisanje podataka i fizička veza između podataka
Jezik za manipulisanje podacima (DML, engl. Data Manipulation Language) omogućava korisniku izvršavanje operacija nad bazom podataka koja je definisana jezikom za opis podataka. Ove operacije omogućavaju upisivanje zapisa, učitavnje zapisa u radnu zonu programa, upisivanje izmenjenog zapisa u bazu podataka, potpuno ili delimično brisanje zapisa, pronalaženje zapisa i sl.
Na nivou logičke strukture podataka - jezik za opis podataka šeme
Da bi SUBP praktično realizovao svoje funkcije mora sadržati jezike za definisanje i pristupanje bazi podataka.
Jezik baze podataka sadrži jedan ili više jezika za opis podataka ili jedan ili više jezika za manipulaciju podacima.
Administrator baze podataka
Administrator baze podataka
Baza podataka je poseban, samostalni resurs u informacionom sistemu.
Baza podataka je poseban, samostalni resurs u informacionom sistemu.
Funkcije administratora baza podatak:
RAZVOJ KONCEPTUALNOG NIVOA, ODNOSNO UPRAVLJANJE PODACIMA U SISTEMU.IZBOR FIZIČKE ORGANIZACIJE BAZE PODATAKA I METODA PRISTUPA
DEFINICIJA I REALIZACIJA PRESLIKAVANJA KONCEPTUALNI – INTERNI I KONCEPTUALNI EKSTERNI NIVOOBEZBEĐENJE SIGURNOSTI I INTEGRITETA BAZE PODATAKA
PRAĆENJE PERFORMANSI SISTEMA I DEFINISANJE STRATEGIJE OPORAVKA BAZE PODATAKA
Administrator baze ima ključnu ulogu u informacionim sistemima zasnovanim na bazama podataka.
Administrator baze ima ključnu ulogu u informacionim sistemima zasnovanim na bazama podataka.
39
D O M E ND O M E N Domen je skup vrednosti istog tipa, na primer skup naslova knjiga, skup imena gradova ili skup datuma nekih događaja. Domen je jednostavan ako su sve vrednosti atomične, tj. ako SUBP ne može da ih razloži u komponente sa specifičnim značenjem; u suprotnom, domen je kompozitan.
RELACIJARELACIJA U relacionom modelu podataka relacija odgovara dvodimenzionalnoj tabeli u kojoj svaka vrsta sadrži jednu n-torku, a svaka kolona elemente jednog domena (odnosno vredosti obeležja).
Izvedene relacije su relacije koje se mogu izvesti iz baznih relacija primenom skupa operacija.
Bazne relacije su relacije koje su definisane nezavisno od drugih relacija u bazi podataka, i ne mogu se izvesti iz drugih baznih relacija.
RELACIONI RELACIONI RAČUNRAČUN
Drugi formalizam kojim se može opisati manipulativni deo relacionog modela je
relacioni račun. Relaciona algebra daje skup eksplicitnih operacija za izgradnju relacije rezultata,
a relacioni račun pruža notaciju za opisivanje svojstava relacije rezultata. Pomoću relacionog računa definiše se
traženi rezultat, a SUBP se prepušta da dođe do tog rezultata.
Operativna komponenta relacionog modela baza podataka omogućava manipulisanje podacima u bazi podataka, što se pre svega odnosi na postavljanje upita i ažuriranje baze
podataka.
Relaciona algebra tretira skup operacija nad relacijama.
Relacioni izraz u relacionoj algebri sastoji se od niza operacija nad odgovarajućim relacijama. Među važnijim operacijama relacione algebre, pored tradicionalnih operacija nad skupovima:
unije, preseka, razlike i Dekartovog proizvoda, spadaju i operacije projekcije, selekcije, deljenja i prirodnog spajanja. Kombinovanjem operacija moguće je izvšiti
pretraživanje, odnosno ažuriranje baze podataka.
RELACIONA RELACIONA ALGEBRAALGEBRA
SQLSQL
Jednostavnost i jednoobraznost pri korišćenju
Tabela se kreira jednom izvršnom naredbom i odmah po kreiranju spremna je za korišćenje (upisivanje, promena, pretraživanje podataka). Podaci se prikazuju u obliku tabele.
Mogućnost interaktivnog i klasičnog programiranja
Koristeći SQL dobijaju se odgovori na trenutno postavljene zahteve ili se SQL blokovi ugrađuju u neki viši programski jezik.
Neproceduralnost (proceduralnost u minimalnom stepenu)
SQL je u velikoj meri neproceduralan jer se njime definiše šta se želi dobiti a ne kako se do rezultata dolazi: koji podaci su poželjni, koje tabele se referenciraju i koji uslovi treba da budu ispunjeni, bez specifikacije procedure za dobijanje podataka.
SQL (engl. Structured Query Language) je standardni relacioni upitni jezik. Omogućava definisanje podataka, ažuriranje, kontrolu, konzistentnost, konkurentni rad i jezik za održavanje rečnika podataka.