Professional Documents
Culture Documents
2
1. Osnovni pojmovi
1. Baze podataka
2. Podatak i informacija
3. Metapodaci
4. Registar korisnika
5. Sistem za upravljanje bazama podataka
3
1.1 Baze podataka
4
Šta su baze podataka?
5
Računarske baze podataka
• Sastoje se od:
– Bita, organizovanih u bajtove, koji mogu da čine stringove
itd.
– Polja (fields) – niz bajtova koji reprezentuje informaciju
(broj, tekst, slika, audio/video zapis, ...)
– Zapisa (records) - niz polja koji zajedno opisuju jedan
"entitet"
– Datoteka (files) – niz zapisa koji opisuju različite entitete
• Baze podataka tipično sadrže više relevantnih
datoteka
6
Definicije baze podataka
• Organizovani skup logički povezanih podataka
• Integrisani skup podataka o nekom sistemu i skup
postupaka za njihovo održavanje i korišćenje,
organizovan prema potrebama korisnika
• Dobro struktuirana kolekcija podataka, koja postoji
jedno određeno vreme, koja se održava i koju koristi
više korisnika ili programa
7
1.2 Podatak i informacija
• Podatak
• Informacija
8
Podatak
9
Informacija
300
245
250
BIZ, 75
198
200
PP, 100
PP
RGD 150 Broj upisanih studenata
125
BIZ
100
76
50
30
RGD, 70
0
2001 2002 2003 2004 2005
Podatak1
Podatak2
Obrada
Podatak3 Informacija
podataka
...
PodatakN
Podaci su Informacija se
smešteni u BP (stored) može dobiti iz BP (retrieve)
12
Podaci i informacije
PODACI INFORMACIJE
Ocene studenata iz pojedinih
predmeta Prosečna ocena
studenta 9,00
Bankarstvo 8
Prosečna ocena na
Marketing 9 Baza godini studija 8,34
Poslovne finansije 10 podataka
Prosečna ocena
Međunarodna ekonomija 9 na fakultetu 8,10
13
1.3 Metapodaci
• Podaci o podacima
• Opisuju svojstva ili karakteristike podataka krajnjih korisnika i
kontekst tih podataka
• Tipična svojstva podataka su naziv (ime) podatka, definicija,
dužina (veličina) i dozvoljene vrednosti
• Metapodaci omogućavaju dizajnerima i korisnicima baza
podataka da razumeju koji podaci postoje u bazi i šta oni
znače
• Rečnik podataka
14
1.4 Registar korisnika
15
1.5 Sistem za upravljanje
bazama podataka (SUBP)
• DBMS (Data Base Management System)
• Softverski sistem koji se koristi za:
– kreiranje struktura
– održavanje i manipulisanje podacima
– kontrolu prava pristupa bazi podataka
16
Sistem za upravljanje
bazama podataka (SUBP)
• DBMS - Interfejs između korisnika (korisničkih programa,
aplikacija) i zapisa baze podataka na disku
Aplikacija Y
Aplikacija X Aplikacija Z
Baza podataka
Baza podataka – podaci na disku
17
2. Relacione baze podataka
• Od posebnog interesa su:
– Relacione baze podataka (RBP)
– Programi ili sistemi za upravljanje relacionim bazama
podataka (Relational Database Management Systems,
RDBMS)
• Reč relaciona danas se često izostavlja, zato što većina
poznatih SUBP jesu relacione BP, npr. MS Access, MySQL, MS
SQL Server, Oracle, IBM DB2, Informix, Sybase
• Relacioni model – opisuje određeni aspekt stvarnog sveta
(problem space) u skladu s pravilima (E.F.Codd krajem 60.
godina XX veka)
18
Karakteristike relacionih BP
21
Funkcije baze podataka
• Baza podataka korisnicima omogućava:
– Smeštanje podataka
– Organizaciju
– Izmene
– Izveštavanje
– Zaštitu podataka
– ...
22
Korisnici baze podataka
23
3. Proces razvoja baza podataka
1. Analiza zahteva
2. Modeliranje
3. Projektovanje (Database design)
4. Realizacija (Database Build)
24
Modeliranje podataka
• Modeliranje podataka prvi je korak u razvoju baza podataka
(database development process)
Zahtevi Business Information Requirements
Database
25
3.1 Analiza zahteva
26
3.2 Modeliranje
• Primer ER modeliranja
– ER model pokazuje
odnose u datoj ZAPOSLENI
organizaciji i podržava #IdZaposleni
poslovne funkcije Ime ODELJENJE
Prezime #IdOdeljenja
DatumZ
RadMesto
Nadredjeni
27
3.3 Projektovanje BP (Database design)
28
3.4 Realizacija BP (Database Build)
29
4. Slojevi (layers) idealne BP
• Slojevi – uvođenje standarda
• Podela na 3 nivoa
– Eksterni (korisnik) View[1], ..., View[n]
– Konceptualni Opis preduzeća
– Interni Datoteke, metod pristupa, indeksi
• Različiti slojevi imaju različite zadatke
• Nezavisnost slojeva
30
Arhitektura BP
Aplikativni Korisnik za Aplikativni
program računarom program Eksterni
(Lokalni logički)
Pogled 1 Pogled 2 Pogled 3 nivo
Konceptualni
ŠEMA
RADNICI
#IdRadnik
Ime,
Prezime,
DatumZ,
RadMesto,
Nadredjeni
ODELJENJE
#IdOdeljenja (Globalni logički)
nivo
Fizički nivo
DISK
31
Eksterni sloj
• Odnosi se na korisnikov pogled na BP
• Svaki pogled (podšema) liči na mali konceptualni
sloj
• Vremenom se menja
– Promena pogleda
– Brisanje pogleda
– Dodavanje novog pogleda, itd.
32
Konceptualni sloj
• Fundamentalan jer opisuje kompletne informacije i
njihovu strukturu
• Za opis se koriste:
– Data Definition Language (DDL)
– Data Manipulation Language (DML)
• Tabele (relacije) su primer upotrebe DDL instrukcija
– Opis šema i njihova struktura
• Ovaj sloj se može menjati npr. kad se vrše promene
u preduzeću
33
Fizički sloj
• Odnosi se na organizaciju datoteka i njihov fizički
zapis na disku
• Vremenom se menja:
– Uvode se novi memorijski uređaji za zapis podataka
– Koriste se novi indeksi za pristup podacima
(npr. za često korišćene upite)
– Različita distribucija podataka na memorijskim modulima
– Baferi za često korišćene podatke
34
5. Projektovanje baza podataka
1. Relacije
2. Tipični zahtevi
3. Neophodnost dobrog projektovanja BP
4. Ograničenja
5. Pogledi (Views)
6. Fizički dizajn
35
5.1 Relacije
36
Primer: Relaciona baza podataka (RBP)
1. Ime Id# DatumRođenja Položaj Zarada
A 121 12.2.1955. 2 80
A 132 17.6.1963. 3 70
B 101 28.2.1977. 4 70
C 106 10.5.1981. 2 80
37
5.2 Tipični zahtevi
• Zahtev ⇒ upit (query)
• Primeri:
– Prikazati spisak zaposlenih rođenih pre 01.01.1970.
– Prikazati spisak zaposlenih koji su uzeli knjige pre
01.08.2010. godine
– Poslati poruku zaposlenima koji imaju bolest ‘oooo’ da
izvrše lekarski pregled
• Neki upiti se odnose na jednu tabelu, a neki na više
• Neophodno je da postoji jezik (što bliži čovekovom), da bi se
izrazili prethodni upiti (jezik za rad sa BP)
– SQL – Structured query language
38
5.3 Neophodnost
dobrog projektovanja BP
• Važno je pažljivo razmišljati o tabelama i njihovoj
strukturi
• Poželjno je da se podaci pojavljuju samo jedanput
– U datom primeru se DatumRođenja pojavljuje dva puta
– Opasnost kod višestrukog pojavljivanja Adrese zaposlenih
• Ako se zaposleni preseli, promena se mora evidentirati na više mesta
• Izuzetno, nekada je potrebno imati redudansu,
zbog efikasnosti – brzog pristupa podacima
39
5.4 Ograničenja
40
Rešavanje problema
Tabelu:
• Ime Id# DatumRođenja Položaj Zarada
A 121 12.2.1955. 2 80
A 132 17.6.1963. 3 70
B 101 28.2.1977. 4 70
C 106 10.5.1981. 2 80
• Položaj Zarada
1 90
2 80
3 70
4 70
41
Rešavanje problema
43
5.6 Fizički dizajn
44
6. Oporavak BP
• BP mora da bude otporna na eventualne greške
(npr. nestanak napajanja računara el. energijom)
• Pretpostavimo da postoji sledeća tabela sa stanjem na
određenom štednom računu
Id# Stanje Račun
101 40 123-1
106 40 111-2
121 0 222-1
132 10 321-6
• Svakom zaposlenom treba povećati stanje na računu za 10 din
• Da bi se to uradilo transakcija (izvršenje programa)
sekvencijalno (u tzv. FOR petlji) ažurira stanje svakog računa
45
Oporavak BP
• Ali, datoteke se nalaze na disku. Podaci se učitavaju u RAM
memoriju, obrađuju i ponovo zapisuju u istu datoteku:
i= 100;
X:= Stanje[i+1]; Čitanje diska (Read)
X:= X+10; Obrada (Processing)
Stanje[i+1]:= X; Upisivanje na disk (Write)
⁞
• Šta ako u toku obrade nestane napajanja el. energijom?
• Ne znamo koja stanja su promenjena (X, Stanje)
• Različite tehnike za upravljanje izvršenjem transakcija
46
7. Konkurentni rad
• Paralelno se izvršavaju dve transakcije
• Transakcija T1 je podizanje novca, a transakcija T2 ulaganje novca
(10 dinara) na isti račun Id#=101
T1 T2
X:= Stanje[101]; .
X:= X-10; .
. X:= Stanje[101];
. X:= X+10;
Stanje[101]:= X; .
. Stanje[101]:= X;
. .
• Ažuriranje koje je izvršila transakcija T1, prebriše se ažuriranjem koje
izvrši transakcija T2
47
Konkurentni rad
• Konkurentni rad:
– Standardni operativni sistemi ne pomažu kod prethodnih
problema, ali se to rešava mehanizmima za konkurentno
izvršavanje transakcija
– Npr. kod podizanja novca sa jednog računa i uplate na drugi
račun iste sume novca proverava se konzistentnost baze
podataka pre i posle promena
– Međutim, ako se stanje na nekom računu povećava 2 puta,
konzistentnost baze ne pomaže
48
Aplikacije i BP
Dvoslojna arhitektura aplikacije Troslojna arhitektura aplikacije
Korisnik Korisnik
klijent
Aplikacija Aplikacija
mreža mreža
Aplikativni server
Sistem za upravljanje
server Sistem za upravljanje
bazama podataka
bazama podataka
49
Narudžbenica
- Opisi proizvoda
- Cene
Internet
Klijent
Web server
Program Web aplikacije
<HTML>
Tekst
<% Server baza
Povezivanje s bazom podataka podataka
%>
50
dr Vladislav Miškovic
Baze podataka
Pitanja?
51