Informatika
Aplikativni programi
Baze podataka dr Ana Kovačević
PROGRAM KAO PROIZVOD
16.5.2019. autor: dr Ana Kovačević, FB 2
16.5.2019. autor: dr Ana Kovačević, FB 3
Program kao proizvod
• Program kao proizvod, u njih je uloženo puno truda i sredstava
• Programi laki za kopiranje i postavlja se pitanje autorskih prava
16.5.2019. autor: dr Ana Kovačević, FB 4
Softver – autorska prava, patenti i
licence • Autorsko pravo – najkorišćeniji način zaštite
intelektualnog vlasništva. Autorsko pravo štiti originalnu implementaciju i način prikaza neke ideje, a ne samu ideju.
• Svako delo zaštićeno autorskim pravom mora imati vidljivu oznaku, a mora biti označena i godina izdavanja te ime autora ili naziv kompanije koja je nosilac autorskih prava.
• Patent je zaštita izuma koju izdaje vlada neke države, tako se sprečavaju druge osobe ili organizacije da proizvode ili prodaju isti ili sličan proizvod. Patent štiti samu ideju.
16.5.2019. autor: dr Ana Kovačević, FB 5
Licence za softver
• Korisnik kupuje samo licencu za
korišćenje softvera, a ne i sam softver.
• Licencom je definisano na koji način se
može koristiti taj softver:
– na koliko računara se sme koristiti
– koliko dugo važi licenca
– u koje svrhe (komercijalne, obrazovne ...).
16.5.2019. autor: dr Ana Kovačević, FB 6
Softer prema zakonskom obliku
zaštite • Javno dostupan (engl. public domain)...dopušteno je korišćenje,
umnožavanje, distribucija.
• Softver sa otvorenim kodom (engl. open source): besplatno korišćenje, umnožavanje i distribuiranje, menjanje izvornog koda i dalje distribuiranje, s tim da izmenjeni softver i dalje bude otvorenog koda. Ukoliko se distribuira potrebno je sa licencom u kojoj su definisana sva prava i obaveze korisnika.
• Besplatan softver (engl. freeware) besplatno je korišćenje i distribucija, ali se ne sme menjati. Distribuira se uz posebnu licencu.
• Softver koji se daje na probno korišćenje (engl. shareware) Sličan freeware, ali ograničeno vreme je besplatan, a potom se plaća obično simbolična cena.
• Komercijalni softver (engl. commercial) Kupuje se, i sme samo da se koristi, a ne sme da se kopira, distribuira ili menja.
BAZE PODATAKA UVOD
16.5.2019. autor: dr Ana Kovačević, FB 8
Baze podataka
• Šta je baza podataka?
• Šta je sistem za upravljanje bazama
podataka?
• Koja je razlika između baze podataka i
tabele u MSWordu ili MSExcellu?
16.5.2019. autor: dr Ana Kovačević, FB 9
Šta je baza podatka (BP)?
• Baza podataka je skup povezanih
podataka koji se mogu: čuvati, sortirati,
organizovati i postavljati upite nad njima,
npr. On-line kupovina.
• Kreiranjem organizovanih struktura za
podakte, podaci u bazama podataka
postaju „korisniji“ i imaju značenje
• Baze podataka omogućavaju da podaci
postaju informacije
16.5.2019. autor: dr Ana Kovačević, FB 10
Zašto je potrebno poznavanje
BP? • BP je osnova svakog Informacionog
sistema.
• Omogućava efikasniju interakciju
• Ako baza nije dobro kreirana ili ako ne
znate kako da koristite bazu možda nećete
naći informacije koje tražite.
16.5.2019. autor: dr Ana Kovačević, FB 11
Baze podataka
• Baze podatka nisu neophodne (potrebne)
za sve tipove podatka
– Liste su adekvatne za jednostavne zadatke
(npr. Korišćenje tabela u Wordu, Excelu)
16.5.2019. autor: dr Ana Kovačević, FB 12
Baze podataka vs. liste
• Kada liste nisu dovoljne za organizovanje
podataka?
– Liste nisu dovoljne za kompleksne informacije
(npr. za fakultet: ime, prezime studenta,
matični broj, adresa, koje predmete sluša)
– Liste nisu efikasne kada više ljudi pokušava
da pristupi njima (da dobije informacije)
16.5.2019. autor: dr Ana Kovačević, FB 13
Baza podataka vs lista
• Problemi sa listama
– Redudantnost podataka se dešava kada se
podaci ponavljaju
– Zahteva ažuriranje više lista
– Nekonzistentnost podataka se dešava kada
duplirani podaci se ne ažuriraju ispravno.
16.5.2019. autor: dr Ana Kovačević, FB 14
Baze podataka vs. liste
16.5.2019. autor: dr Ana Kovačević, FB 15
Baze podaka vs liste
• Ostali problemi za korišćenje lista umesto
baza podataka: – Neadekvatni podaci (student upiše nepostojeći
predmet)
– Nekompletni podaci zbog nepoznavanja ili nedostatka
informacija (npr. Na prethodnoj slici za Leanne
O’Connor nije prijavljena za predmete.Na osnovu
zapisa ne može se reći da li zaista nedostaje ili nije
unešeno greškom).
16.5.2019. autor: dr Ana Kovačević, FB 16
Baze podataka vs liste
• I kada se oprezno unosi i postavljaju se
pravila nije dovoljno:
– Opreznost pomaže, ali ima dosta prostora za
greške
– Redudantnost podataka i nekozistentnost su i
dalje problemi
– Kompleksni podaci moraju se organizovati u
baze
• Najpraktičnije i efikasnije
16.5.2019. autor: dr Ana Kovačević, FB 17
Prednosti korišćenja baza
• Kako baze podataka olakšavaju
svakodnevi život:
– Upravljaju velikom količinom podaka efikasno
– Omogućavaju deljenje informacija
– Unapređuju integritet podataka
16.5.2019. autor: dr Ana Kovačević, FB 18
Prednosti korišćenja baza
podataka • Kako baze podataka mogu da koriste
velike količine podataka efikasno:
– Organizovanje podatka na specifičan način
– Čuvanje u višestrukim listama (tabelama)
– Programi baza podatka su kreirani specifično
da upravljaju ispravno velikom količinom
podataka, koji se ažuriraju i koriste.
16.5.2019. autor: dr Ana Kovačević, FB 19
Prednosti korišćenja baze
podataka • Kako BP čine deljenje informacija moguće:
– Samo jedan fajl se održava - čime je
omogućena centralizacija podataka.
– Centralizovana baza postaje deljeni izvor
informacija
– Fajlovi ne trebaju međusobno da se
upoređuju
– Kontrolisani pristup povećava sigrunost
16.5.2019. autor: dr Ana Kovačević, FB 20
Prednosti korišćenja baze
podataka
16.5.2019. autor: dr Ana Kovačević, FB 21
Prednosti korišćenja baze
podataka • Kako baza podataka omogućuje integritet
podataka:
– Integrite podataka označava da su podaci
celoviti (tj. tačni i pouzdani)
– Centralizacija značajno omogućava integritet
podataka
– Potrebno je da se podaci ažuiraju samo na
jednom mestu, za razliku od korišćenja
višestukih lista (npr. promena prezimena, ili
adrese ). 16.5.2019. autor: dr Ana Kovačević, FB
22
Korišćenje baze
– Administrator baze (ili dizajner baza podataka) je
odgovoran za dizajniranje, konstruisanje i održavanje
(veće) baze
– Administrator baze podataka (database administraor
DBA) omogućava nesmetan tok podataka.
OGRANIČENJA:
– Može biti zahtevnije i skuplje da se postavi i
administrira
– Potrebno je da se PAŽLJIVO uradi dizajn baze
podataka
– Ograničenja modela
16.5.2019. autor: dr Ana Kovačević, FB 23
Database Management
Systems (DBMS) • Database Management Systems (DBMS)
– Sistem za upravljanje bazom podataka
(SUBP) je posebno kreiran aplikativini
softver koji se koristi za interakciju sa
korisnicima, drugim aplikacijama i
podacima za korišćenje i analizu
podataka.
• Primeri: Oracle Database, MS Access
16.5.2019. autor: dr Ana Kovačević, FB 24
DBMS
• Kako su baze podataka kreirane?
– Četiri osnovne operacije DBMSa?
• Kreiranje baze podataka i unošenje podataka
• Pregledanje (ili prelistavnje) i sortiranje podataka
• Upiti (izdvajanje) podataka
• Prikazivanje rezultata.
16.5.2019. autor: dr Ana Kovačević, FB 25
Terminologija baze podataka
• Kako su podaci sačuvani u bazi podataka
– Polja
• Čuva svaku kategoriju informaicje
• Prikazuje kao kolonu
• Identifikacija na osnovu imena polja
– Rekord
• Grupa povezanih polja (red)
– Tabele
• Grupa povezanih rekorda
• Uobičajeni subjekt
16.5.2019. autor: dr Ana Kovačević, FB 26
Planiranje i kreiranje baze
podataka
16.5.2019. autor: dr Ana Kovačević, FB 27
StudentID Broj
Indeksa
Ime Prezime Datum
rođenja
Mesto
Rodjenja
PF Adresa
10001 1/15 Marija Marjanović 12.12.1996 Beograd 11000 Ulica palmi
12
StudentI
D
Broj
Indeksa
Ime Prezime Datum
rođenja
Mesto
Rodjenja
PF Adresa
Number Varchar2 Varchar2 Varchar2 Date Varchar2 Number Varchar2
Baze podataka
• Neophodne su deo svakog poslovanja danas.
• Iza glavnih Web sajtova- Google ili mnogih manjih sajtova koje pružaju informacije je baza podataka.
• “Srce” svakog informacionog sistema predstavlja baza podataka
• Moć baza podataka dolazi od korpusa znanja i tehnologije koja se razvija nekoliko dekada i koje je ugrađena u specijalizovani softver Sistem za upravljanje bazom podataka, DBMS (Database Management Systems- DBMS)
VISER 2013, Klijent-server
sistemi
28 5/16/2019
16.5.2019. autor: dr Ana Kovačević, FB 29
Baza podataka danas
• Primena u svim oblastima društvenih delatnosti:
– u bankarstvu (rad sa transakcijama)
– trgovini (proizvodi, kupci, prodaja)
– proizvodnji (proizvodnja, narudžbenice, lanci
snadbevanja, magacini)
– upravljanju ljudskim resursima (evidencija o
zaposlenima, plate, planiranje ljudskih resursa).
– avio kompanijama (rezervacija avionskih karata,
planiranje)
– naučnim istraživanjima, univerzitetima
Manji i mani sistemi
• Prvobitni DBMS su bili veliki, skupi softver koji se izvršavao na velikim kompjuterima.
• Veličina je bila neophodna, zbog skladištenja velike kol. podataka.
• Danas, DBMS staje na PC računaru, pa DBMS postaje uobičajeni alat za kompjuterske aplikacije, kao ranije Word ili Excel.
• Drugi značajan trend je tagovanje dokumenata korišćenjem XMLa.
30 5/16/2019
Veći i veći sistemi • S druge strane, GB nije više veliki količina podataka. Baze preduzeća
(korporacija) skladište terabajte (1012 bytes), a postoje brojne baza koje čuvaju PB(1015 B).
• Neki važni primeri:
– Google pokupi PB podataka od jednog “skupljanja” sa Weba. Ovi podaci se ne čuvaju u “tradicionalnim” DBMS, već u specijalizovanim strukturama optimizovanim za search-engine upite.
– Slika govori više od hiljadu reči. Repozitorijumi kao što je Flicker čuvaju milione slika i podržavaju pretraživanje ovih slika.
– Video klipovi zauzimaju još više prostora. Sat vremena videa zauzima min GB. Sajtovi kao YouTube imaju na hiljade, ili milione klipova.
– Peer-to-peer sistemi za deljenje fajlova koriste velike mreže konvencionalnih kompjutera da sačuvaju i distribuiraju podatke različitih vrsta. Iako svaki čvor u mreži može da sačuva samo nekoliko stotina GB, zajedničku bazu koju čine je velika.
31 5/16/2019
Integracija informacija
• Problem integracije informacija: predstavljanje informacija sadržanih u brojnim bazama kao jednu. Npr. velika kompanija ima mnoga odeljenja. Svaki deo može da izgradi sopstvenu bazu proizvoda ili uzme rekorde nezavisno od drugih odeljenja.
• Neka od ovih odeljenja su ranije bila nezavisne kompanije, koje imaju sopstveni način rada.
• Različita odeljenja koriste različite DBMS’s i različite strukture informacija. Mogu koristiti različite nazive koji znače istu stvar i iste nazive koje znače različite stvari.
32 5/16/2019
RAZVOJ SISTEMA ZA
UPRAVLJANJE PODACIMA
16.5.2019. autor: dr Ana Kovačević, FB 33
Razvoj sistema za upravljanje
podacima • Programsko upravljanje zapisima (1955-
1970)
• On-line (hijerarhijske/mrežne) BP
• Relacione baze podataka
• Objektno-orijentisane baze podataka
(dopuna
• Objektno-relacione baze podataka)
34 5/16/2019
Programsko/sekvencijalno
upravljanje zapisima: 1955-1970
35 5/16/2019
Obrada zasnovana na fajlovima
• Fajl je kolekcija rekorda (zapisa) koji
sadrže logički povezane podatke.
• Sistem zasnovan na fajlovima predstavlja
skup aplikacija/programa oslonjenih na
fajlove koji obavljaju neke servise za
krajnjeg korisnika.
• Svaki program definiše i upravlja “svojim”
podacima.
36 5/16/2019
Obrada zasnovana na fajlovima
37 5/16/2019
Ograničenja sistema zasnovanih
na fajlovima • Razdvojenost i izolovanost podataka
• Redudantnost podataka
• Zavisnost programa od organizacije podataka
• Nekompatibilnost formata fajlova
• Niska produktivnost razvoja/održavanja IS
• Povećanje potrebe za novim izveštajima
– Fiksni upiti/izveštaji
– Porast fajlova i aplikativnih programa
38
5/16/2019
Posledice ograničenja fajlovski
organizovanih sistema: • Definicija podataka je ugnježdena u
aplikativnom programu
• Ne postoji kontrola nad pristupom i
manipulacijom podacima, osim one koju
daju aplikativni program
• NOVI PRISTUP: baza podataka (BP) i
Sistem za upravljanje bazom podataka
(SUBP=DBMS).
39 5/16/2019
Obrada zasnovana na
korišćenju BP
40 5/16/2019
Baze podataka nekad
16.5.2019. autor: dr Ana Kovačević, FB 41
Prve važne aplikacije DBMS
• Su one gde su podaci sačinjeni od brojnih malih elemenata, mnogih upita ili modifikacije. Primeri:
• 1. Bankarski sistemi: održavanje računa i obezbeđenje da pad sistema neće uticati na gubitak novca.
• 2. Sistem za rezervaciju avio karata: kao bankarski sistem, zahteva obezbeđenje da podaci se neće izgubiti i mora prihvatiti veliki obim sitnih akcija korisnika.
• Čuvanje zapisa preduzeća: podaci o zaposlenima, porezu, investitorima, prodaji, i veliki obim drugih tipova informacija, čija većina je kritična.
42
5/16/2019
Baza podataka danas
16.5.2019. autor: dr Ana Kovačević, FB 43
Baze podataka danas
16.5.2019. autor: dr Ana Kovačević, FB 44
Baze podataka danas
16.5.2019. autor: dr Ana Kovačević, FB 45
Baze podataka danas
16.5.2019. autor: dr Ana Kovačević, FB 46
Baza podataka (BP)
• BP: zajednički korišćena kolekcija logički
povezanih podataka i opisa tih podataka,
projektovana da zadovolji informacione
potrebe preduzeća
• NEZAVISNOST programa od podataka.
47 5/16/2019
16.5.2019. autor: dr Ana Kovačević, FB 48
Baza
podataka
Programi za
izveštavanje
Programi
za
upravljanje
Relan sistem Izlaz1
Izlaz2
Ulaz
Cilj svakog modela je da učini da je: Izlaz1 ≈ Izlaz2
Informacioni sistem
Modeliranje realnog sistema
16.5.2019. autor: dr Ana Kovačević, FB 49
Baza podataka
• Veliki, integrisani skup podataka
• Komponente baze podataka:
– tabele ili datoteke
– relacije (veze) između vrsta u tabelama i
– metapodaci (podaci o podacima)
16.5.2019. autor: dr Ana Kovačević, FB 50
Prednosti baze podataka
• Fizička nezavisnost – izmene u fizičkoj
strukturi podataka ne dovode do izmene
šeme, podšema i aplikativnih programa.
• Logička nezavisnost: –
– izmene konceptualne šeme ne utiču na
izmene podšema i programa pod uslovom da
se ne menjaju obeležja podataka koje taj
program koristi; promeniće se samo
preslikavanje.
16.5.2019. autor: dr Ana Kovačević, FB 51
PREDNOSTI rada sa bazama
podataka • Integrisanost podataka (centralizovana
kontrola svih podataka i upravljanje
podacima na sistematičan način)
• Nezavisnost podataka od programa koji ih
obrađuju.
• Razdvajanje fizičkog zapisa i logičke
organizacije podataka.
16.5.2019. autor: dr Ana Kovačević, FB 52
PREDNOSTI baze podataka
• Prednost računarskih BP:
– lakše smeštanje velike količine informacija
– jednostavno, brzo i fleksibilno dobijanje traženih informacija
– lakše organizovanje i reorganizovanje informacija
– lakše prezentovanje i distribuiranje informacija
16.5.2019. autor: dr Ana Kovačević, FB 53
Poboljšanja u organizovanju i
korišćenju podataka • Smanjenje i kontrolisanje redudanse podataka
• Zajedničko korišćenje podataka od strane više
korisnika
• Poboljšanje konzistentnosti (saglasnosti)
podataka
• Smanjenje verovatnoće nastanka nekorektnosti
podataka.
• Podacima mogu pristupati samo autorizovani
korisnici.
16.5.2019. autor: dr Ana Kovačević, FB 54
Aspekti baze podataka
• Sistem za upravljanje bazom podataka (Database Management Systems) – softverski sistemi koji obezbeđuju osnovne funkcije obrade velike količine podataka.
• Modeli podataka: – Intelektualni alati pomoću kojih se opisuje (modeluje)
sistem kao skup objekata, njihovih atributa i njihovih međusobnih veza.
ANSI/x3/SPARC
• ANSI/x3/SPARC (Standards Planning and
Requirements Comittee) predložio (1975.)
3-nivovsku arhitekturu sa sistemskim
katalogom, koji omogućava logičku i fizičku
nezavisnost podataka.
– Subšema, logička, fizička šema
– Koncept transakcija i zaključavanja.
55 5/16/2019
16.5.2019. Glava 7 56
ANSI-SPARC arhitektura
Aplikativni
program
Korisnik za
terminalom
Aplikativni
program
pogled 1 pogled 2 pogled 3
Šema
DISK
Eksterni
(Lokalni logički)
nivo
Konceptualni
(Globalni logički)
nivo
Fizički
nivo 56
5/16/2019
ANSI-SPARC arhitektura (2)
• Eksterna/spoljan šema: opisuje deo BP
koji je relevantan za pojedinačnog
korisnika
• Konceptualna šema: opisuje sve entitete,
atribute, njihove relacije, ograničenja,
informacije o sigurnosti i integritetu.
• Fizička šema: opisuje kako su podaci
memorisani u BP, alokacija memorijskog
prostora za podatke i indekse,… 57
5/16/2019
ANSI-SPARC arhitektura
• Eksterno-konceptualno preslikavanje,
omogućava logičku nezavisnost podataka.
• Konceptualno-interno preslikavanje,
omogućava fizičku nezavisnost podataka.
• DBMS je odgovoran (održava) za
preslikavanje između ova tri nivoa.
58 5/16/2019
16.5.2019. autor: dr Ana Kovačević, FB 59
Nezavisnost podataka
• Nezavisnost podataka – nezavisnost programa i podataka.
• Logička nezavisnost – baza podataka se može projektovati relativno nezavisno od toga kako će se podaci koristiti.
• Logička nezavisnost podataka – nezavisnost između konceptualne šeme i podšema.
• Fizička nezavisnost podataka – nezavisnost između konceptualne i interne šeme baze podataka.
16.5.2019. autor: dr Ana Kovačević, FB 60
Anatomija baze podataka
16.5.2019. autor: dr Ana Kovačević, FB 61
Sistem za upravljanje bazom
podataka • Sisetem za upravljanje bazom podataka –
SUBP (engl. Database Management
system) je softverski sistem koji
obezbeđuje osnovne funkcije obrade
velike količine podataka tj. efikasno
memorisanje i upravljanje bazama
podataka.
16.5.2019. autor: dr Ana Kovačević, FB 62
Sistem za upravljanje bazom
podatka - nastavak • Složen softverski sistem koji treba da
omogući:
– logičku i fizičku nezavisnost programa od
podataka
– jednostavno komuniciranje sa bazom
podataka preko jezika bliskih korisniku tzv.
upitnih jezika.
16.5.2019. autor: dr Ana Kovačević, FB 63
Korišćenje baze podataka
• Bazi se može pristupati na različite načine,
npr. preko:
– korisničkog programa
– upitnog jezika
– menija
– prozora i maski.
16.5.2019. autor: dr Ana Kovačević, FB 64
Projektovanje baze podataka
• Potrebno je razumeti:
– podatke
– relacije između podataka
– ograničenja podataka.
• Projektovanje baze je kritično za
efikasnost IS.
16.5.2019. autor: dr Ana Kovačević, FB 65
Projektovanje baze podataka
• I faza: projektovanje LOGIČKE strukture
– rezultat konceptualna šema i podšema
• II faza: projektovanje FIZIČKE strukture
– rezultat interna šema baze podataka.
16.5.2019. autor: dr Ana Kovačević, FB 66
Model podataka
• Osnovne komponente modela podataka:
– logička struktura svih podataka
– skup operatora
– skup ograničenja nad podacima
Šema je opis određenog skupa podataka
korišćenjem datog modela podataka.
16.5.2019. autor: dr Ana Kovačević, FB 67
Osnovne komponente modela
podataka • Struktura modela (skup koncepata za opis
objekata sistema, njihovih atributa i
njihovih međusobnih veza).
• Ograničenja podataka
• Operacije (nad podacima)
• Dinamička pravila integriteta (definišu
osnovna dinamička ponašanja modela)
16.5.2019. autor: dr Ana Kovačević, FB 68
Vrste modela baza podataka
• Hijerarhijski
• Mrežni
• RELACIONI (Codd-ov rad iz 1970. god).
• Objektno-relacioni
• Objektni
16.5.2019. autor: dr Ana Kovačević, FB 69
Relacioni model
Glavni koncept kod relacionog modela
podataka je relacija (tabela)
Svaka relacija ima svoju šemu koja opisuje
kolone, tj. polja relacije.
16.5.2019. autor: dr Ana Kovačević, FB 70
Tabele su povezane preko ključeva
student
smer
profesori
16.5.2019. autor: dr Ana Kovačević, FB 71
Tabele radnik i odeljenje
16.5.2019. autor: dr Ana Kovačević, FB 72
Osnovni pojmovi
• Primarni ključ – PK (PRIMARY KEY): jedistveno identifikuje svaki objekat.
– kandidat za ključ koji se najčešće koristiti da jedinstveno identifikuje objekat (šifra studneta)
• Spoljni ključ (Foreign key, FK) koristi se za povezivanje sa vrednošću PK drugog objekta
• Objekti su uvek u nekoj relaicji.
Primarni ključ
– Mora biti jedinstven
– Ne treba ništa da predstavlja (govoreće šifre),
npr. matični broj.
– Primer: autoNumber
16.5.2019. autor: dr Ana Kovačević, FB 73
Relacione baze podataka
• Organizuju podatke u format tabele
• Logički grupišu slične podatke u relaciju
• Povezuju podatke između tabele preko relacija za zajedničkih
ključeva.
– Primarni ključ u jednoj tabeli je povezan sa stranim ključem u
drugoj tabeli.
– Potrbeno je da da se podaci u odgovarajućim tabelama
sinhronizuju (referencijalni integritet: svaka vrednost u „stranoj“
tabeli ima odgovarajuću vrednostu u primarnoj tabeli)
16.5.2019. autor: dr Ana Kovačević, FB 74
Relacione baze
• Različiti tipovi realicija postoje u relacionim
bazama: – Jedan prema više: jedan rekord se pojavljuje jednom u jednoj
tabeli i više puta u odgovarajućoj tabeli
– Jedan prema jedan: za svaki rekord u jednoj tabeli postoji samo
jedan rekord u odgovarajućoj tabeli
– Više prema više: Rekordi u jednoj tabeli mogu odogovarati više
rekorda u odgovarajućim tabelema i obrnuto.
• Relacione baze su odlične za podatke koje mogu da se
smeste u tabele i mogu da budu organizovane u polja i
rekorde. Ali za neke podatke kao što su slike, video,
audio mnogo je prirodnija sredina objektno-orijentisane
baze. 16.5.2019. autor: dr Ana Kovačević, FB
75
Objektno-orijentisane baze
• Objektno-orijentisane baze:
– Čuvaju podatke u objektima pre nego u
tabelama
– Takođe imaju metode za obradu i
manipulaciju podataka
– Mogu da čuvaju više tipova podataka nego
relacione baze
– Mogu da pristupaju podacima brže.
16.5.2019. autor: dr Ana Kovačević, FB 76
Objektno-orijentisane baze
• Objektno-orijentisane baze su zgodnije za
nestruktuiranie podatke
– Nestruktuirani podaci uključuju audio klipove,
video, slike i ekstremno velika dokumenta:
• Binary large objects (BLOB) su nestruktuirani
podaci kodirani u binarnoj formi
• Struktuirani podaci su analitički podaci („Mitar“ ili
„298“).
16.5.2019. autor: dr Ana Kovačević, FB 77
Funkcije baze podatka
• Funkcije:
– Omogućavaju korisnicima da izdvoje podskup
iz baze podataka
– Šalju podatke na smislen i način i u formatu
za prezentovanje
16.5.2019. autor: dr Ana Kovačević, FB 78
Funkcije baze podaka:
Unošenje podataka • Kako ubaciti podatke u bazu podataka:
– Može se direktno unositi u bazu podataka
– Može se uneti (importovati) iz drugih fajova:
• Čuva vreme
• Smanjuje greške podataka
• Mora da se podudari format podataka
• Filteri se često primenjuju
• „Nepotvrđeni“ podaci su označeni
16.5.2019. autor: dr Ana Kovačević, FB 79
Unošenje podataka
16.5.2019. autor: dr Ana Kovačević, FB 80
Forma za unos
podataka
Validacija podataka
• Kako obezbediti da samo validni podaci se
unose u polja:
– Validacija je proces koji obezbeđuje da podaci
zadovoljavaju specifične smernice
– Validaciona pravila su definisana u rečniku
podataka
– Specifikovana u osobinama polja za svako
polje
– Narušavanje rezultuje porukama o grešci sa
predloženom aktivnošću 16.5.2019. autor: dr Ana Kovačević, FB
81
Validacija podataka
16.5.2019. autor: dr Ana Kovačević, FB 82
Validacija podataka
omogućava da su korektni
podaci uneseni
Validacija podataka
• Uobičajena pravila validacije:
– Provera opsega: podaci se nalaze u okviru
opsega
– Provera kompletnosti: obezbeđuje da su sva
potrebna polja unesena
– Provera kozistentnosti: Upoređuje
usklađenost vrednosti
– Provera numerika i alfabetska: provera da li je
unesen samo tekst ili brojevi u polja.
16.5.2019. autor: dr Ana Kovačević, FB 83
Provera podataka
16.5.2019. autor: dr Ana Kovačević, FB 84
Prikazivanje i sortiranje
podataka
16.5.2019. autor: dr Ana Kovačević, FB 85
Sortiranje rekorda
prema imenu polja
Pregledanje
rekorda
Ekstrakcija ili upiti podatka
16.5.2019. autor: dr Ana Kovačević, FB 86
Kada se kreira upit, mogu se
specifikovati polja iz više tabela
kao i specifični kriterijumi u
polju. Izlaz označava one
rekorde koji zadovoljavaju
specifične kriterijume
Ekstrakcija ili upiti nad
podacima • Prikazivanje podskupa podataka iz baze
podataka:
– Upitini jezik
– SQL (Structured Query Language) je
najpoznatiji, i jednostavan za učenje.
16.5.2019. autor: dr Ana Kovačević, FB 87
16.5.2019. autor: dr Ana Kovačević, FB 88
SQL
• SQL (Structured Query Language) de
facto standarni jezik baza podataka
• Jezik IV generacije, English like
16.5.2019. autor: dr Ana Kovačević, FB 89
Pretraživanje baza podataka
• Sintaksno
• Data Mining:
• otkrivanje i izdvajanje skrivenih prediktivnih
informacija iz velikih BP
• koristi statističke metode i tehnologiju
veštačke inteligencije:
• locira trendove i karakteristične oblike u
podacima, koji bi se inače prevideli
uobičajenim SQL upitima BP
Savremeni DBMS
• Relacioni sistem za upravljanje BP (RDBMS)
• Objektno orijentisani sistemi za upravljanje BP
(OO DBMS)
• Objektno-relacioni sistem za upravljanje BP
(OR DBMS)
• Kategorizacija nije jednostavna, ovde je
diferencijacija izvršena na osnovu (modela,
upitnog jezika, računarskog modela)
90 5/16/2019
DBMS obezbeđuju
• Definisanje BP
• Mogućnost unošenja, ažuriranja, brisanja i
pretraživanja podataka
• Kontrolisani pristup podacima:
– Katalog dostupan korisniku
– Sigurnost
– Integritet
– Kontrola konkurentnosti, oporavka…
91 5/16/2019
Funkcije DBMS
• Memorisanje, pretraživanje i ažuriranje podataka (osnovna f-ja DBMS)
• Sistemski katalog dostupan korisniku
• Podrška transakcijama
• Upravljanje konkuretnim pristupom
• Servisi oporavka
• Servisi autorizacije
• Podrška komunikaciji
• Servisi integriteta
• Servisi za unapređenje nezavisnosti podataka
• Uslužni servisi
VISER 2013, Klijent-server
sistemi
92 5/16/2019
DATA WAREHOUSE
16.5.2019. autor: dr Ana Kovačević, FB 93
Data warehouse
• Najednostavnije, podaci su sačuvani u 1
bazi na serveru, i pretražuju se kad je
potrebno. TO je dovoljno za male baze i
jednostavno poslovanje.
• Problem nastaje sa razvojem organizacije
i podaci se nalaze u odvojenim bazamam
(koje nisu pravljene za pristupanje ovim
tipovima podataka).
• Veliki repozitorijumu DATA WAREHOUS
rešavaju ovaj problem.
16.5.2019. autor: dr Ana Kovačević, FB 94
Data warehouse
• Veliki skup podataka koji sadrži i
organizuje na jednom mestu sve podatka
iz više baza.
• Podaci dolaze iz više baza
• Konsoliduje podatke iz različitih sistema.
16.5.2019. autor: dr Ana Kovačević, FB 95
Data warehouse
16.5.2019. autor: dr Ana Kovačević, FB 96
Podaci iz individualnih baza su izvučeni
zajdeno u data warehouse. Menadžeri mogu da
proizvedu obiman izveštaj koji je nemoguće
kreirati iz individualnih baza podataka.
Data warehouse
• Data warehouse ne obuhvataju podatke
samo iz jednog perioda vremena:
– Podaci su vremenski promenljivi
– Sadrži sadašnje i istorijski podatke
– Omogućuje analiziranje prošlosti
– Ispituje sadašnjost u svetlosti istorijskih
podataka
– Čini pretpostavke o budućnosti
16.5.2019. autor: dr Ana Kovačević, FB 97
Popunajvanje DataWarehouse
• Kako je DataWarehouse popunjeno
podacima:
– Interni izvori: Kompanijske baze i drugi alati
za analizu
– Eksterni izvori: Podaci koje obezbeđuju
vendori, dobavljači...
– Clickstream podaci: Softver koji se koristi da
prikupi informacije o svakom kliku koji korisnik
čini.
16.5.2019. autor: dr Ana Kovačević, FB 98
DataWarehouse
• Pre ubacivanja podataka u
DataWarehouse mnogi programi i
procedure su najčešće potrebne za
izdvajanje podataka i njihovo
reformatiranje
• Priroda i kompleksnost izvornih podakta
određuje kompleksnost procesa unošenja
podataka u DataWarehouse.
16.5.2019. autor: dr Ana Kovačević, FB 100
Data Mining
• Data mining
– Proces kojim se velika količina podataka analizira i
istažuje.
– Uočiti značajne paterne i trendove koji nisu očigledni.
101
Data Mining - tehnike
– Klasifikacija
– Definisati klase podataka
– Primeniti klase na neklasifikovane podatke
– Procena
• Omogućuti menadžerima da dodele vrednost baziranu na
određenim kriterijumima
– Asocijativna pravila
• Menadžeri određuju koji podaci idu zajedno.
– Klasterizacija
– Organizovanje podataka u slične grupe koje nisu unapred
poznate.
– Opis i vizualizacija
– Opis podataka tako na menadžeri mogu da ih interpretiraju
na novi i različit način.
102
16.5.2019. autor: dr Ana Kovačević, FB 103
Literatura
• Dejan Simić: Osnove informaciono-
komunikacionih tehnologija, FON 20011.
• Ana Kovačević, Ninel Čukalevski: Razvoj
klijent-server sistema korišćenjem DBMS
Oracle, VETS 2005.
• Evans, Martin, Poatsy „Technology in
action“ 10th edition, 2014.