us - uvod u baze podataka

250

Upload: sandzackigazy

Post on 07-Aug-2018

240 views

Category:

Documents


1 download

TRANSCRIPT

http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 1/249
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 2/249
UNIVERZITET SINGIDUNUM
U VOD U
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 3/249
 Recenzenti:
 Izdava:
 Za izdavaa:
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 4/249
Sadraj   III
p o g l a v l j e 1 2
Sadraj
2.1. Podatak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Inormacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3. Metapodaci - podaci o podacima (metadata) . . . . . . . . . . . . . . 10 2.4. Sistem za upravljanje bazama podataka . . . . . . . . . . . . . . . . . . . 11
3. Klasian sistem zasnovan na datotekama . . . . . . . . . . . . . . . . . . .13
3.1. Nedostaci sistema zasnovanog na datotekama . . . . . . . . . . . . . 15
4. Pristup zasnovan na bazama podataka . . . . . . . . . . . . . . . . . . . . .17
4.1. Prednosti pristupa zasnovanog na bazama podataka . . . . . . . . 184.2. Troškovi i rizici pristupa zasnovanog na bazama podataka . . 19 4.3. Tipino okruenje baze podataka . . . . . . . . . . . . . . . . . . . . . . . . 21
5.Primene baza podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.1. Line baze podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.2. Baze podataka za radne grupe . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.3. Baze podataka odeljenja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.4. Baze podataka organizacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.5. Internet, Intranet i Extranet baze podataka . . . . . . . . . . . . . . . . 29
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 5/249
IV Sadraj
7. Modelovanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
7.1. Razvoj konceptualnih modela . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.2. Entiteti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.3. Veze izmeu entiteta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7.4. Troslojna arhitektura baze podataka . . . . . . . . . . . . . . . . . . . . . . 45
8. Modeli baza podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
8.1. Hijerarhijski model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 8.2. Mreni model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 8.3. Relacioni model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.4. Objektni model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
9.1. Funkcionalna dekompozicija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 9.1.1. Jacksonovi dijagrami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 9.1.2. Pravila u kreiranju Jacksonovih dijagrama . . . . . . . . . . . . 60
9.2. Dijagrami tokova podataka (DTP) . . . . . . . . . . . . . . . . . . . . . . . 62 9.2.1. Kontekstualni dijagrami . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
9.2.2. Dijagram toka podataka 0. nivoa . . . . . . . . . . . . . . . . . . . . 69 9.2.3. Kompletan primer dekompozicije kroz DTP . . . . . . . . . . 70
9.3. Renik podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 9.3.1. Definisanje struktura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 9.3.2. Definisanje polja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 9.3.3. Definisanje domena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10. Model objekti-veze (MOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.1. Dijagrami objekti-veze (DOV) . . . . . . . . . . . . . . . . . . . . . . . . . 82 10.2. Objekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 10.3. Atributi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 10.4. Veze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 10.5. Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
11. Relacioni model podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
11.1. Istorija i razvoj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9211.2. Kljuni koncepti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 6/249
Sadraj   V
11.3. Objekti u relacionom modelu podataka . . . . . . . . . . . . . . . . . . 95 11.3.1. Šema relacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 11.3.2. Relacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 11.3.3. Relaciona baza podataka . . . . . . . . . . . . . . . . . . . . . . . . . . 97
11.3.4. Kandidat klju . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9711.3.5. Primarni klju . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 11.3.6. Spoljni klju . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
11.4. Integritet podataka u relacionom modelu . . . . . . . . . . . . . . . . 99 11.4.1. Korisnika pravila integriteta . . . . . . . . . . . . . . . . . . . . . 100 11.4.2. NULL vrednost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 11.4.3. Opšta pravila integriteta . . . . . . . . . . . . . . . . . . . . . . . . . 102 11.4.4. Identifikacioni integritet . . . . . . . . . . . . . . . . . . . . . . . . . 102
11.4.5. Reerencijalni integritet . . . . . . . . . . . . . . . . . . . . . . . . . . 102
12. Relaciona algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
12.1. Restrikcija - σ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 
12.2. Projekcija - π . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 
12.4. Razlika - / . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 12.5. Presek -
12.6. Dekartov proizvod - × . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 12.3.1. Spajanje - >< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 12.6.2. θ spajanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 12.6.3. Ekvi spajanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 12.6.4. Prirodno spajanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
12.7. Deljenje - / . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
13. SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
13.1. Terminologija SQL-a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11913.2. PRAVILA SQL-a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 13.2.1. Pravila za pisanje imena . . . . . . . . . . . . . . . . . . . . . . . . . 121 13.2.2. O naredbama i izrazima . . . . . . . . . . . . . . . . . . . . . . . . . 121 13.2.3. Tipovi podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 13.2.4. Definicija atributa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
13.3. Naredbe SQL-a za definisanje . . . . . . . . . . . . . . . . . . . . . . . . . 123 13.3.1. Rad sa tabelama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
13.4. Pogledi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12513.5. Indeksi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 7/249
VI Sadraj
13.6. SELECT upiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 13.6.1. Prost upit nad jednom tabelom: . . . . . . . . . . . . . . . . . . . 127 13.6.2. Prost upit nad jednom tabelom   sa svodnim rezultatom: . . . . . . . . . . . . . . . . . . . . . . . . . . 129 13.6.3. WHERE klauzula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 13.6.4. ORDER BY klauzula . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 13.6.5. GROUP BY klauzula . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 13.6.6. HAVING klauzula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 13.6.7. Korišenje NULL vrednosti . . . . . . . . . . . . . . . . . . . . . . 131 13.6.8. LIKE klauzula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
13.7. Naredbe auriranja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 13.7.1. INSERT naredba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 13.7.2. UPDATE naredba. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
13.7.3. DELETE naredba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 13.8. Naredbe za kontrolu prava pristupa . . . . . . . . . . . . . . . . . 134 13.8.1. GRANT naredba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 13.8.2. REVOKE naredba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
14. Relacije loše strukture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 14.1. Redundansa (ponavljanje) podataka i
anomalije auriranja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
14.2. Funkcionalna zavisnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 14.3. Postupak normalizacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 14.4. Prva normalna orma (1NF) . . . . . . . . . . . . . . . . . . . . . . . . . . 140 14.5. Druga normalna orma (2NF) . . . . . . . . . . . . . . . . . . . . . . . . . 142
14.5.1. Potpuna unkcionalna zavisnost . . . . . . . . . . . . . . . . . . 142 14.5.2. Definicija druge normalne orme . . . . . . . . . . . . . . . . . 142
14.6. Trea normalna orma (3NF) . . . . . . . . . . . . . . . . . . . . . . . . . . 143 14.6.1. Tranzitivna zavisnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 14.6.2. Definicija tree normalne orme . . . . . . . . . . . . . . . . . . 143
14.7. Boyce-Codd normalna orma (BCNF) . . . . . . . . . . . . . . . . . . 143 14.8. etvrta normalna orma (4NF) . . . . . . . . . . . . . . . . . . . . . . . . 144
14.8.1. Zavisnost višestruke vrednosti . . . . . . . . . . . . . . . . . . . . 144 14.8.2. Definicija etvrte normalne orme . . . . . . . . . . . . . . . . . 145
14.9. Peta normalna orma (5NF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
14.9.1. Postojanost spajanja (lossless-join) . . . . . . . . . . . . . . . . 14614.9.2. Definicija pete normalne orme . . . . . . . . . . . . . . . . . . . 146
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 8/249
Sadraj   VII
15. Transakcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147 15.1. Definicija transakcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 15.2. Osobine transakcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 15.3. COMMIT i ROLLBACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
15.4. Konkurentno izvršavanje transakcija . . . . . . . . . . . . . . . . . . . 15215.5. Protokol zakljuavanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 15.6. Oporavak baze podataka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
16. Baze podataka i aplikacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 16.1. Slojevita struktura aplikacija . . . . . . . . . . . . . . . . . . . . . . . . . . 158 16.2. Troslojni model kao osnovni model . . . . . . . . . . . . . . . . . . . . 159 16.3. Višeslojni modeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 16.4. Aplikacije servisi (nezavisne sofverske komponente) . . . . . 161
16.5. Specifinosti pristupa BP iz razliitih aplikacionih slojeva . . . . . . . . . . . . . . . . . . . . . . . . . . 162
16.5.1. Pristup podacima iz prezentacionog sloja . . . . . . . . . . 162 16.5.2. Pristup podacima iz sloja poslovne logike . . . . . . . . . . 168 16.5.3. Pristup iz sloja podataka
(poziv ugnjedenih procedura) . . . . . . . . . . . . . . . . . . . 170 16.6. Tehnologije koje omoguavaju razmenu podataka
izmeu BP i aplikacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
17. Dodatak 1. Inormacioni sistem kafia . . . . . . . . . . . . . . . . . . .183 17.1. Korisniki zahtev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 17.2. SSA – Strukturna Sistem Analiza . . . . . . . . . . . . . . . . . . . . . . . 183
17.2.1. Dijagram konteksta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 17.2.2. Prvi nivo dekompozicije . . . . . . . . . . . . . . . . . . . . . . . . . 184 17.2.3. Drugi nivo dekompozicije (Nabavka) . . . . . . . . . . . . . . 185 17.2.4. Drugi nivo dekompozicije (Prodaja) . . . . . . . . . . . . . . . 185 17.2.5. Drugi nivo dekompozicije (Uplata banci) . . . . . . . . . . 186
17.3. Renik Podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 17.4. MOV – Model Objekti-Veze . . . . . . . . . . . . . . . . . . . . . . . . . . 188
17.4.1. Nabavka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 17.4.2. Prodaja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 17.4.3. Uplata banci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
17.5. Relacioni model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 17.5.1. Nabavka: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 17.5.2. Prodaja: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
17.5.3. Uplata banci: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19017.6. Access Tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 9/249
VIII Sadraj
18. Dodatak 2. Servis za odravanje rada sofverskog sistema . . . 195
18.1. Korisniki zahtev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 18.2. SSA – Strukturna Sistem Analiza . . . . . . . . . . . . . . . . . . . . . . . 196
18.2.1. Dijagram konteksta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
18.2.2. Dekompozicija prvog nivoa . . . . . . . . . . . . . . . . . . . . . . 19618.2.1. Dekompozicija procesa . . . . . . . . . . . . . . . . . . . . . . . . . . 197 18.3. Renik podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 18.4. Specifikacija primitivnog procesa . . . . . . . . . . . . . . . . . . . . . . 199 18.5. Dijagram dekompozicije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 18.6. Model objekti veze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 18.7. Relacioni model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 18.8. Opis scenarija korišenja sistema . . . . . . . . . . . . . . . . . . . . . . 203
18.9. Fiziko projektovanje modela  podataka – Access tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 18.10. Strukturna ogranienja i pravila integriteta . . . . . . . . . . . . . 208 18.11. Forme za unos podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
19. Dodatak 3. Uvoz i distribucija proizvoda bele tehnike . . . . . .215
19.1. Korisniki zahtev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 19.2. Strukturna sistemska analiza . . . . . . . . . . . . . . . . . . . . . . . . . . 216
19.2.1. Dijagram konteksta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21619.2.2. DTP- prvi nivo dekompozicije . . . . . . . . . . . . . . . . . . . . 217 19.2.3. Drugi nivo dekompozicije - nabavka . . . . . . . . . . . . . . 218 19.2.4. Drugi nivo dekompozicije – prodaja . . . . . . . . . . . . . . . 219 19.2.5. Drugi nivo dekompozicije – servis . . . . . . . . . . . . . . . . 220
19.3. Dijagram dekompozicije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 19.4. Model objekti-veze. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 19.5. Relacioni model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
19.6. Tabele, tipovi podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22619.7. Ekranske orme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 10/249
Predgovor   1
p o g l a v l j e 1 2
Predgovor
Knjiga Uvod u baze podataka je namenjena studentima Univerziteta Sin- gidunum za pripremu ispita iz predmeta Baze podataka, ali moe biti od koristi i svima onima koji kroz praksu i teoriju savladavaju baze podataka. Nastala je kao rezultat višegodišnjeg rada na Fakultetu za finansijski menadment i osiguranje i na Fakultetu za poslovnu inormatiku Univerziteta Singidunum. U toku izlagan-  ja materije autori se nisu vezivali za konkretan sofverski sistem za upravljanje bazama podataka, ve su nastojali da na jednom mestu prikau sve koncepte u bazama podataka u skladu sa savremenim kretanjima u ovoj oblasti. Domi- nantno je razmatran relacioni model podataka koji jeste osnova za najvei broj poslovnih aplikacija.
Knjiga je podeljena u nekoliko delova. Na poetku se iznose osnovni kon- cepti i definicije koje se koriste u bazama podataka. italac se polako vodi od klasinih sistema za rad sa podacima, koji su zasnovani na programskim jezicima i datotekama, ka pravim bazama podataka koje se zasnivaju na sistemu za upra-  vljanje bazama podataka. U nastavku se razmatra modelovanje i uvode razliiti modeli podataka, onako kako su se istorijski pojavljivali. Baze podataka ne posto-  je same za sebe. One su osnova inormacionih sistema, kako velikih tako i malih organizacija, a projektuju se sa ciljem dobijanja pravovremenih inormacija za donošenje odluka. Zbog toga je posebna panja posveena strukturnoj sistemskoj analizi, kao poetnom koraku u projektovanju baza podataka. Detaljno je razmo- tren relacioni model podataka, a u okviru njega posebna panja je posveena inte- gritetskim komponentama, koje omoguavaju odravanje konzistentnosti jedne baze podataka. U nastavku je ukratko razmatrana relaciona algebra kao osno-
 va za upitne jezike, a zatim su prikazane mogunosti ANSI SQL jezika za rad sa
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 11/249
2 Predgovor
relacionim bazama podataka. Na primerima relacija loše strukture diskutovani su karakteristini problemi koji se odnose na anomalije auriranja, a zatim je objaš- njen postupak normalizacije ovakvih relacija. Danas se baze podataka uglavnom koriste u mrenom okruenju, gde se više transakcija konkurentno izvršava nad
istom bazom podataka. Diskutovani su mehanizmi koji omoguavaju nesmetanparalelan rad više transakcija. Na kraju su prikazane razliite tehnike povezivanja baza podataka i aplikacija. Posebno se razmatra raslojavanje aplikacija ime se postie vea unkcionalnost samih aplikacija i lakše se zadovoljavaju naknadni zahtevi korisnika.
U dodatku su dati primeri razvoja baza podataka u Access-u za tri razliita sluaja iz prakse, koji mogu da poslue studentima, kao i diplomiranim inenjeri-
ma i ekonomistima za razvoj sopstvenih aplikacija. Zahvaljujemo se svim studen-tima Univerziteta Singidunum koji su kroz izradu seminarskih radova doprineli da ovaj tekst bude bogat konkretnim primerima.
Autori su se potrudili da izlaganje bude što jasnije, da ne opterete itaoca kompleksnim matematikim aparatom niti konkretnim sofverskim alatima, a sve u cilju što jasnijeg predstavljanja baza podataka. Pošto je ovo prvo izdanje knjige, svi saveti i eventualne primedbe na tekst su dobrodošli.
Beograd, mart 2007. godine  Autori
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 12/249
Uvod   3
P o g l a v l j e 1 .
Uvod
Baze podataka se koriste za prikupljanje, uvanje i manipulaciju podacima na osnovu kojih se dobijaju nove inormacije u razliitim organizacijama, kao što su poslovni sistemi, zdravstvo, školstvo, vladine institucije itd. Svakodnevno ih koriste pojedinci putem linih raunara, radne grupe putem mrenih servera i svi zaposleni putem aplikacija koje se nalaze u poslovnim sistemima. Bazama podataka takoe pristupaju kupci i drugi udaljeni korisnici korišenjem razliitih tehnologija kao što su govorni automati, web itai (browser -i), digitalni teleo- ni i sl. Zbog velike konkurencije u svim oblastima poslovanja, moe se oekivati da tehnologija baza podataka dobije još vei znaaj. Menaderi trae nain da iz baze podataka bre dou do novih saznanja kako bi bili u prednosti u odnosu na svoju konkurenciju. Na primer, detaljna baza podataka o prodaji se moe iskoris- titi kako bi se saznalo koji kupci kupuju koje proizvode, što se koristi kao osno-  va za reklamu i marketinšku kampanju. Organizacije mogu da ukljue u svoje baze podataka procedure koje se zovu okidai - trigeri (alerts) koji upozoravaju o moguim vanrednim dogaajima (kao što su predstojei nedostatak zaliha neke robe ili šansa za prodaju dodatne koliine robe) i na osnovu kojih mogu nastati odgovarajue reakcije. Mnoge organizacije danas prave posebne baze podataka koje se zovu „skladišta podataka“ (data werehouses) koje slue za aplikacije za podršku u odluivanju.
Izuavanje baza podataka i sistema za upravljanje bazama podataka jesu osnova za izuavanje inormacionih sistema. Strunjak za inormacione sisteme mora biti spreman da analizira potrebe preduzea i da dizajnira i implementira baze podataka u okviru razvoja inormacionog sistema jedne organizacije. Takoe,
mora biti spreman da se konsultuje sa krajnim korisnicima i da im pokae kako
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 13/249
4 Uvod
se korišenjem baza podataka moe imati bolja podrška za odluivanje, ime se stvara prednost nad konkurencijom. Široko rasprostranjeno korišenje baza podataka vezanih za Internet sajtove, koji vraaju dinamike inormacije korisni- cima web sajta, zahteva od projektanta da razume ne samo kako da povee bazu
podataka sa sajtom ve i kako da je obezbedi tako da se njenom sadraju moepristupiti ali ne i izmeniti od strane spoljnih korisnika.
Postoji puno naina kako se moe definisati baza podataka. U osnovi to je skup podataka koji su organizovani prema potrebama korisnika, koji se odrava-  ju i koji se koriste za dobijanje inormacija. Moderne baze podataka su uvaju na raunaru, ali to nije bitno za samu definiciju. Na primer, adrese poznanika i prijatelja, kolekcija filmova na CD-ovima, teleonski imenik itd. su takoe baze
podataka (mada ih veina ljudi tako ne zove). Meutim, smeštanje baze podatakana raunar omoguava lakšu i bru obradu podataka i dobijanje eljene inorma- cije. Karakteristian je primer sa teleonskim imenikom koji se nalazi na papiru. Jednostavno je pronai teleonski broj eljene osobe, ali je znatno tee pronai ime osobe na osnovu teleonskog broja. Ako je teleonski imenik vei (više smeštenih podataka) prethodni problem se dodatno uslonjava. Raunarski zasnovane baze podataka omoguavaju jednostavno i brzo dobijanje inormacija. Pored osnov- nih inormacija iz odgovarajue baze podataka se mogu dobiti i posebne inor- macije. Na primeru teleonskog imenika mogu se izlistati podaci za sve osobe po imenu npr. Marko, mogu se izlistati sve osobe kojima teleonski broj poinje npr. sa 2, osobe kojima se teleonski broj završava sa 45 i još mnogo toga.
Na razvoj baza podataka presudno je uticao razvoj raunara, raunarskih mrea, kao i klijent/server obrade. Istraivanje, projektovanje i upotreba baza podataka su vrlo brzo pokazali niz svojih dobrih strana kao što su: smanjeni troš- kovi odravanja; smanjena potreba za mrenim resursima; poboljšan integritet podataka; donošenje ispravnih odluka na osnovu objektivnih inormacija, bra reakcija na trištu, itd.
Baza podataka smeštena u raunaru, predstavljena je nizom bita, organizo-  vanih u bajtove, a sa više bajtova u odgovarajuem ormatu zapisuju se vrednosti pojedinih podataka i predstavljaju jedno polje baze podataka. Niz polja se organi- zuje u zapise (rekorde) koji imaju znaenje jer mogu da predstavljaju opis nekog objekta iz realnog sveta ili neke veze izmeu objekata realnog sveta. Zapisi istog ormata se slau i ine datoteke, koje su fiziki zapisane na disku. Baza podataka
obuhvata više povezanih datoteka i moe biti centralizovana na jednom raunaru
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 14/249
Uvod   5
ili distribuirana na više meusobno udaljenih raunara. Pored podataka koji su zapisani u bazi podataka, postoje i posebni podaci kojima se opisuju pojedina- ne datoteke, njene osobine, karakteristini parametri iz datoteka, uspostavljene meusobne veze, pravila koja se odnos na pojave koje postoje i u realnom svetu i
sl. Takvi podaci se zovu meta-podaci (metadata), tj. podaci o podacima. Koriste sepri pokretanju rada sa bazom podataka, kako bi se mogli uitati svi konfiguracio- ni podaci odgovarajue baze (sel-describing ).
NEKADA
DANAS
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 15/249
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 16/249
P o g l a v l j e 2 .
Osnovni koncepti i denicije
Baza podataka se moe definisati kao organizovani skup logiki povezanih podataka. Ona moe biti bilo koje veliine i kompleksnosti. Na primer, prodavac moe da ima malu bazu podataka vezanu za kupce na svom notebook raunaru koja se sastoji od nekoliko megabajta podataka. Preduzee koje zapošljava hilja- du i više ljudi moe da ima veoma veliku bazu podataka od nekoliko terabajta podataka (jedan terabajt = 1012 bajtova) na mainrame kompjuteru na kome se nalazi aplikacija za podršku odluivanju. Veoma velika skladišta podataka ima-  ju više od petabajta podataka (1 petabajt = 1015 bajtova). U širem smislu, bazu podataka moemo posmatrati kao integrisani skup podataka o nekom sistemu i skup postupaka za njihovo odravanje i korišenje, organizovan prema potrebama korisnika. To je dobro struktuirana kolekcija podataka, koja postoji jedno odree- no vreme, koja se odrava i koju koristi više korisnika ili programa.
2.1. Podatak
Istorijski, pod terminom podatak se podrazumeva injenica o nekom pred- metu i/ili dogaaju koja se moe zabeleiti i sauvati na raunaru. Na primer, u bazi podataka nekog prodavca podaci bi bile injenice kao što su ime, adresa i broj teleona kupca. Ovakav tip podatka se zove struktuirani podatak. Najvaniji struktuirani podaci su brojevi, karakteri i datumi (vreme). Današnje baze podata- ka pored struktuiranih podataka sadre i druge vrste podataka kao što su razna dokumenta, mape, otografije, zvuk, ak i video zapise. Na primer, u bazi podataka
nekog prodavca mogla bi se nai i slika kupca. Takoe bi se mogao nai zvu-ni ili video zapis poslednjeg razgovora sa kupcem. Ova vrsta podatka se naziva
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 17/249
nestruktuirani podatak ili multimedijalni podatak. Multimedijalni podaci se naj- eše mogu nai na web serverima i u Internet bazama podataka.
Danas se podatak definiše kao sauvana reprezentacija predmeta i/ili
dogaaja koja ima smisla i vanosti za korisnika baze podataka. Ova definicijaukljuuje i struktuirane i nestruktuirane podatke. esto se u okviru jedne baze podataka mogu nai kombinovani struktuirani i nestruktuirani podaci kako bi se stvorilo multimedijalno okruenje. Na primer, automehaniarska radnja moe kombinovati struktuirane podatke (koji opisuju klijenta i njegova kola) sa multi- medijalnim podacima (slika automobila i skenirana kopija osiguranja).
Pod podatkom se podrazumeva injenica prihvaena kao takva tj. kakva  jeste. Podatak sam po sebi nema znaenje, tek kada se interpretira nekom vrstom sistema za obradu podataka poprima znaenje i postaje inormacija. Tipino, ter- min “podatak” se odnosi na ono što je u bazi podatak. Dakle, podatak je sirova injenica - neobraena inormacija. Raunar vrši obradu podataka, prema zada- tom programu, te se na osnovu saznanja sadranih u podacima, a kao rezultat njihove obrade, stiu nova saznanja - inormacije.
2.2. Informacija Termini podatak i inormacija su usko povezani i esto se koriste kao sinoni-
mi. Meutim, korisno je razlikovati termine podatak i inormacija. Inormaciju definišemo kao podatak koji je bio obraen na takav nain da se znanje osobe koja koristi podatak povealo. Na primer, razmotrimo sledei spisak injenica:
Petar Petrovi 1506983710325
- - - - - - - - - - - - - - - - - - - - - -
Prikazane injenice po definiciji predstavljaju podatke, ali bi se veina sloila da su ovi podaci u sadašnjoj ormi beskorisni. ak iako pretpostavljamo da se radi o imenima osoba i njihovim matinim brojevima, podaci ostaju beskorisni
 jer ne znamo emu slue. Pogledajte šta se dogaa kada stavimo ove iste podatkeu kontekst, kao što je pokazano na slici 2.1. Dodavanjem još nekoliko dodatnih
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 18/249
Osnovni koncepti i denicije   9
podataka i njihovim ureivanjem, prepoznajemo spisak upisanih studenata. Na ovaj nain se dolazi do inormacije koja je korisna npr. upravi akulteta, proeso- rima, studentskoj slubi i sl.
Ime i prezime JMBG Smer Godina upisa Petar Petrovi 1506983710325 PP 2002
Marko Markovi 0211979850123 RGD 2001
Janko Jankovi 1112985830456 PP 2001
- - - - - - - - - - - - - - - - - - - - - - BIZ 2003
Slika 2.1. – Tabelarni prikaz podataka iz BP - inormacija o upisu
Drugi nain da se iz podataka dobiju inormacije je da se podaci sumiraju ili na neki drugi nain obrade i prezentuju. Na primer, na slici 2.2 se vide sumirani podaci o upisu studenata prezentirani u vidu grafike inormacije. Ova inorma- cija se moe iskoristiti kao osnova za odluivanje o dodavanju novih predavan-  ja ili o zapošljavanju novog nastavnog kadra. Moderne baze podataka vrlo esto sadre i podatke i inormacije. Podaci se esto obrauju i uvaju u obraenoj or- mi i slue za pomo pri donošenju odluka, a takvim podacima (inormacijama)
se najbre pristupa. 
Slika 2.2. – Grafiki prikaz podataka iz BP - inormacija o upisu
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 19/249
10 Osnovni koncepti i denicije
Podaci obraeni tako da dobijaju znaenje ine inormaciju. Inormacija koja  je precizna, relevantna, i dobijena na vreme je klju za donošenje dobre odluke.
Slika 2.3. – Obradom prikupljenih podataka nastaje inormacija
2.3. Metapodaci - podaci o podacima (metadata)
Podaci koji se prikupljaju i uvaju u bazi podataka esto se nazivaju i podaci
krajnjih korisnika (end user data). Metapodaci su podaci koji opisuju svojstva ilikarakteristike podataka krajnjih korisnika i kontekst tih podataka. Neka tipina svojstva podataka su naziv (ime) podatka, definicija, duina (veliina), i dozvol-  jene vrednosti. Kontekst podataka, koji opisuju metapodaci, podrazumeva izvor podataka, gde se uvaju podaci,vlasništvo i korišenje.
Tabela 2.1. – Primer metapodataka
Ime Text 30 Ime i prezime studenta Lina karta
JMBG Integer 1 Jedinstven matini broj Lina karta
Smer CHAR 3 Smer na akultetu Studentska sluba
GodUpisa Number 2001 Godina upisa Studentska sluba
Metapodaci opisuju svojstva podatka ali se nalaze odvojeno od tog podatka.
Metapodaci iz tabele1.1 ne prikazuju ni jedan podatak. Oni omoguavaju dizajne-rima i korisnicima baza podataka da razumeju koji podaci postoje u bazi, šta oni
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 20/249
Osnovni koncepti i denicije   11
znae, i koja je razlika izmeu podataka koji na prvi pogled izgledaju isto. Upra-  vljanje metapodacima je veoma bitno jer podaci bez jasnog znaenja mogu biti zbunjujui, pogrešno protumaeni ili puni grešaka.
2.4. Sistem za upravljanje bazama podataka
Sistem za upravljanje bazama podataka (DBMS - Data Base Management System) je sofverski sistem koji se koristi za kreiranje, odravanje i manipuli- sanje podacima, kao i za kontrolu prava pristupa bazi podataka. DBMS omo- guava krajnjim korisnicima i programerima da dele podatke, tj. omogua-  va da se podaci koriste od strane više aplikacija, a ne da svaka aplikacija ima
svoju kopiju podatka sauvanu u posebnim datotekama. DBMS takoe prua mogunost kontrole pristupa podacima, osigurava integritet podataka, uspos- tavlja kontrolu konkurentnosti i vrši oporavak baze podataka. Programeri apli- kacija za rad sa bazama podataka ne moraju da poznaju detalje o nainu zapisa baze podataka na disku, ne moraju da ormulišu algoritme za efikasan pristup podacima, niti su optereeni bilo kakvim aspektima oko upravljanja podacima u bazi podataka.
Danas je veoma bitan i znaajan koncept baze podataka po kome je to, u stvari, zajedniki resurs koga istovremeno (konkurentno) koristi vei broj pro- grama, jer se pravi eekti baze podataka ispoljavaju kada se radi u mrenom okruenju. Posmatrajmo bazu podataka jedne banke u kojoj se nalaze rauni graana. Mogue je da se u istom trenutku na šalteru u jednoj ekspozituri podie novac sa jednog rauna i uplauje na drugi raun, a da se istovremeno u sasvim drugoj ekspozituri uplauje novac na isti taj raun. Pomenuti DBMS je upravo tu da upravlja konkurentnim radom više korisnika i da obezbeuje sinhroniza-
ciju njihovog rada.
Takoe, DBMS ima unkciju da sprei štetne posledice (narušen integri- tet baze, nekonzistentno stanje baze...) pri promenama (transakcijama) koje se vrše nad bazom podataka u višekorisnikom okruenju. U tu svrhu postoje razne tehnike kao što su tehnika zakljuavanja podataka, tehnika vremenskog markiranja itd. Posebno je znaajno upravljanje istovremenim (konkurentnim) transakcijama. Tanost, zaštita i dostupnost baza podataka, kao i korektnost i
perormanse transakcija koje pristupaju tim bazama su bitni parametri za uspehsvakog poslovnog sistema.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 21/249
12 Osnovni koncepti i denicije
Termini baza podataka i upravljanje bazom podataka se ponekad meša-  ju. Struno govorei, baza podataka je uvek skup injenica, a ne raunarski program.
DBMS je uveden kao interejs izmeu korisnika (korisnikih programa,aplikacija) i zapisa baze podataka na disku. Korisniki programi ne pristupaju podacima direktno, ve komuniciraju sa ovim sofverom (programom). DBMS upravlja strukturom baze podataka: definiše objekte baze, njihova svojstva (atri- bute), dozvoljene vrednosti atributa, veze izmeu objekata, ogranienja nad objektima i meusobnim vezama. Omoguava manipulaciju podacima u bazi: unošenje, brisanje i izmene, tj. omoguava njeno odravanje. Kontroliše pristup podacima: ko moe da pristupi podacima, kojim podacima i šta moe sa njima da
radi.. DBMS dozvoljava deljenje BP izmeu više aplikacija/korisnika i ini upra- vljanje podacima uspešnijim i delotvornijim Uobiajeno je da kada se govori o sofveru za baze podataka, onda se misli upravo na DBMS. DBMS upravlja inter- akcijom izmeu krajnjih korisnika (aplikacija) i baze podataka. Krajnji korisnici imaju bolji pristup veem broju bolje organizovanih podataka
Slika 2.3. – DBMS je interejs izmeu (aplikacija) korisnika i zapisa baze podataka na disku
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 22/249
P o g l a v l j e 3 .
Klasian sistem zasnovan na datotekama
Kada su se raunari poeli koristiti za obradu podataka, nisu postojale baze podataka. Raunari su u to vreme bili znatno slabiji nego današnji personalni raunari, zauzimali su itavu prostoriju i koristili su se skoro iskljuivo za nauna izraunavanja. Postepeno su raunari uvoeni u poslovni svet. Da bi bili od koris- ti za poslovne aplikacije, raunari moraju da skladište, manipulišu, i preuzimaju  velike datoteke podataka. Kako su poslovne aplikacije postajale sve kompleksnije, postalo je oigledno da klasini sistemi zasnovani na datotekama imaju veliki broj
nedostataka i ogranienja. U veini bitnih poslovnih aplikacija danas se umesto klasinog sistema zasnovanog na datotekama koriste baze podataka.
Klasian sistem obrade podataka zasnovan na datotekama i programskim  jezicima prikazan je blok šemom na sledeoj slici. Programi su direktno povezani sa datotekama, svaki program mora da poznaje detaljan zapis podataka na disku.
Slika 3.1. – Klasian sistem obrade podataka zasnovan na programskim jezicima i datotekama
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 23/249
Da bi objasnili osnovne karakteristike sistema zasnovanog na datoteka- ma, posmatrajmo jednu abriku sa odreenim proizvodnim programom. Pret- postavimo da su nabavljene raunarske aplikacije za voenje poslovanja ove abrike realizovane na klasinim sistemima koji se zasnivaju na datotekama.
Ovaj pristup dizajnu inormacionog sistema se okusira na potrebe za obradompodataka pojedinanih odeljenja, a ne na potrebe organizacije kao celine. Kada bi se kod korisnika javila potreba za novim sistemima pisali bi se novi raunar- ski programi za individualne aplikacije kao što su kontrola proizvoda, prijem rauna, ili kadrovsko poslovanje. Svaki od programa pravi se tako da odgovara potrebama odreenog odeljenja ili radne grupe. Prema tome, ne postoji opšti plan, mapa ili model kojim bi se rukovodili za planiranje razvoja sistema. Tri raunarske aplikacije (A, B i C) pomou kojih se obrauju podaci zapisani u
datotekama su prikazane na slici 3.2. Programima se odravaju tri nezavisna sis- tema porudbine, naplate i plate. Na slici se takoe vide osnovne datoteke veza- ne za svaku aplikaciju. Na primer, proces porudbina ima tri datoteke: podaci o kupcu, podaci o proizvodima, podaci o porudbinama. Neke od datoteka se ponavljaju u sva tri procesa (redudansa) što je tipino za sistem obrade podata- ka koji se zasniva na datotekama.
Slika 3.2. – Klasina obrada podataka zasnovana na sistemu datoteka
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 24/249
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 25/249
16 Klasian sistem zasnovan na datotekama
ma porudbina i plata. Menaderi su imali velike probleme pri sastavljanju izveštaja za koje su im bili potrebni podaci iz razliitih procesa, jer bi se esto desilo da su dokumenta nekompatibilna i da je potrebno dosta pro- gramiranja kako bi se svi ti podaci sakupili u jedan izveštaj. Takoe, dodatni
problem je bio u tome što su se eljeni podaci esto nalazili u razliitimodeljenjima organizacije.
• Dugo vreme za razvoj   Sa klasinim sistemom zasnovanom na datotekama postoji mala šansa za
korišenje prethodnih razvojnih dostignua. Svaka nova aplikacija zahteva od projektanta da krene od nule. Svaki put je neophodno definisati nove ormate i opise podataka i pisati kod za pristup podacima za svaki program.
Ovako veliko potrebno vreme za razvoj nije u skladu sa današnjim poslov-nim potrebama, gde je svaki minut bitan da bi se postigao uspeh.
• Teško odravanje programa   Skup svih prethodno navedenih nedostataka dovodi do preterane potrebe
za odravanjem programa. ak 80% budeta predvienog za razvoj sistema zasnovanog na datotekama odlazi na njegovo odravanje. Zbog toga, narav- no, ostaje jako malo prostora za razvoj novih aplikacija.
Vano je znati da veina mana klasinog sistema zasnovanog na datote- kama, koje smo u prethodnom delu teksta pominjali, mogu isto tako biti ogra- nienja za bazu podataka, pogotovo ako se ne promeni pristup razvoju baze podataka. Na primer, ukoliko preduzee razvije nekoliko zasebnih baza podata- ka (recimo, za svaku radnu jedinicu ili proces po jednu bazu) sa malom ili nika- kvom vezom izmeu njih, onda moe doi do bespotrebnog ponavljanja istih podataka, ogranienja deljenja podataka, produavanja vremena potrebnog za razvoj i preterane potrebe za odravanjem programa.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 26/249
P o g l a v l j e 4 .
Pristup zasnovan na bazama podataka
Pristup zasnovan na bazama podataka potencira integraciju i deljenje podataka izmeu svih odeljenja jedne organizacije. Ovaj pristup zahteva potpunu promenu u nainu razmišljanja, poevši od najvišeg nivoa upravljanja. Takva pro- mena naina razmišljanja za veinu organizacija je veoma teška.
Da bi objasnili pristup zasnovan na bazama podataka posmatrajmo pre- thodno razmatrani zastareli inormacioni sistem abrike koji se klasino zasnivao
na datotekama. Koncept pristupa razvoju inormacionog sistema zasnovanog na bazama podataka prikazan je na slici 4.1. Odmah se moe uoiti da podaci koji su prethodno uvani u više razliitih datoteka, sada su integrisani u jedinstvenu bazu podataka. Takoe, metapodaci koji opisuju ove podatke se nalaze zajedno sa njima u bazi podataka. Sistem za upravljanje bazama podataka prua mogunost stvaranja razliitih pogleda na istu bazu podataka (ili baze podataka) za razliite korisnike u organizaciji. DBMS dozvoljava korisnicima da dele, pretrauju, pristu- paju i auriraju integrisanim podacima.
Slika 4.1. – Blok šema inormacionog sistema zasnovanog na bazama podataka
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 27/249
4.1. Prednosti pristupa zasnovanog na bazama podataka
Pristup zasnovan na bazama podataka ima mnogo potencionalnih pred- nosti u odnosu na pristup zasnovan na datotekama. Te potencionalne prednosti
su sledee:
• Nezavisnost izmeu programa i podataka   Odvajanje metapodataka od aplikacija koje koriste podatke naziva se neza-
 visnost podataka. Ova osobina kod baza podataka dozvoljava promenu i prenos podataka organizacije na druge raunarske sisteme bez potrebe za promenom programa koji obrauje ove podatke.
• Minimalna redudansa podataka   Cilj pristupa zasnovanog na bazama podataka je da se podaci koji su se u
prethodnom pristupu uvali odvojeno (i više puta su zbog toga ponavlja- ni) sada integrišu u jedinstvenu logiku strukturu. Svaki podatak se nala- zi samo na jednom mestu u bazi podataka. Pristup zasnovan na bazama podataka ne uklanja redudansu u potpunosti, ali omoguava projektantu baze podataka da paljivo isplanira vrstu i koliinu redudanse. U nekim sluajevima je poeljno napraviti ogranienu redudansu kako bi se peror-
manse baze podataka poboljšale (npr. bra pretraga).
• Poboljšana konzistentnost podataka   Eliminisanjem (ili kontrolisanjem) redudanse podataka, u velikoj meri se
smanjuju šanse za nekonzistentnošu podataka. Na primer, ukoliko je adresa kupca zapisana na samo jednom mestu ne moe da postoji ne podudaranje u podacima u bazi podataka. Takoe, auriranje podataka je u velikoj meri uprošeno, kada je svaka vrednost zapisana na samo jednom mestu. Na kra-
 ju, uklanjanjem redudanse podataka dolazi do uštede memorije.
• Poboljšana razmena podataka   Baza podataka je dizajnirana kao resurs organizacije koji koriste svi njeni
zaposleni (kojima je ona neophodna u opisu posla). Odreenim internim i eksternim korisnicima je dozvoljeno korišenje baze podataka, i svaki od njih (bio u pitanju jedan korisnik ili grupa) ima jedan ili više pogleda koji mu olakšavaju korišenje baze podataka. Korisniki pogled je logiki
opis jednog dela baze podataka koji je neophodan korisniku da obavineki zadatak.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 28/249
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 29/249
20 Pristup zasnovan na bazama podataka
starijih modela baza podataka i sofvera za upravljanje bazama podataka. Na sre- u, relacioni modeli (kao i noviji objektno-orjentisani modeli) nemaju ovih pro- blema. Drugi razlog za neuspeh da se iskoriste ove prednosti, je loše planiranje i implementacija baza podataka – ak ni najbolji sofver za upravljanje bazama
podataka ne moe da prevazie ovakve manjkavosti. Pristup zasnovan na baza-ma podataka sadri neke dodatne troškove i rizike koji se moraju rešavati kada se sistem pone primenjivati.
• Novo, obueno osoblje   esto se dešava da preduzee, koje se odlui za pristup zasnovan na bazama
podataka, mora da angauje ili obui ljude za projektovanje, implementi- ranje i odravanje baza podataka, kao i da te ljude ukljui u postojeu radnu
organizaciju. Dalje, zbog estih izmena i brzine razvoja tehnologije, znanjeovog novog osoblja zahteva stalnu nadgradnju i unapreivanje. Jedino obu- eno osoblje moe da izvue maksimum korisnosti iz novih tehnologija.
• Troškovi i sloenost instaliranja, upravljanja i rada sistema sa bazama podataka
  Višekorisniki sistem za upravljanje bazama podataka je veliki i sloen sofver koji u startu mnogo košta, zahteva obueno osoblje za instaliranje
i rad i ima znaajne godišnje troškove za odravanje i tehniku podršku.Instaliranje ovakvog sistema moe zahtevati nadogradnju hardvera. Stalne obuke se podrazumevaju, da bi se mogle pratiti nove verzije i nadogradnje sofvera. Takoe se moe pojaviti potreba za dodatnim i skupljim sofverom za baze podataka radi vee sigurnosti podataka.
• Troškovi prilagoavanja (konvertovanja) podataka   Termin nasleeni sistemi se uglavnom koristi kada se govori o starijim apli-
kacijama u preduzeu koje su bazirane na datotenom pristupu ili starijim bazama podataka. Troškovi prilagoavanja ovakvih starijih sistema za rad sa modernim bazama podataka (mereni u novcu, vremenu i zahtevnosti posla) esto deluju kao velika prepreka za preduzee.
• Potreba za izradom sigurnosnih kopija i oporavkom podataka (backup)   Deljena baza podataka preduzea uvek mora biti tana i dostupna. To
zahteva razvijanje i korišenje jasnih procedura izrade sigurnosnih kopija
kao i oporavak baze podataka kada neko ošteenje nastane. U današnjem okruenju, gde postoje raznovrsni bezbednosni rizici, rešavanje ovog
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 30/249
Pristup zasnovan na bazama podataka   21
problema je od izuzetne vanosti. Moderan sistem za upravljanje baza- ma podataka obino sam obavlja izradu sigurnosnih kopija i oporavak podataka u sluaju havarija.
• Konflikti u organizaciji  Deljena baza podataka zahteva saglasnost u vezi sa definicijama i vlasniš- tvom podataka, kao i utvrenu osobu ili osobe odgovorne za odravanje podataka. Iskustvo je pokazalo da nesuglasice u pogledu definicija podata- ka, ormata i kodiranja podataka, prava na auriranje deljenih podataka i sl. su esta i vrlo teška tema za rešavanje. Da bi se ovi problemi rešili potrebno  je da je organizacija u potpunosti posveena uvoenju/korištenju pristupa zasnovanog na bazama podataka. Zatim je potreban sposoban adminis- trator baze podataka kao i smislen pristup razvoju baza podataka. Ukoli-
ko podrška i posveenost glavnih menadera za pristup okrenut bazama podataka izostane, velika je šansa da e krajnji korisnici razviti vei broj samostalnih baza podataka. Ove baze podataka e teško pruiti prednosti koje smo prethodno opisali. U krajnosti, one mogu da dovedu do donošenja loših odluka što naravno ugroava celu organizaciju.
4.3. Tipino okruenje baze podataka Glavni delovi tipinog okruenja baze podataka i njihove veze su prikazani
na slici 4.2.
1. Baza podataka – Organizovan skup logiki povezanih podataka, obino napra-  vljena da zadovolji potrebe za inormacijama više korisnika u organizaciji.
2. Metapodaci – Centralna baza „znanja“ za sve definicije podataka, njihova ogranienja, veze izmeu podataka, izgleda ekrana i izveštaja, i drugih sis-
temskih komponenti.3. DBMS – Sistem za upravljanje bazama podataka (SUBP). Sofverski sistem koji se koristi za kreiranje, odravanje i kontrolu pristupa korisnika baze podataka.
4. Aplikativni programi  – Raunarski programi koji slue za kreiranje i odravanje baze podataka i pruaju inormacije korisnicima.
5. Administratori podataka i baza podataka – Administratori podataka su osobe odgovorne za upravljanje svim izvorima podataka u organizaciji.
Administratori podataka su odgovorni za fiziki dizajn baza podataka i za upravljanje tehnikim problematikama u okruenju baza podataka.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 31/249
22 Pristup zasnovan na bazama podataka
6. Projektanti sistema – Osobe kao što su sistemski analitiari i programeri koji dizajniraju nove aplikativne programe. Projektanti sistema esto koriste CASE alate za analizu potreba sistema i dizajn programa.
7. Korisniki interejs – Jezici, meniji, i itd. pomou kojih korisnici koriste
razliite komponente sistema, kao što su CASE alati, aplikativni programi,DBMS i metapodaci.
8. Computer-aided sofver engineering – (CASE) alati Alati koji se koriste za dizajniranje baza podataka i aplikativnih programa.
9. Krajnji korisnici – Osobe koje dodaju, brišu i modifikuju/auriraju podat- ke u bazi podataka i koje zahtevaju ili primaju podatke iz njih. Svaka inter- akcija izmeu korisnika i baze podataka dešava se preko DBMS-a.
Slika 4.2. – Komponente okruenja BP 
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 32/249
Pristup zasnovan na bazama podataka   23
Sa unapreenjem sotvera, korisniki interejs postaje sve lakši za upo- trebu. Primeri za ovakav napredak su sistemi zasnovani na menijima, siste- mi sa mogunošu pristupa Internetu, i sistemi koji prepoznaju govor (pri- hvataju govorne komande). Cilj ovih sistema je da što više krajnjih korisnika
moe da koristi raunar, što znai da korisnici koji nisu raunarski ekspertimogu sami da naprave izveštaje i koriste jednostavne aplikacije. Naravno, u ovakvom okruenju administratori baza podataka moraju da obrate panju na bezbednost baze podataka. Okruenje baze podataka prikazano na slici 4.2 predstavlja integrisani sistem hardvera, sotvera i ljudi koji je napravljen da olakša skladištenje, preuzimanje, i kontrolu izvora inormacija i da povea produktivnost preduzea.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 33/249
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 34/249
P o g l a v l j e 5 .
Primene baza podataka
Vrste baza podataka variraju od onih pravljenih za jednog korisnika PC raunara do baza koje su smeštene na glavni raunar (mainrame) i kojima pristupaju hiljade korisnika. Po broju korisnika koji im pristupaju, baze podataka se mogu podeliti u više kategorija: line baze podataka, baze podataka za radne grupe, baze podataka odeljenja, baze podataka preduzea i Internet, intranet i ekstranet baze podataka.
5.1. Line baze podataka Line baze podataka se prave za korišenje od strane jednog korisnika i ve
su dugo prisutne u korišenju personalnih raunara. Pojavom linih digitalnih pomonika (PDA), line baze podataka su našle primenu i u nizu mobilnih ure- aja koji osim raunarskih imaju i neke druge primene npr. mobilni teleoni, aks mašine, Internet itai. Jednostavne aplikacije sa bazom podataka u kojoj uvaju inormacije i detalje o komunikaciji sa svakim klijentom, mogu da se koriste i sa
raunara i sa linog digitalnog pomonika, kao i da se prebacuju sa jednog na drugi ureaj radi izrade sigurnosnih kopija (backup) ili zbog zahteva posla. Uzmi- mo za primer preduzee koje ima odreeni broj prodavaca koji su u kontaktu sa postojeim i potencijalnim klijentima. Ako svaki prodavac ima još neke aplikacije, npr. grafike prezentacije, cenovnik sa uslovima prodaje po kojem klijentu moe ponuditi najpovoljniju kombinaciju proizvoda i koliina za naruivanje, onda bi mu za takav posao prenosni raunar, zbog svojih perormansi i skladišnog pro- stora, mogao biti optimalno rešenje. S druge strane, ako prodavac ima samo listu
klijenata i kontakata, njemu bi lini digitalni pomonik i aplikacija koja koristi malu bazu podataka bili najbolje rešenje.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 35/249
26 Primene baza podataka
Line baze podataka se široko primenjuju jer esto mogu bitno unaprediti produktivnost pojedinca. Meutim, one sadre jedan aktor rizika: podatke ovih baza nije lako deliti sa drugim korisnicima. Na primer, ako bi menader prodaje eleo celokupan spisak klijenata i kontakata, to se ne bi moglo ni brzo ni lako ura-
diti uzimanjem podataka iz linih baza svakog od prodavaca. Ovo ilustruje veomaest problem: ako su neki podaci od interesa jednom oveku, onda su verovatno (ili e brzo postati) od interesa i drugim ljudima. Zbog toga, line baze podataka bi trebalo svesti na korišenje pod posebnim okolnostima (npr. u veoma malim preduzeima) gde je verovatnoa potreba za deljenjem podataka izmeu korisni- ka izuzetno mala.
5.2. Baze podataka za radne grupe Radnu grupu ini relativno mali broj ljudi koji sarauju na jednom pro-
 jektu ili aplikaciji ili na grupi slinih projekata ili aplikacija. Radna grupa obino sadri desetak ljudi. Oni mogu biti ukljueni u npr. planiranje, projektovanje ili razvoj novog raunarskog programa. Baza podataka za radne grupe slui za pod- ršku zajednikog rada jedne takve grupe. Uzmimo za primer, radnu grupu koja pravi i standardne i programe po porudbini, koji se prodaju sofverskim kom-
panijama kao i krajnjim korisnicima.Obino, jedna ili više osoba rade na datom programu, ili dele programe, u isto vreme. Grupi je potrebna baza podataka koja e da prati razvoj svakog dela i koja e da omogui da se podaci što lakše razmen-  juju meu lanovima tima.
Svaki lan radne grupe ima svoj raunar, a raunari su umreeni putem LAN-a. Baza podataka se nalazi na centralnom raunaru koji se zove server baze podataka, koji je takoe na mrei. Stoga, svaki lan grupe ima pristup
podacima. Razliiti lanovi grupe (u zavisnosti da li je u pitanju rukovodilac projekta ili projektant, programer) mogu imati razliita ovlašenja (privile- gije), a time i razliite poglede na podatke. Primetiete da je glavna mana linih baza podataka, teško ostvariva razmena podataka, ovde prevaziena (barem je razmena podataka u okviru grupe lako ostvariva). Meutim, raz- mena podataka otvara nova pitanja i probleme koji nisu postojali kod linih baza podataka. Glavni problemi upravljanja podacima su vezani za njihovu bezbednost i integritet, s obzirom da više korisnika moe istovremeno da
obavlja auriranje podataka.
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 36/249
Primene baza podataka   27
5.3. Baze podataka odeljenja
Odeljenje je unkcionalna radna jedinica u okviru organizacije. Tipini pri- meri odeljenja su: kadrovsko, marketing, proizvodnja, raunovodstvo i sl. Odel-
 jenje je obino vee od radne grupe (nekada se sastoji i do 100 osoba) i odgovorno  je za vei broj razliitih poslova. Baze podataka odeljenja su napravljene da podre razliite oblike poslova i aktivnosti koje obavlja to odeljenje. Uzmimo za primer bazu podataka kadrovskog odeljenja u kojoj se prate podaci vezani za zaposlene,  vrste poslova, strunu spremu i poslovna zaduenja. Kada su svi relevantni podaci sauvani u bazi podataka, korisnici mogu da pretrauju bazu podataka u cilju dobijanja odgovora na pitanja kao što su sledea:
• Za odreenu vrstu zanimanja (npr programer) kakve prilike za zaposlenje trenutno postoje u organizaciji?
• Za tu istu vrstu posla koja struna sprema ili veština je neophodna?
• Koje veštine, znanje poseduje odreeni radnik? I obrnuto, koji radnici pose- duju odreenu veštinu, znanje?
• Koji sve radnici su obavljali odreeni posao u organizaciji? I obrnuto, kojesve poslove je odreeni radnik obavljao u organizaciji?
• Koje sve zaposlene nadgleda odreeni menader?
Tipina pitanja na koja se treba odgovoriti pri pravljenju baze podataka odeljenja su:
1. Kako baza podataka i njeno okruenje trebaju da budu organizovani dabi se ostvarile zadovoljavajue perormanse, uzimajui u obzir veliki broj korisnika i veliki broj transakcija?
2. Kako na odgovarajui nain obezbediti podatke od nedozvoljenog pristupa i/ili distribucije?
3. Koje alate za razvoj baze podataka i aplikacija treba koristiti u sluaju ovako
kompleksnog okruenja?
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 37/249
28 Primene baza podataka
4. Da li i druga odeljenja koriste iste vrste podataka, i ako je to sluaj, kako se najbolje moe upravljati podacima po pitanju njihove redudantnosti i kon- zistentnosti i metapodacima po pitanju njihove konzistentnosti?
5. Da li su korisnici baze podataka geograski jedni od drugih udaljeni ili je veliina baze podataka tolika da se podaci moraju uvati na više raunara, tako stvarajui distribuirane baze podataka?
6. Da li se bazi podataka moe pristupati preko Interneta i da li ona treba da bude ukljuena u intranet organizacije?
5.4. Baze podataka organizacija Baza podataka organizacije obuhvata itavu organizaciju ili više njenih ode-
ljenja. Ova vrsta baza podataka je namenjena da podri sve procese organiza- cije i proces donošenja odluka. Vano je istai da jedna organizacija moe ima- ti više baza podataka, tako da jedna takva baza podataka ne sadri sve podatke  jedne organizacije. Jedna baza podataka za celu organizaciju srednjih do velikih dimenzija ne bi bila praktina iz mnogo razloga. Kao prvo zbog razliitih potre-
ba razliitih korisnika, kompleksnosti stvaranja jedinstvenih metapodataka za sve korisnike baze podataka je ogromna. Baza podataka organizacije prua podršku za jedan odreeni broj (skup) odeljenja. Tokom poslednje decenije, razvoj baza podataka organizacije je doveo do dva najvanija oblika:
1. Enterprise resource planning  (ERP) sistem
2. Implementacija skladišta podataka (data werehouses)
ERP sistemi rade sa tekuim podacima organizacije, dok skladišta podataka sakupljaju podatke iz raznih operativnih baza podataka, ukljuujui i line, radnih grupa, odeljenja i ERP baze podataka. Skladišta podataka pruaju mogunost korisnicima da rade sa prethodnim podacima kako bi pronašli obrazce i trendove dogaaja i kako bi odgovorili na pitanja koja su vezana za strategiju poslovanja.
Uzmimo za primer veliku zdravstvenu organizaciju koja upravlja grupom
medicinskih centara, u šta spadaju domovi zdravlja, bolnice, klinike i starakidomovi. Svaki od ovih medicinskih centara ima svoju bazu podataka (ili baze
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 38/249
podataka) koja prua podršku u obavljanju raznih poslova. Ove baze podataka imaju podatke o pacijentima, doktorima, medicinskim uslugama, poslovanju i drugim bitnim entitetima. Baza podataka prua adekvatnu podršku za veinu poslova u svakom pojedinanom medicinskom centru. Meutim, postoji potreba
za jedinstvenim pogledom na celu organizaciju; na primer, da bi se videla svaposlovanja sa jednim dobavljaem ili pacijentom. Poveanje produktivnosti se moe postii uvoenjem, na primer, centralnog sistema za naruivanje mate- rijala za sve zdravstvene centre i rasporeivanjem osoblja i usluga koje vrše na sve zdravstvenim centre. ERP sistem omoguava uvoenje prethodnih promena. Donošenje odluka na nivou cele organizacije, u vezi sa poslovanjem sa dobavljai- ma, i podnošenje izveštaja raznim agencijama zahteva sakupljene svih prethodnih podataka i inormacija. Da bi se zadovoljile ove potrebe, organizacija koristi skla-
dište podataka koje se odrava i nalazi u sedištu organizacije. Podaci koji se nalazeu skladištu podataka su preuzeti (i potom sumirani) iz pojedinanih baza podata- ka svakog medicinskog centra. Ovaj proces preuzimanja podataka se odvija peri- odino putem telekomunikaciono- raunarske mree.
5.5. Internet, Intranet i Extranet baze podataka
Internet tehnologije slue za olakšavanje deljenja podataka i inormacija. Na primer, u okviru abrike moe se koristiti lokalna mrea (LAN) koja pove- zuje radne stanice zaposlenih iz raznih odeljenja sa serverom na kome se nalazi baza podataka. LAN unapreuje komunikaciju i proces donošenja odluka u okviru same kompanije. Ako se uvede Intranet koji se zasniva na Web tehno- logiji, njemu se moe pristupati samo u okvirima kompanije. Radna stanica svakog zaposlenog se moe koristiti kao web browser , i na taj nain se dobija brz pristup inormacijama kompanije, ukljuujui i teleonski adresar, speci-
fikacije proizvoda, elektronsku poštu i tome slino. Takoe se radne stanice mogu koristiti i kao personalni raunari koji povezani preko LAN-a pristupaju serveru na kome se nalazi baza podataka. Mogue je dodati i Web interejse nekim poslovnim aplikacijama, kao što su unošenje porudbina, da bi na taj nain više internih poslovnih aktivnosti moglo biti obavljano od strane zapo- slenih preko intraneta.
U cilju efikasnijeg ukupnog poslovanja intranet sistem se moe otvoriti
ka kupcima preko Interneta. Ovo omoguava maloprodajama da pretraujukatalog proizvoda (ukljuujui slike i specifikacije proizvoda) i utvrde da li
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 39/249
30 Primene baza podataka
eljenog proizvoda ima u skladištu. Tada radnici u maloprodajnim objekti- ma mogu da obaveste svoje kupce i da porue eljeni komad proizvoda preko Interneta. Internet konekcija je konfigurisana kao extranet što znai da samo odobrene maloprodaje mogu da pristupe intranet-u abrike.
Sve vee korišenje Interneta, svetske mree koja povezuje korisnike, nebit- no koje platorme je dovelo i do promena u okruenju baza podataka. Prihva- tanje Interneta od strane poslovnog sveta je dovelo do bitnih promena u davno utvrenim modelima poslovanja. Veoma uspešne kompanije su bile ugroene zbog novih kompanija koje su prihvatile Internet pomou koga su unapredi- le inormisanje i usluge koje su pruale svojim klijentima, i koje su zaobišle tipine tokove marketinga i distribucije proizvoda. Na primer, kupci konfiguri-
šu i poruuju svoj PC raunar direktno od proizvoaa raunara. Inormacije oupranjenim mestima i aktivnostima organizacije se mogu dobiti preko Interne- ta za veinu organizacija.
Svaka od ovih radnji zahteva podršku baze podataka. Lak pristup Interne- tu svih vrsta platormi omoguava kompanijama da reorganizuju svoje poslove i razviju bre aplikacije i to po manjim troškovima. Standardni interejsi omo- guavaju veu produktivnost korisnika, uz manje provedenog vremena na obuci, i
manju potrebnu podršku. Osnova razvoja korisnikove aplikacije je prikljuivanjebaze podataka iz koje se mogu dobiti svee inormacije. Kada je baza podata- ka povezana sa nekom Internet lokacijom, korisnici preko Web browser-a mogu da postavljaju odreena pitanja na koja e dobiti odgovore bazirane na sveim inormacijama. Odgovaranje na pitanja je automatsko; nema potrebe da se putem teleona prolazi kroz niz opcija da bi se postavilo pitanje nekoj osobi i da bi se zatim od nje ekao odgovor. Internet baze podataka su nezamenljive u razvoju sajtova za kupovinu preko Interneta. Kompanije prate sva dešavanja na sajtu kako
bi došli do što više inormacija o svojim klijentima (obrazci pri kupovini, naviga- cija sajtom, duina zadravanja na svakoj stranici i tome slino) kako bi što više unapredili svoj odnos prema kupcima.
Veina primera koji su navedeni prikazuju Business-to-Customer   (B2C)  veze. Kada su kupci kod nekih firmi druge firme, takav odnos se obino naziva B2B (Business-to-Business) odnos. Internet se koristi da olakša B2C odnos, zato što su kupci obavezno spoljni aktor u odnosu na firmu, i mogunost kupca da
pristupi poslovnim podacima i inormacijama je od velike vanosti za uspešan odnos. Dozvoljavanjem pristupa poslovnim bazama podataka, od strane osoba
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 40/249
Primene baza podataka   31
koje nisu deo organizacije, javljaju se nova pitanja za rukovoenje inormacionim sistemima vezana za sigurnost i integritet podataka.
Kompanije su godinama vršile razmenu inormacija putem elektronske raz-
mene podataka (EDI- eletronic data interchange). Mnoge kompanije i dalje koristeEDI sistem za obavljanje B2B poslovanja. Neke kompanije, uglavnom nove ili one koje nisu imale EDI sistem, koriste extranet za obavljanje B2B razmena podataka i inormacija. Extranet koristi Internet tehnologiju, meutim, pristup extranetu  je, za razliku od Interneta kome mogu svi pristupiti, ogranien. Ustvari, pristup je ogranien na kompanije koje su u ulozi dobavljaa i kupca i koje imaju meusob- ni dogovor o pristupu podacima i inormacijama jednih drugima. Obino, pre- thodno pomenuti akteri imaju pristup delu intranet-a drugog aktera. Ovaj nain
pristupa olakšava poslovne odnose tako što prua bri i efikasniji nain obrade ipristupanja podacima.
Kao što je prethodno pomenuto mnoge organizacije su koristile Internet tehnologiju za stvaranje privatne mree namenjene za upravljanje inormacija- ma u okviru organizacije. Po izgledu ne postoji razlika izmeu intranet i Inter- net stranica, ali pristup intranet stranici je ogranien samo na korisnike u okviru te organizacije. Stoga je i pristup bazi podataka organizacije ogranien. Intranet
moe da ostvari Internet konekciju ali ta konekcija e biti zaštiena firewall-omkoji spreava neovlašeni pristup intranetu.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 41/249
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 42/249
P o g l a v l j e 6 .
Istorija razvoja baza podataka
Nastanak baza podataka se vezuje za Herman-a  Holerith-a koji je 1884. godine prijavio patent – sistem za automatsku obradu podataka (AOP) o popisu stanovništva u SAD. Podaci na bušenim karticama su runo ubacivani u ureaj za oitavanje, a obrada podataka se odnosila na prebrojavanje. Programiranje se svodilo na izbor vrste prebrojavanja, a radilo se runim prespajanjem kontakata. Dotadašnja obrada podataka popisa trajala je 10-tak godina, a sa Holerith-ovim izumom vreme obrade bilo je smanjeno na šest nedelja. Herman Hollerith  je osmislio ideju po kojoj se svaki stanovnik SAD predstavlja nizom od 80 karaktera – ime, godište itd. popunjenih praznim prostorima da bi se za sva imena obezbe- dila ista duina, tako da baza podataka bude „poravnata“. On je uspeo da proda koncept svoje mašine i bušene kartice koje su sluile za uvanje podataka u statis- tikom birou SAD. Tako je popis stanovništva iz 1890. godine bio prva automati- zovana baza podataka, koja se u suštini sastojala od hiljada kutija punih bušenih kartica. Od Holerith-ove kompanije nastao je današnji IBM.
Slika 6.1. – Izgled Holerith-ove bušene kartice i mašine za oitavanje kartica
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 43/249
34 Istorija razvoja baza podataka
Nakon Drugog svetskog rata, u kompanijama i vladinim institucijama poe- li su se pojavljivati prvi elektronski raunari. Oni su se esto koristili upravo za  jednostavne linearne baze podataka, naješe za raunovodstvo. Ipak, vrlo brzo, bogati kupci su poeli da zahtevaju više od njihovih ekstremno skupih mašina.
Sve je to vodilo do ranih baza podataka. Zanimljivo, ove rane aplikacije su nasta- vile da koriste Hollerith-ove bušene kartice, neznatno modifikovane u odnosu na originalni dizajn. Nefleksibilnost polja iste duine, baze podataka pokretane 80 kolonskim bušenim karticama, uinile su rane raunare metom napada i šala i potpunom misterijom za obinog oveka.
Veina prvobitnih baza podataka se odnosila na specifine programe napisane za specifine baze podataka. Za razliku od modernih sistema koji
mogu biti primenjeni na potpuno razliite baze podataka, ovi sistemi su biliusko povezani za bazu podataka da bi osigurali brzinu na uštrb fleksibilnosti. Sistemi upravljanja bazama podataka su se prvi put pojavili tokom 1960-tih godina i nastavili su da se razvijaju tokom sledeih decenija. U veini sluajeva, period uvoenja je dugo trajao, skoro deceniju pre navedene godine poetka upotrebe. Na primer, relacioni model je prvi put definisan od strane E.F.Codd u tekstu objavljenom 1970 godine. Meutim, relacioni model nije bio široko prihvaen sve do 1980-tih godina.
1960’te
Tokom ovog perioda, sistemi zasnovani na datotekama su i dalje imali dominantnu ulogu. Pa ipak, prvi sistemi za upravljanje bazom podataka su uve- deni u ovoj deceniji, i korišeni su najpre samo kod velikih i sloenih projeka- ta, kao što je to bio projekat sletanja Apollo-a na Mesec. Ovaj period moemo posmatrati kao period ’dokazivanja’, u kom je demonstrirana sposobnost ovih
sistema da upravljaju ogromnim koliinama podataka. Takoe, prvi napor da se standardizuju poduzet je sa ormiranjem DBT Grupe (Data Base Task Group), tokom kasnih ’60-ih godina.
1970’te
Tokom ove decenije, upotreba sistema za upravljanje bazom podataka  je postajala komercijalna stvarnost. Hijerarhijski i mreni sistemi za upra-
 vljanje podacima su uvedeni, velikim delom zbog potrebe za sistemom koji e moi da upravlja sloenim strukturama podataka, kao što su rauni abrika
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 44/249
Istorija razvoja baza podataka   35
pri nabavci sirovina, kojima je bilo izuzetno teško upravljati preko konvenci- onalnih metoda. Ovi modeli se i suštinski smatraju prvom generacijom siste- ma za upravljanje bazom podataka. Oba pristupa su se široko primenjivala, zapravo, mnogi od tih sistema su u upotrebi i danas. Pa ipak, imali su nekoliko
 velikih nedostataka:
• Teak pristup podacima. Za pristup i najjednostavnijim podacima bili su potrebni izuzetno sloeni programi.
• Veoma ograniena nezavisnost podataka, tako da se programi nisu mogli izolovati od promena u ormatu podataka.
• Nije postojala nijedna široko prihvaena teorijska podloga za bilo koji odovih modela, za razliku od relacionog modela podataka.
1980’te
Da bi se prevazišla ova ogranienja, E. F. Codd, kao i mnogi drugi, razvili su model relacionih podataka tokom ’70-ih godina. Ovaj model, koji se smat- ra drugom generacijom DBMS-a, doiveo je široku komercijalnu upotrebu u
poslovnom svetu tokom ’80-ih godina. Sa relacionim modelom svi podaci supredstavljeni u ormi tabele. Relativno jednostavan programski jezik etvrte generacije, nazvan SQL, korišen je za dobijanje inormacija. Ovaj model je obe- zbedio jednostavan pristup podacima i onim ljudima koji nisu bili programeri, prevazilazei na taj nain jednu od najveih primedbi koja je pratila sisteme prvih generacija. Model je takoe pokazao i svoju pogodnost za komunikaciju na relaciji klijent/server, paralelni prenos podataka, i upotrebu grafikog koris- nikog interejsa (GUI).
1990’te
Ove godine se oznaavaju kao nova raunarska era, najpre na nivou raunarske komunikacije na relaciji klijent/server, a potom sa stvaranjem skla- dišta za podatke i upotrebom Internet aplikacija, koji su dobijali sve više na  vanosti u ovom periodu. Kao što je upravljanje podacima od strane DBMS-a postalo visoko primenjivo (npr., u raunovodstvu) tokom osamdesetih godina,
multimedijalni podaci (ukljuujui i grafiku, zvuk, slike i video zapis) su postaliuobiajena stvar tokom devedesetih godina. Kako bi se izborili sa sve sloenijim
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 45/249
podacima, tokom devedesetih su uvedeni sistemi okrenuti ka objektu, koji se smatraju treom generacijom. Zbog velike potrebe za organizacijom ogromne koliine podataka kako strukturisanih, tako i nestrukturisanih podataka, ovaj i prethodni sistem su u upotrebi i danas. Neki proizvoai ak rade na razvoju
kombinovanih sistema za upravljanje bazama podataka, kako bi mogli da upra- vljaju obema vrstama istih.
Od 2000. godine
Naravno, navodimo se na razmišljanje u kom pravcu e da krene razvoj DBMS tehnologija tokom naredne decenije. Iako e nesumnjivo doi do novih iznenaenja, moemo oekivati nastavak dobro uspostavljenih trendova:
1. Mogunost upravljanja sve sloenijim tipovima podataka. Ovi tipovi uklju- uju i multidimenzionalne podatke, koji su ve dobili na vanosti u aplika- cijama skladištenja podataka.
2. Nastavak razvoja ’univerzalnih servera’. Zasnovani na sistemu tree genera- cije DBMs-a, to su serveri koji mogu da upravljaju širokom lepezom raznih tipova podataka, tako da budu transparentni svim korisnicima. Bie naroi- to vani kod Internet aplikacija.
3. Dok su u potpunosti distribuirane baze podataka postale realnost, trenutni trend ka centralizaciji istih e se nastaviti. Kako se troškovi komunikacije sve više smanjuju, nasuprot porastu tipova podataka,vrednost lociranja i pristupa centralizovanoj bazi podataka takoe se smanjuje. Manji troškovi, a visoke perormanse svakako ohrabruju ovaj trend.
4. Skladišta sa adresiranim sadrajem e postajati sve popularnija. Sa ovakvim
pristupom, korisnik moe da izvue bilo kakav podatak specifikacijom kak-  vu vrstu podatka eli, umesto kako da doe do njega. Na primer, korisnik moe da skenira otografiju i da trai od kompjutera pretragu, kako bi pro- našao istu takvu, ili njoj slinu.
5. Baza podataka i druge tehnologije, poput veštake inteligencije i televizije, kao inormacionog servisa, olakšae pristup podacima neobuenim koris- nicima. Na primer, korisnik e biti u mogunosti da zahteva podatak na
 više jezika, a tehnologija baza podataka e da ukljuuje potrebe korisnika za podacima, na osnovu upita koji se uvaju, i menjati se na taj nain.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 46/249
Istorija razvoja baza podataka   37
6. Rad na tehnologijama algoritama za tehniku analize podataka, koji tee ka upravljanju veoma velikim paketima podataka, kako bi organizacije što lakše analizirale svoja ogromna skladišta podataka. To e u velikoj meri olakšati u planiranju strategije organizacija za njihovo poslovanje za due
 vremenske periode.
7. I na kraju skale se nalazi dalje širenje PDA, što e dovesti do poboljša- ne sinhronizacije malih baza podataka i poboljšanje brzine beinog prenosa. Bluetooth beini standard e u velikoj meri ubrzati razvoj beine konekcije na Internet. Ali e i nametnuti pitanje daljeg razvoja zaštite podataka.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 47/249
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 48/249
Modelovanje   39
P o g l a v l j e 7 .
Modelovanje
Inormacioni sistemi pojedinih firmi omoguavaju upravljanje podacima koji su bitni za njeno poslovanje. Meutim, broj internih podataka i podataka iz okruenja je ogroman te je nemogue sve podatke i sve uoene detalje opisa- ti i sauvati unutar inormacionog sistema. Postupkom selekcije identifikuju se i uvaju samo relevantni podaci. Time se dolazi do pojma modela podataka. On je izraz i posledica zahteva za obradom podataka relevantnih za odreeno podru-  je primene. Modeli su ovekovo sredstvo pojednostavljivanja problema i njego-
 vo posmatranje samo sa stanovišta bitnih za ciljeve analize. Objekt posmatran- ja (npr. automobil) ima uvek više osobina (atributa) od kojih u datom trenutku analize moe biti dovoljan samo njihov manji broj (npr. samo registarski broj, tip
automobila, ime i prezime vlasnika). To su najvaniji atributi potrebni u postupku pretraivanja i pronalaenja vlasnika vozila na osnovu registarskog broja vozila unutar jednog inormacionog sistema. Ostali atributi kao što su boja, godina pro-
izvodnje, broj sedišta i sl. nisu bitni (mogu se zanemariti ) za takav postupak. o-  vek, obdaren sposobnostima apstraktnog naina mišljenja, stvara jedan apstraktni
model realnog sveta. Takav model realnog sveta (objekta posmatranja) zasniva se na simbolima i zove se konceptualni model podataka.
Modelovanje podataka se radi paralelno sa analizom potreba. Kako se inor- macije prikupljaju, objekti se identifikuju, dodjeljuju im se imena koristei termine bliske krajnjim korisnicima. Objekti se onda modeluju i analiziraju korištenjem dijagrama objekti-veze (ER dijagrami). Dijagram se moe pregledati od strane dizajnera i krajnjeg korisnika da bi se osigurala njegova kompletnost i tanost.
Ako model nije taan, modifikuje se, što ponekad zahteva da se prikupe dodatne
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 49/249
40 Modelovanje
inormacije. Ciklus pregledanja i modifikovanja se nastavlja sve dok se ne dobije potvrda da je model korektan.
Slika 7.1. – Realan svet i njegov model 
7.1. Razvoj konceptualnih modela
Objekti iz realnog sveta se u raunarskoj primeni opisuju pomou podata- ka. Podaci su zato apstrakcija realnosti, tj. sredstva za kodiranje osobina objekata
iz realnog sveta. Modelovane, kao postupak kojim se realni svet svodi na odreenibroj podataka, predstavlja kompleksan posao i sastoji se iz više koraka:
• Izbor (selekcija). U prvom koraku se mnoštvo objekata iz realnog sveta redukuje na manji skup objekata, koji e initi objekte modela. Npr. objekti mogu biti student, predmet, proesor, studentska sluba, polaganje ispita i sl. U procesu selekcije ovaj broj objekata se moe redukovati na manji broj, ako  je cilj praenje uspešnosti studiranja na akultetu. Time se sloenost realnog
sistema smanjuje. Selekcija se ne odnosi samo na objekte nego i na njihove osobine, kao i na meusobne veze (relacije) izmeu objekata.
• Imenovanje. Svakom objektu u realnom svetu, svakoj vezi izmeu uoenih objekata, kao i svakom atributu (svojstvu) uoenog objekta ili veze dodelju-  je se ime.
• Klasifikacija. Nehomogeni skup objekata i odnosa se svrstava u homogene
klase i tipove objekata. Klasifikacija uvek zavisi od podruja primene.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 50/249
Modelovanje   41
Rezultat navedenih koraka modelovanja zove se konceptualni model. On sadri, za posmatrani problem iz realnog sveta, sve relevantne tipove objekata, njihove osobine i meusobne veze. Rezultati prouavanja modela podataka doveli su do saznanja da svaki model podataka ima tri neodvojive komponente:
• strukturu podataka,
• ogranienja (constraints).
Struktura i ogranienja, za razliku od operacija, opisuju stanje realnog sis-
tema, tj. predstavljaju statiki opis stanja sistema. Strukturu modela ine objekti,njihova svojstva, veze izmeu objekata i njihovih svojstava. Operacije nad poda- cima u modelu su, u stvari, operacije nad strukturom modela kojima se izraava dinamika realnog sistema. Operacije izraavaju kretanje i promene tj. dinamiku realnog sistema. Ogranienja su pravila koja razdvajaju dopuštena od nedopuš- tenih stanja realnog sistema i u svojoj prirodi deo su strukture modela podataka. Ponekad se ne posmatraju kao odvojene komponenta, nego kao deo strukture modela podataka.
7.2. Entiteti
Modelima podataka nastoji se preslikati realan sistem. Realan sistem sastoji se od objekata iz realnog sveta i njihovih veza izmeu kojih se uspostavljaju razli- iti odnosi. Pod entitetom se podrazumeva sve što se moe jednoznano odrediti,
identifikovati i razlikovati. Tako široko postavljena definicija pokazuje da entitetmoe biti svaki “realan” ili “apstraktan” objekt o kojem u odreenom trenutku raz- mišljamo. Entitet je realan ako fiziki, stvarno postoji. Najopštije se moe tvrditi da su granice entiteta u modelu podataka odreene ljudskim pogledom i nai- nom razmišljanja.
Svaki entitet uoen u realnom sistemu ima svoje osobine koje ga ine sloenim i njihove vrednosti omoguavaju razlikovanje entiteta. Svojstvo enti-
teta ukljuuje dva elementa - atribut i vrednost atributa (npr. entitet Student  ima atribute: Ime, Prezime, Broj indeksa, Adresu, Teleon i sl. i vrednosti Marko,
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 51/249
42 Modelovanje
 Markovi, 123/03, Danijelova, 15, 011/376-543  respektivno). Svaki put kada se promeni vrednost atributa, potrebno je promenu evidentirati, tj. aurirati tu  vrednost atributa za dati entitet.
Precizno govorei, objekti koji se oznae pojmom entiteta mogu se zvatiklase entiteta. Svaki objekt ima osobine (atribute) klase entiteta kojoj pripada. Npr. klasu entiteta Student  ine pojedinani entiteti od kojih svaki ima zajednike atribute: Ime, Prezime, Broj indeksa, Adresa, Teleon i sl. Svaki pojedinani entitet ima sve navedene atribute, ali e se razlikovati od drugih entiteta po vrednostima pojedinih atributa.
Atribut  opisuje entitet. Jedno konkretno pojavljivanje atributa naziva se
 vrednost. Ako je atribut dovoljno sloen, tako da ima svoje dodatne atribute, moe se posmatrati kao novi entitet.
Domen  atributa je skup svih moguih vrednosti koje atribut moe poprimiti.
Primarni klju je jedan ili više atributa ija vrednost jednoznano odreu-  je primerak entiteta. Na primer, za entitet Auto, primarni klju  je atribut regis-
tarski broj. Dva razliita lana ili primerka entiteta ne mogu imati isti primarni klju. Primarni klju je jedinstven za svakog lana entiteta. Na primer, za entitet Student  primarni klju bi mogao biti broj indeksa.
7.3. Veze izmeu entiteta
Baza podataka se ne odnosi samo na pojedinane objekte nego i na odnoseizmeu objekata. U realnom sistemu objekti nisu meusobno izolovani, nego se nalaze u meusobnoj interakciji. Student se upisuje na akultet, sluša predavanja iz pojedinih predmeta, prijavljuje polaganje ispita, polae ispit itd. To su primeri logikih i realnih veza izmeu objekata, koje slede iz realnih odnosa u posmat- ranom sistemu studiranja na jednom akultetu. Istraimo jedan skup odnosa iz- meu studenata koji slušaju predavanja kod odreenog proesora. Postavlja se pitanje šta su u takvim odnosima objekti, koje su njihove osobine (atributi) i kako
prikazati njihove odnose.
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 52/249
Modelovanje   43
Identifikovati objekte, njihove osobine i odnose znai praktino izgraditi model podataka. U modelu podataka ne postoje samo atributi objekta, nego i  veze izmeu objekata. Prvo se selektuju objekti, imenuju se, a zatim se analizira-  ju tipovi odnosa koji se uspostavljaju izmeu objekata. Odnosi izmeu objeka-
ta posmatranja prikazuju se naješe primenom logike skupova i preslikavanjanjihovih elemenata.
Najjednostavniji odnos izmeu ta dva tipa objekata naziva se preslikavanje 1:1. Kod takvog preslikavanja svaki se element skupa X moe preslikati na najviše  jedan element skupa Y. Istovremeno, i svaki element skupa Y moe biti preslikan na najviše jedan element skupa X. Karakteristian primer bi bio sa entitetima Fakultet  i Dekan. Na jednom akultetu moe biti samo jedan dekan, a jedan de-
kan moe biti dekan na samo jednom akultetu. Takvi odnosi izmeu entiteta su retki, a mogu se predstaviti sledeom slikom:
Slika 7.2. – Preslikavanje entiteta 1:1
Druga vrsta odnosa naziva se preslikavanje N:1 (ili 1:N). Više elementa sku- pa X moe se preslikati na najviše jedan element skupa Y. Istovremeno jedan ele- ment skupa Y moe se preslikati na više elemenata skupa X. Pogodan primer za ovu vrstu odnosa izmeu entiteta je odnos izmeu entiteta Student  i Dekan. Više studenata na jednom akultetu ima samo jednog dekana, a jedan dekan je dekan
za više studenata na svom akultetu.
8/20/2019 US - Uvod u Baze Podataka
http://slidepdf.com/reader/full/us-uvod-u-baze-podataka 53/249
44 Modelovanje
Slika 7.3. – Preslikavanje entiteta N:1
Najsloenije preslikavanje je tipa M:N. Svaki element prvog skupa moe se preslikati na više elemenata drugog skupa, ali se i svaki element drugog skupa moe preslikati na više elemenata prvog skupa. Karakteristian primer ovakvih  veza postoji ako se uoe entiteti Student  i Proesor . Jednom studentu predaje više
proesora, a ujedno jedan proesor predaje za više studenata.
Slika 7.4. – Preslikavanje tipa M:N 
8/20/2019 US - Uvod u Baze Po