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