42
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

BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Citation preview

Page 1: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 2: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 3: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 4: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 5: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

SISTEMI ZA UPRAVLJANJE

BAZOM PODATAKA

5

Page 6: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 7: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 8: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 9: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 10: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 11: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 12: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 13: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 14: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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.

Page 15: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 16: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

MODELIPODATAKA

16

Page 17: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 18: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 19: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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.

Page 20: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

U razvoju sistema baza podataka može

se uočiti nekoliko generacija, koje su ili koegzistirale na

tržištu ili smenjivale jedna drugu.

Page 21: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 22: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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.

Page 23: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 24: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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.

Page 25: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 26: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 27: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 28: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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.

Page 29: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 30: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 31: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

HVALA NA

PAŽNJI

PROF. DR MILORAD K. BANJANIN

Page 32: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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.

Page 33: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 34: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 35: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 36: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 37: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 38: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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.

Page 39: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 40: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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.

Page 41: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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

Page 42: BAZE PODATAKA BAZE PODATAKA  BAZE  PODATAKA  BAZE PODATAKA BAZE PODATAKA PODATAKA BAZE

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.