2. Baza podataka i pretraživanje informacija
Informacije danas dobijaju sve veći značaj, pa
se javlja problem njihovog organizovanja.
Pod organizacijom podataka podrazumijeva se
njihovo predstavljanje i povezivanje.
Organizacija podataka u vidu integrisanih
podataka naziva se baza podataka.
2
3. Šta je baza podataka?
Osobine baza podataka
Baza podataka se definiše kao skup centralizovanih
podataka tako da se obrada podataka i pretraživanje
istih može uspješno primjenjivati.
Organizacija podataka u datoteke dovodi do toga da
različite datoteke sadrže iste podatke, čime se otežava
njihovo održavanje i nepotrebno zauzimanje
memorijskog kapaciteta.
Ovakva organizacija dovodi i do dupliranja podataka i
rasta obima podataka.
3
5. Ovi nedostaci se prevazilaze organizacijom
podataka u vidu integrisanih podataka, tj. baza
podataka.
Kod baza podataka nema dupliranja podataka i
novi podaci se jednostavno mogu dodavati.
Moguće je povećati poslovanje ili poboljšati
kvalitet i pouzdanost informacija , tako da se
baze podataka koriste u gotovo svim
organizacijama.
5
7. Funkcije baze podataka
Pristup i korišćenje podataka iz baze podataka
omogućeno je programima koji se nazivaju
sistem za upravljanje bazom podataka (DBMS-
Data Base Management Systems).
Bazu podataka, po pravilu, koristi veliki broj
korisnika.
7
8. Formiranjem zajedničke baze, postižu se
sledeći ciljevi:
1. smanjuje se dupliranje podataka,
2. svaki korisnički program obuhvata podatke u odgovarajućoj
strukturi i formatu,
3. korišćenje podataka nije uslovljeno poznavanjem unutrašnje
organizacije baze podataka,
4. postojeće aplikacije ne moraju se ponovo programirati pri
uvođenju novog softvera i hardvera,
5. lakše se zadovoljava potreba za budućim proširenjem baze
podataka novim podacima
6. zajednički način pristupa podacima za sve korisnike
omogućava olakšanu kontrolu i zamjenu.
8
9. Vrste baza podataka
Klasifikacija prema strukturi
Definisani odnos između podataka u bazi
podataka određuje globalnu logičku strukturu.
Odnosi između podataka mogu se predstaviti
određenim strukturama podataka.
Postoje četiri logičke strukture baza podataka:
hijerarhijska,
mrežna,
relaciona i
objektna.
9
10. Hijerarhijska sturktura
Hijerarhijski tip zasniva se na strukturi u kojoj
su podaci uređeni vezom roditelj-dijete.
Roditelj može da ima više od jednog djeteta, ali
dijete ima samo jednog roditelja.
Ova struktura podataka ima oblik stabla. Sastoji
se od korjenog segmenta i njemu podređenih
segmenata.
Nadređeni segmenti mogu imati više podređenih
segmenata, a podređeni segmenti mogu imati
samo jedan nadređeni.
10
12. Mrežna struktura
Za razliku od hijerarhijske baze podataka i hijerarhijske
strukture podataka, mrežna baza podataka zasniva se na
mreži podataka povezanih tako da ne postoji ni korjeni ni
podređeni segmenti.
U osnovi je ovo hijerarhijska struktura, međutim, ne samo
da roditelj ima više od jednog djeteta, nego i dijete ima
više od jednog roditelja.
S mrežnim tipom, višestruke klase veze roditelj-dijete
(set) mogu biti predstavljene.
U uslovima kada su veze između podataka jednostavne i
malobrojne, mrežna i hijerarhijska struktura zadovoljavaju
potrebe korisnika.
12
14. Relaciona baza podataka
Predstavljanje podataka dvodimenzionalnim
tabelama predstavlja relacijsku strukturu.
Svaka tabela je ekvivalentna i nezavisna.
U ovoj strukturi ne postoje grupe koje se ponavljaju
i svaka ćelija tabele predstavlja jedan podatak.
Kolone imaju svoj naziv, redovi se razlikuju među
sobom, a u jednoj koloni postoji samo jedna vrsta
podataka.
Za hijerarhijski i mrežni tip, sami podaci (slika 3.) i
veza između svakog podatka (slika 4.)
predstavljene su linijama.
Kod relacione baze podataka, podaci se smještaju
u tabele i povezuju se relacijama.
14
15. Lijeva tabela na slici 5. je tabela članova konfigurisana sa kodom
člana, imenom člana i kodom bivše osnovne škole, a desna tabela
je klasifikacijska tabela osnovne škole konfigurisana s kodom bivše
osnovne škole i imenom osnovne škole.
15
16. Relaciona baza podataka sastoji se od relacija.
Relacioni pristup zasnovan je na relacionoj
matematici.
Relaciona algebra je potrebna za precizan opis
operacija koje se izvode nad podacima u
relacionoj bazi podataka.
Većina rezultata relacione matematike može se
neposredno primjeniti na relacione baze
podataka.
Skup vrijednosti jednog podatka odnosno kolone
zove se domen.
Relacija je jednoznačno identifikovana ključem
relacije.
Svaka relacija mora imati ključ.
16
17. Klasifikacija baza podataka u zavisnosti
od oblika informacije
Primarna informacija je informacija koja se
direktno prikupi pregledom terena, istraživanjem
terena ili prikupljanjem eksperimentalnih
podataka itd.
Sekundarna informacija je informacija dobijena
uređivanjem ili obradom primarnih informacija
kao što su novine, knjige, podaci i Web stranice
na Internetu.
Prikupljene primarne informacije zovu se
činjenična baza podataka, a prikupljene
sekundarne informacije zovu se referentna
baza podataka.
17
18. Kod sekundarnih informacija, moraju biti uključene
informacije u kojima možete vidjeti koje vrste primarnih
informacija su korištene.
18
19. Klasifikacija baza podataka prema
vrsti medija
U zavisnosti od vrste medija na kojoj je smještena baza
podataka, dijelimo ih na online bazu podataka i offline
bazu podataka.
Online baza podataka
Ovo je baza podataka koju možete pretraživati kada želite i
u stvarnom vremenu, jer je korisnički terminal i server baze
podataka povezan komunikacijskom linijom. Trenutno se
ova baza podataka najviše koristi.
Offline baza podataka
Ovo je baza podataka koja se nalazi na nekom od medija
kao što su CD-ROM i DVD. Riječnici kao što je engleski
rječnik i srpsko-engleski rječnik, enciklopedije, slikovnice,
telefonski imenik, i sve što ima veliku količinu podataka
pretvara se u bazu podataka i objavljuje kao elektronski
riječnik. Ovi riječnici se zovu i database package.
19
20. KREIRANJE BAZA PODATAKA
Pri kreiranju baza podataka , takođe prthodno
trebamo organizovati podatke , odrediti ciljeve.
Ciljevi dizajniranja / kreiranja :
- eliminisati suvišne podatke
- omogućiti brzo pronalaženje pojedinačni
podataka
- sačuvati jednostavno održavanje baza
podataka
20
21. Ključne aktivnosti pri kreiranju baza podataka:
- modeliranje aplikacije
- definisanje podataka neophodih za aplikaciju
- organizovanje podataka u tabelama
- uspostavljanje međusobnih veza između tabela
- uspostavljanje zahtjeva indeksiranja i
vrednovanja podataka
- izrada i snimanje svih potrebnih upita u vezi sa
aplikacijama
21
22. Dobro kreirana baza podataka omogućava :
minimalno vrijeme potrebno za pronalaženje
zapisa
smještanje podataka na najefikasniji način tako
da baza ne postane suviše velika
najjednostavnije ažuriranje podataka
zahvaljujući svojoj fleksibilnosti uključivanje
novih funkcija koje bi se od programa mogle
zahtjevati
22
23. Primarni ključ, strani(spoljašnji)
ključ i integritet baze podataka
Nakon što smo se upoznali sa pojmom
baze podataka, informacionim sistemima i
sistemima za upravljanje bazama
podataka (DBMS), došlo je vreme da se
upoznamo sa nekoliko “ključnih” pojmova
vezanih za baze podataka: primarni ključ,
strani ključ i integritet baze podataka.
23
24. Najmanja količina informacije u tabeli je polje.
Polje se nalazi u preseku reda i kolone tabele.
Svako polje ima svoje ime.
Skup svih polja u jednom redu tabele naziva se
slog. Svaki slog tabele ima istu strukturu, ali
različite sadržaje.
Skup svih tabela i drugih objekata (obrasci,
izveštaji) definisanih u cilju rešavanja određenog
zadatka naziva se baza podataka.
Bazu podataka treba najpre pažljivo isplanirati,
pa tek onda kreirati i oblikovati bazu.
24
25. Da bi se povezale tabele u okviru baze
podataka, referentna tabela mora da ima
primarni ključ.
Primarni ključ je polje ili skup polja koji
jednoznačno određuje svaki slog u tabeli.
Dva sloga u tabeli ne mogu imati istu
vrednost u polju primarnog ključa.
Primarni ključ ima višestruku namenu.
S obzirom na to da jednoznačno određuje
svaki slog u tabeli, primarni ključ se koristi
za uspostavljanje relacija između tabela.
25
26. Primarni ključ omogućava da svi slogovi u
jednoj tabeli budu povezani sa zapisima u drugoj
tabeli. Ako tabela nije uređena na neki drugi
način, primarni ključ određuje njeno uređenje.
Primarni ključ od više polja koristi se kada
vrednost u polju koje bi trebalo da bude primarni
ključ nije jedinstvena.
Prilikom povezivanja tabela najčešće se koristi
zavisnost jedan prema više. Ova zavisnost se
koristi kada jednom slogu prve (primarne) tabele
odgovara više slogova u drugoj (sekundarnoj)
tabeli.
Kod ovakve zavisnosti primarna tabela mora
imati primarni ključ jedinstvene vrednosti.
26
27. Strani ključ je polje u sekundarnoj tabeli
sa kojim se vrši povezivanje i ne mora
imati jedinstvenu vrednost.
27
28. Integritet baze podataka čini skup pravila
koji obezbeđuje ispravnost zavisnosti i
nepromenljivosti stanja baze podataka
prilikom unošenja, osvežavanja i brisanja
podataka.
Osnovno pravilo integriteta baze podataka
je da za svaki slog sekundarne tabele
mora postojati samo jedan odgovarajući
slog u primarnoj tabeli.
28
29. Kod većine relacionih baza podataka
poštuju se sledeća pravila integriteta:
Nije moguće unijeti slog u sekundarnu tabelu,
ukoliko ne postoji slog u primarnoj tabeli.
Ne može se ukloniti slog primarne tabele, ukoliko
postoji slog koji je povezan u sekundarnoj tabeli.
Nije dozvoljena izmena sloga u sekundarnoj tabeli
ako za strani ključ nema odgovarajuće vrednosti u
primarnoj tabeli.
Ne može se izmeniti vrednost primarnog ključa u
primarnoj tabeli sve dok postoji povezan slog u
sekundarnoj tabeli.
Ova pravila pomažu održavanju kompletne
i pouzdane baze podataka. 29
30. Primjer kreiranja baze podataka
Biblioteka
Koraci:
Ustanoviti koji su nam podaci potrebni da
bismo kreirali bazu podataka Biblioteka.
Napraviti tabelu sa tim podacima
Izvršiti normalizaciju (dvije tabele)
Povezati tabele
30
31. Podaci potrebni za kreiranje baze:
Naslov knjige, ime pisca, broj strana, naziv
zanra, godina rodjenja pisca, godina kada je
umro pisac, izdavac knjige... Itd.
31
33. Prvi zadatak je razdvojiti podatke na
tabele. Jedan od načina na koji
posmatramo podatke je da uočimo one
koji se ponavljaju:
Za svaku knjigu koju je napisao Ivo Andrić
moramo da ponovimo sve podatke koji su
vezani za njega.
Očigledno je da ćemo izdvojiti podatke o
piscima u zasebnu tabelu i kasnije ćemo
pozivati te podatke preko njihovog ključa.
33
34. Ime pisca God.
Rodjenja
God. Smrti
Ivo Andrić 1892 1975
Stiven King 1947 --------
Semjuel
Beket
1906 1989
Naslov
Knjige
Br.
Stranica
Žanr Izdavač
Na drini
ćuprija
489 Roman Svjetlost
Travnička
hronika
674 Roman Svjetlost
Isijavanje 250 Roman Laguna
Čekajući
Godoa
90 Drama Laguna
TABELA PISCI TABELA KNJIGE
34
35. Sledeći korak je određivanje primarnog ključa.
Pošto ne možemo sa sigurnošću da tvrdimo da
se nikada neće pojaviti dvije knjige istog
naslova ili dva pisca istog imena, moraćemo
sami da odredimo dva nova polja koja će biti
primarni ključevi za tabele.
ID Pisca
Ime pisca
God. Rođenja
God. Smrti
ID Knjige
Naslov knjige
Br. Stranica
Žanr
Izdavač
TABELA PISCI: TABELA KNJIGE:
35
36. Konačno, moramo nekako da povežemo ove
dve tabele. U najvećem broju slučajeva
koristimo veze tipa jedan-prema-više. Ova veza
podrazumeva dodavanje novog polja (stranog
ključa) u jednoj od tabela koje će se povezivati
sa primarnim ključem druge tabele.
Veza jedan-prema-jedan bi podrazumevala da
jednom redu prve tabele odgovara tačno jedan
red druge tabele, pri čemu bi se povezivali
primarni ključevi. Pošto očigledno nije slučaj da
imamo tačno jednu knjigu od jednog pisca, ovde
će se koristiti veza jedan-prema-više.
36
37. Naša situacija je da imamo VIŠE knjiga koje je
pisao JEDAN pisac. Po pravilu, tabela koja
sadrži strani ključ može imati VIŠE podataka
koji se odnose na JEDAN podatak iz druge
tabele. To znači da će tabela KNJIGE imati
strani ključ koji se povezuje sa primarnim
ključem iz tabele PISCI.
Strani ključ mora biti istog tipa kao primarni ključ
sa kojim se povezuje. Tako dodajemo polje
PISAC u tabelu KNJIGE, koje je istog tipa kao
polje ID iz tabele PISCI.
37
38. ID Pisca
Ime pisca
God. Rođenja
God. Smrti
ID Knjige
Naslov knjige
Br. Stranica
Žanr
Izdavač
Pisac
TABELA PISCI: TABELA KNJIGE:
38