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