Transcript Slide 1

KOMPARACIJA
TRADICIONALNIH I WEB
BAZIRANIH BAZA
PODATAKA
Prof. Dr Milorad K. Banjanin
Problem
istraživanja
Predmet
istraživanja
Cilj
istraživanja
Metode
istraživanja
Istraživačke
hipoteze
Naučna i društvena
opravdanost
istraživanja
Obrada podataka, pre pojave
baza podataka, krajem 60
godina prošlog veka, bila je adhoc.
Baza podataka je skup
međusobno povezanih podataka
koji se čuvaju zajedno i među
kojima ima onoliko ponavljanja
koliko je neophodno za njihovo
optimalno korišćenje pri
višekorisničkom radu.
APLIKACIJA 1
PROGRAM 11
PROGRAM 12
......
PROGRAM 1n
APLIKACIJA m
ŠEMA
SUPB
BAZA
PODATAKA
PROGRAM m1
......
PROGRAM mk
Ideja koncepcije baza podataka
LOGIČKA
NEZAVISNOST
APLIKACIJA 1
FIZIČKA
NEZAVISNOST
PROGRAM 11
SUBP
PROGRAM 12
PODŠEMA 1
......
PROGRAM 1n
ŠEMA
......
SUBP
BAZA
PODATAKA
APLIKACIJA m
PROGRAM m1
......
PODŠEMA J
PROGRAM mk
Vizuelizacija ideje logičke i fizičke nezavisnosti
programa i podataka
FUNKCIJA
SUBP KOMPONENTA
Jezici i grafički alati za definisanje entiteta, veza,
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
KONCEPT ZAŠTITE PODATAKA
Do sadržaja baze podataka korisnik može doći samo putem SUBP pri čemu se
realizuje koncept zaštite podataka.
Pravila za korišćenje baze podataka određuje administrator baze podataka i
ugrađuje ih u SUBP.
DDL
DML
Jezik za opis podataka
ZAHTEVI
Jezik za manipulisanje
podacima
KORISNIK
ADMINISTRATOR
BAZE PODATAKA
PRAVILA KORIŠĆENJA
DML
DDL
DDL
BAZA
PODATAKA
SISTEM ZA UPRAVLJANJE
BAZOM PODATAKA
DML
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 BAZA PODATAKA
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.
Problem hijerarhijskog modela baza 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.
MREŽNI MODEL BAZA PODATAKA
Mrežni model baza 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 ovog modela navodi se činjenica da je
komplikovan za dizajniranje i implementaciju.
...
Razvoj
Weba
tokom
protekle decenije doveo je
do odgovarajućeg razvoja
usluga dostupnih na Webu.
Klijentski sloj
INTERNET
Srednji sloj
Savremene Web aplikacije
su samostalni, kompleksni
softverski
sistemi
zasnovani na tehnologijama
i
standardima
WWW
konzorcijuma, koji koriste
Web kao komunikacionu
infrastrukturu
za
dostavljanje
kodiranog
HTML sadržaja krajnjim
korisnicima.
Web server
Mašina za
skriptove
Skriptovi
Sloj baze
podataka
Sistem za upravljanje
bazom podataka (SUBP)
BAZA
PODATAKA
Arhitektura troslojnog modela Web aplikacije
Klijentski sloj u modelu troslojne arhitekture je obično
čitač Weba. Čitač Weba obrađuje i prikazuje HTML
resurse, šalje HTTP zahteve za resursima i obrađuje
HTTP odgovore.
Karakteristike čitača Weba su:
Svi čitači Weba su HTTP klijenti koji šalju zahteve i prikazuju odgovore dobijene od
Web servera (obično u nekom grafičkom okruženju).
Svi čitači tumače sadržaj stranica sa HTML kodom kada prikazuju stranicu, tj. oni
korisnicima prikazuju zaglavlja, slike, hiperlinkove i sl.
Neki čitači prikazuju slike, reprodukuju filmove i zvuk i vizuelizuju druge tipove
objekata.
Mnogi čitači mogu da izvršavaju JavaScript kôd ugrađen u HTML stranice.
Neki čitači Weba mogu da pokrenu komponente razvijene pomoću programskih jezika
Java i ActiveX. Te komponente često daju dodatne animacije, koje nije moguće izraditi
pomoću HTML-a ili, druge, još složenije mogućnosti.
U većini troslojnih sistema baza podataka na Webu,
najveći deo logike aplikacije nalazi se u srednjem sloju.
Ovaj sloj omogućava upravljanje stanjem uz
upotrebu HTTP protokola. Logika aplikacije
ugrađena u srednji sloj integriše Web sa
sistemom za upravljanje bazom podataka.
Srednji sloj obavlja većinu zadataka pomoću
kojih se objedinjuju ostali slojevi: upravlja
strukturom i sadržajem podataka koji se
prikazuju korisniku i obrađuje podatke
dobijene od korisnika pretvarajući ih u upite za
učitavanje ili upisivanje u bazu podataka.
Web server
Srednji sloj
Mašina za
skriptove
Skriptovi
Komponente srednjeg sloja su Web server, programski jezik za pisanje Web skriptova i
mašina za izvršavanje skriptova (engl. engine).
Web server obrađuje HTTP zahteve i formuliše odgovore. U slučaju Web aplikacija, zahtevi
su obično upućeni programima koji komuniciraju sa osnovnim sistemom za upravljanje
bazom podataka.
Sloj baze podataka je osnova Web aplikacija koje
rade s bazama podataka.
INTERFEJS ZA APLIKACIJE
1.
INTERPRETATOR SQL KODA
2.
U Web aplikacijama zasnovanim na
korišćenju
baza
podataka,
prevodilac u
U
module koji
upravljaju
pristupom
obliku komandne
je spadaju
obično
podacima
uskladištenimlinije
na disku
zamenjen
funkcijskomtransakcijama,
bibliotekom koja je
modul za upravljanje
deo jezika
za skriptovepostupkom
srednjeg sloja.
modul
za upravljanje
obnavljanja stanja, modul za upravljanje
1.
baferom glavne memorije, modul za
zaštitu
podataka
i modul
za upravljanje
Sintaksni
analizator
proverava
sintaksu
pristupom
prosleđenihdatotekama.
upita i prevodi ih u interni
prikaz.
ANALIZATOR UPITA
MODUL
ZA
PODACIMA
BAZA PODATAKA
3.
PRISTUP
4.
5.
4.2.
To su sami podaci fizički smešteni u
Generiše
različite
planove
izvršavanja
datoteke. Baze
podataka
obuhvataju
i
upita
na osnovu
baze podataka
i
indeksne
datotekestatistike
za brz pristup,
kao i
njenih
svojstava,
odabira
od planova
statističke
podatke
o bazi jedan
podataka
i
isistemu,
prevodikojigaseuprvenstveno
akcije kojekoriste
izvršava
za na
niskom
nivou.
generisanje
i optimizovanje planova za
3.
izvršavanje upita.
5.
Postoji nekoliko tehničkih i poslovnih prednosti upotrebe Web
tehnologija kada su u pitanju baze podataka.
TEHNIČKE PREDNOSTI se ogledaju u lakšoj implementaciji i održavanju,
brzom razvoju i podršci na većem broju računarskih platformi.
Jednostavnost uvođenja Web aplikacija se ogleda u uštedi vremena i novca. Kada je klijent
aplikacija spremna za korišćenje, ona se kopira na server i odmah je dostupna planiranim
korisnicima, bez potrebe da se posebno instalira i troškova instalacije.
S obzirom da se klijent aplikacija prikazuje unutar brauzera, koji većina korisnika već ima
instalirane na svojim kompjuterima, i koje već znaju da koriste, nestaju potrebe za intezivnom
obukom i tehničkom podrškom.
POSLOVNE PREDNOSTI uključuju povećano prisustvo na tržištu i
kompetitivne prednosti.
Web zasnovana implementacija klijent/server aplikacije takođe obećava veoma brz razvoj klijent
strane i podršku većem broju platformi. Odgovarajuće eksploatisan, Web može da proširi pristup
tržištu kao ni jedno drugo sredstvo.
Posle kreiranja aplikacija
potrebno ih je instalirati na
server i sve radne stanice
što uzrokuje određene
troškove; isto važi i za
održavanje
Pristupanje putem
specijalizovanog
interfejsa koji zahteva
posebnu instalaciju na
radne stanice
IMPLEMENTACIJA I
ODRŽAVANJE
JEDNOSTAVNOST
NAVIGACIJE
Posle kreiranja aplikacije se
smeštaju na server, čime
postaju dostupne
korisnicima- troškovi
instalacije su manji;
isto važi i za održavanje
(obavlja se na serveru )
Pristupanje bez posebne
instalacija na radne
stanice, putem Web
interfejsa
Selektivan pristup,
tokom radnog vremena
Sigurnost je velika a
verovatnoća pojavljivanja
nepredvidivih opasnosti
ima nisku vrednost.
Ažuriranje se vrši u
određeno vreme, sa
određenih radnih stanica
DOSTUPNOST
SIGURNOST I
POUZDANOST
A Ž U R I R A NJ E
Neprekidna dostupnost
svih servisa
Zbog korišćenja Web-a kao
komunikacionog kanala
postoji mogućnost pojave
nepredvidivih opasnosti.
Ažuriranje se sprovodi bilo
kada, sa bilo koje radne
stanice uz odgovarajući nivo
pristupa
Problem
istraživanja
Problem
istraživanja
projektnog
zadatka je komparativna analiza
tradicionalnih baza podataka i baza
podataka
na
Webu,
odnosno
otkrivanje nedostataka tradicionalnih
baza
podataka
i
moguće
prevazilaženje istih upotrebom Web
tehnologije.
PREDMET
ISTRAŽIVANJA
Baza podataka je kolekcija podataka o nekom
segmentu realnog sveta organizovanih za brzi
pristup i pretraživanje, koja zajedno sa
sistemom za memorisanje, organizovanje i
upravljanje tim podacima, čini sistem baza
podataka.
Baza podataka
Datoteka
Slog
Polje
Karakter
Karakter
Slog
Polje
Polje
Karakter
Polje
Karakter
CILJ
ISTRAŽIVANJA
Obezbeđivanje informacija o
tradicionalnim i Web
baziranim bazama podataka,
kao i sistemima za upravljanje
navedenim bazama podataka.
Pružanje kvalitetnog i sistematičnog
komparativnog pregleda karakteristika
tradicionalnih i Web baziranih baza
podataka.
METODE
ISTRAŽIVANJA
Projektni rad je realizovan u skladu
sa sledećim postupkom
naučnoistraživačkih aktivnosti:
Izvršeno je proučavanje raspoloživih
izvora podataka iz stručne literature i sa
interneta.
Definisano je koje podatke tokom istraživanja u cilju
uspešnog istraživanja treba detaljno obraditi i na
koji način. Izvršeno je preciziranje istraživačkog
problema i predmeta istraživanja.
Radi efikasnijeg prikupljanja i obrade podataka obavljen
je izbor metoda i tehnika istraživanja, a kao istraživačke
metode odabrane su: metoda studije dokumenata,
metoda multivarijabilne analize i mentorske konsultacije.
ISTRAŽIVAČKE
HIPOTEZE
U literaturi i praksi je sadržano
dovoljno analitičkih i konkretnih
dokaza da su mogućnosti poboljšanja
poslovanja u funkciji primene Web
baziranih aplikacija.
OSNOVNA ISTRAŽIVAČKA HIPOTEZA
IZVEDENA ISTRAŽIVAČKA
HIPOTEZA
Moguće je upotrebom Web baziranih tehnologija,
zahvaljujući većoj dostupnosti informacija iz baza
podataka, lakšoj implementaciji i jednostavnijem
ažuriranju istih, ostvariti efikasnost poslovanja
NAUČNA I
DRUŠTVENA
OPRAVDANOST
ISTRAŽIVANJA
NAUČNA OPRAVDANOST ISTRAŽIVANJA
Baze podataka zasnovane na Webu,
kao relativno inovativna tehnologija
još uvek nisu dovoljno istražene, a
samim tim nisu ni utvrđene sve
prednosti koje je moguće postići
primenom istih.
NAUČNA OPRAVDANOST ISTRAŽIVANJA
Rezultati istraživanja omogućavaju planiranje promena i
unapređenja poslovnih procesa koja se mogu postići
implementacijom Web baziranih baza podataka.
Kao korisnike rezultata istraživanja možemo razmatrati sve
organizacije koje poseduju baze podataka a koje nameravaju da ih
učine dostupnijim primenjujući Web tehnologije.
Kreirana je datoteka ili skup datoteka podataka potrebnih za definisanu
aplikaciju a zatim su pisani programi koji obrađuju podatke tih datoteka u
skladu sa aplikacijom.
Sva proširenja definisane aplikacije realizovana su dodavanjem novih
datoteka i pisanjem dodatnih programa.
programi
APLIKACIJE 1
programi
APLIKACIJE 2
programi
APLIKACIJE 3
zajednićke
datoteke B
datoteke samo za
APLIKACIJU 1
datoteke samo za
APLIKACIJU 2
datoteke samo za
APLIKACIJU 3
zajednićke
datoteke A
Ilustracija klasične automatske obrade podataka
APLIKACIJA 1
PROGRAM 11
Pod aplikacijom se podrazumeva skup programa,
datoteka i pravila za primenu računara u praćenju
ponašanja jednog dela realnog sistema.
PROGRAM 12
......
PROGRAM 1n
APLIKACIJA m
ŠEMA
SUPB
BAZA
PODATAKA
PROGRAM m1
......
PROGRAM mk
Ideja koncepcije baza podataka
Integracijom aplikacija mogu se ublažiti neki nedostaci klasične automatske
obrade podataka, ali bi suštinski problem čvrste povezanosti programa i
podataka ostao bez rešenja.
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.
Nad šemom baze podataka se gradi odgovarajuća fizička struktura podataka
koja predstavlja samu bazu podataka.
Logička nezavisnost znači da izmene
šeme ne smeju uticati na izmene
programa a postiže se uvođenjem
pojma podšeme. Podšema je deo
logičke
strukture
obeležja
baze
podataka koji je dovoljan za realizaciju
jedne aplikacije.
Fizička nezavisnost podataka znači da se
fizički raspored i organizacija podataka mogu
menjati, a da se pri tom ne moraju menjati
šema i podšema.
DOMEN
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 na komponente sa specifičnim
značenjem; u suprotnom, domen je kompozitan.
RELACIJA
U relacionom modelu baza podataka relacija odgovara
dvodimenzionalnoj tabeli u kojoj svaka vrsta sadrži jednu ntorku, a svaka kolona elemente jednog domena (odnosno
vredosti obeležja).
Bazne relacije su relacije koje su
definisane nezavisno od drugih
relacija u bazi podataka, i ne
mogu se izvesti iz drugih baznih
relacija.
Izvedene relacije su relacije koje se mogu izvesti iz
baznih relacija primenom skupa operacija.
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
Relaciona algebra je skup operacija nad
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.
RELACIONI
RAČ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.
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.
JEZIK ZA
MANIPUISANJE
PODACIMA
JEZIK ZA OPIS
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.
Jezik za opis podataka (DDL, engl.
Data Definition Language) omogućava
opis podataka na tri nivoa:
1.
Na nivou korisnika u vidu određene
podšeme – jezik za opis podataka
podšeme
2.
Na nivou logičke strukture podataka
- jezik za opis podataka šeme
3.
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
SQL
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.
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 dolazi do rezultata: koji podaci su poželjni, koje tabele se referenciraju i koji uslovi
treba da budu ispunjeni, bez specifikacije procedure za dobijanje podataka.
POJEDNOSTAVLJENI MODEL FUNKCIONISANJA
SISTEMA ZA UPRAVLJANJE BAZAMA PODATAKA
OPERATIVNI SISTEM
4
3
OPIS
ŠEME
2
OPIS
PODŠEME
SUBP
BAZA
PODATAKA
9
1
8
MEĐUMEMORIJA
SISTEMA
6
5
APLIKATIVNI PROGRAM
RADNA ZONA PROGRAMA
7
PORUKE U VEZI UPUTSTVA
Rezultat operacije SUBP signalizira aplikacionom programu (strelica 7) i u slučaju
Ako
aplikacioni
program
traži ilidaju
želiuputstva
da smesti
jedan
podatak
u bazuupodataka,
Rutine
Zatim
za
operativnom
upravljanje
podacima
sistemu
kao
deo
SUBP
(strelica
prihvataju
3),nastavlja
i ion
analiziraju
stupa
kontakt
naredbusa
ito
povoljnog
signala
program
obrađuje
podatke,
odnosno
se izvršavanje
Ako suse
podaci
u drugačijem
obliku
od
oblika
koji
se koristi
u aplikacionom
se
ostvaruje
naredbom
uaktuelim
jeziku4)koji
vrši manipulaciju
podataka
(strelica
1).
dopunjuju
spoljnom
memorijom
je
(strelica
ivrednostima
prenosi
podatke
na SUBP
osnovu
u međumemoriju
opisa
cele
sistema
(strelica
8).
Upotrebnim
interesu
obezbeđenja
daljekonverzija
obrade
vodi
računa
obaze
sadržaju
programu,
tada
će se izršiti
neophodna
podataka
(strelica
5).
(šeme)
Odavde
SUBP prenosi
koja sepodatke
odnosi u
narazličite
taj program
zone (strelica
programa
2).(strelica 6)
bafera (strelica
9).i podšeme