You are on page 1of 40

Baze

podataka
Osnovni pojmovi

ta su baze
podataka?
Najee se pod ovim podrazumeva skup informacija
smetenih u raunaru
BP postoje u razliitim formama:
Elektronski podaci: tekst, video i audio zapisi, brojevi
Knjige: kolekcija tekstova i slika, biblioteke
Datoteke organizovane u direktorijume
Skup ematskih crtea
Uzorci sa naftnih buotina
Uzorci krvi za medicinske laboratorije
DNK uzorci u forenzikim laboratorijama
....

Osnovni pojmovi

Raunarske 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
razliite entitete
Baze podataka tipino sadre vie
relevantnih datoteka
Osnovni pojmovi

Definicije
Baza

podataka

organizovani skup logiki povezanih


podataka
integrisani skup podataka o nekom sistemu i
skup postupaka za njihovo odravanje i
korienje, organizovan prema potrebama
korisnika
dobro struktuirana kolekcija podataka, koja
postoji jedno odreeno vreme, koja se
odrava i koju koristi vie korisnika ili
programa
Osnovni pojmovi

Podatak

Podaci

injenica o nekom predmetu i/ili


dogaaju koja se moe zabeleiti i
sauvati na raunaru
Struktuirani podaci: brojevi, karakteri, ...
Nestruktuirani podaci: slika, zvuk, video,
...
Podatak sam po sebi nema znaenje,
tek kada se interpretira nekom vrstom
sistema za obradu podataka poprima
znaenje i postaje informacija.
Osnovni pojmovi

Informacija
Podatak koji je obraen na takav nain da se znanje osobe
koja koristi podatak povealo

Podaci koji nisu korisni

Petar Petrovi

1506983710325

Marko Markovi

0211979850123

Janko Jankovi

1112985830456

-----------

-----------

Ime i prezime

JMBG

Smer

Godina upisa

Petar Petrovi

1506983710325

2007

Marko Markovi

0211979850123

2007

Janko Jankovi

1112985830456

2006

-----------

-----------

2006

Informacija o upisu dopunjeni relevantni podaci


Osnovni pojmovi

Informacije

podaci koji se sumiraju ili na neki drugi nain


obrauju i prezentuju

Grafiki prikaz podataka iz BP - informacija o upisu

Osnovni pojmovi

Informacija

Vano je razumeti ta je smeteno (stored) u BP, a ta se moe dobiti (retrieved) iz BP

Osnovni pojmovi

Podaci/Informacije

PODACI

INFORMACIJE
Prosena ocena studenta

Ocene studenata
iz pojedinih
predmeta

Database

Prosena ocena na
godini studija
Prosena ocena na fakultetu

Osnovni pojmovi

Metapodaci
Metapodaci

Renik podataka
Podaci o podacima
Opisuju svojstva ili karakteristike podataka
krajnjih korisnika i kontekst tih podataka
Tipina svojstva podataka su naziv (ime)
podatka, definicija, duina (veliina), i
dozvoljene vrednosti
Metapodaci omoguavaju dizajnerima i
korisnicima baza podataka da razumeju koji
podaci postoje u bazi i ta oni znae
Osnovni pojmovi

10

Registar korisnika

Registar korisnika
Podaci o korisnicima i njihovim pravima pristupa
Ko moe da pristupa
Username, password
Kojim podacima
Baza podataka, tabele, kolone, vrste
ta moe da radi sa njima
INSERT, DELETE, UPDATE, SELECT

Osnovni pojmovi

11

DBMS (SUBP)
DBMS - Data Base Management
System
Sistem za upravljanje bazama
podataka
Softverski sistem koji se koristi za:
kreiranje,
odravanje i manipulisanje podacima,
kontrolu prava pristupa bazi podataka

Osnovni pojmovi

12

DBMS - Interfejs izmeu korisnika (korisnikih


programa, aplikacija) i zapisa baze podataka na
disku

Aplikacija Y
Aplikacija X

Aplikacija Z

Data Base Management System

Baza podataka

Baza podataka podaci na disku

Osnovni pojmovi

13

Od posebnog interesa su:


Relacione baze podataka - RBP
Programi za upravljanje sa RBP Sistemi za
upravljanje bazama podataka (DBMS)
Relational Database Management System
(RDBMS)
Re relaciona danas se esto izostavlja, zato
to veina poznatih SUBP (kao to su: MS
Access, MySQL, MS SQL Server, Oracle, IBM
DB2, Informix, Sybase) jesu relacione BP.
Relacioni model opisuje odreeni aspekt
stvarnog sveta (problem space) u skladu sa
pravilima (E.F.Codd krajem 60. godina XX veka)

Osnovni pojmovi

14

Karakteristike

relacionih BP

Podaci su organizovani u redove i


kolone, a skup takvih podataka je
relacija
Sve vrednosti su skalarne u jednom
polju se moe nai samo jedna vrednost
Ne mogu da postoje dupli zapisi
Sve operacije se obavljaju nad
relacijama a rezultat operacija je opet
relacija
Osnovni pojmovi

15

Koncept RBP:
Na slici su prikazane 3 tabele sa ukupno 12 atributa
(razliitih kolona)
Tab1 i Tab2 dele atribut 3
Tab2 i Tab3 dele atribut 7

Tab1
Tab2

Tab3

Osnovni pojmovi

16

Primena BP predstavlja
kombinaciju:
Relacionog sistema za upravljanje bazama
podataka (DBMS)
Relacione BP
Odgovarajueg menija, formi za unos
podataka i generisanih izvetaja
Programa za obradu podataka
Dokumentacije za korisnika (npr. manuals)

Osnovni pojmovi

17

Modelovanje
- Razvoj BP

Modelovanje
podataka je
prvi korak u
razvoju baza
podataka
(database
development
process)

Business Information Requirements


Strategija,
Analiza

Conceptual Data
Modeling

MOV dijagrami

Projektovanje

Database Design

Tabele, kljuevi,
indeksi, pogledi, ..

Realizacija

Database Build

Database

Osnovni pojmovi

18

Modelovanje
- Razvoj BP

Razvoj baza podataka poinje sa analizom zahteva


krajnjih korisnika
Primer - Problem upravljanja kadrovima (zaposleni):
Potrebno je voditi evidenciju za svakog zaposlenog (ime,
prezime, radno mesto, datum zapoljavanja, zarada)
Svaki zaposleni ima jedinstven identifikacioni broj
Preduzee ima vie odeljenja (proizvodnja, raunovodstvo,
prodaja itd). Odeljenja imaju jedinstven ID
Svaki zaposleni je u jednom odeljenju
Neki od zaposlenih su direktori odeljenja
Potrebno je da se zna direktor za svakog zaposlenog i svi
zaposleni kojima upravlja odreeni direktor

Osnovni pojmovi

19

Modelovanje
- Razvoj BPPrimer ER modelovanja

ER model pokazuje
odnose u datoj
organizaciji i podrava
poslovne funkcije

RADNICI
#IdRadnik
Ime,
Prezime,
DatumZ,
RadMesto,
Nadredjeni

Osnovni pojmovi

ODELJENJE
#IdOdeljenja

20

Modelovanje
- Razvoj BP

Database design: ER model se


transformie u Relacioni model:

Nazivi tabela
Nazivi kolona u tabelama
Primarni (PK) i spoljanji kljuevi (FK)
Nulls: indikacija da kolona mora da ima
vrednost
Unique: vrednost u datoj koloni ne sme da se
ponavlja
Datatype: format i definicija svake kolone

Osnovni pojmovi

21

Modelovanje
- Razvoj BP

Realizacija (database build)


Primena SQL (Structured Query Language) jezika za fiziku
realizaciju

SQL>CREATE TABLE ODELJENJE


(IdOdeljenje NUMBER(5) NOT NULL PRIMARY KEY,
Naziv VARCHAR(25) NOT NULL);
SQL>CREATE TABLE RADNICI
(IdRadnik NUMBER(9) NOT NULL PRIMARY KEY,
Ime VARCHAR2(15) NOT NULL,
Prezime VARCHAR2(20) NOT NULL,
RadnoM VARCHAR2(15),
Zaposlen DATE NOT NULL,
Nadredjeni NUMBER(9) REFERENCES RADNICI
Odeljenje NUMBER(5) REFERENCES ODELJENJE);

Osnovni pojmovi

22

Standardizacija

Slojevi (layers) idealne BP


Slojevit rad uvoenje standarda
Podela na 3 nivoa
Eksterni (Korisnik)
View[1], ..., View[n]
Konceptualni
Opis preduzea
Interni
Datoteke, metod
pristupa, indeksi

Razliiti slojevi imaju razliite zadatke


Nezavisnost slojeva

Osnovni pojmovi

23

Arhitektura BP
Aplikativni
program

Korisnik za
terminalom

Aplikativni
program

pogled 1

pogled 2

pogled 3

Eksterni
(Lokalni logiki)
nivo

Konceptualni
(Globalni logiki)
nivo

EMA

Fiziki
nivo

DISK
Osnovni pojmovi

24

Eksterni sloj
Odnosi se na korisnikov pogled na BP
Svaki pogled (podema) lii na mali
konceptualni sloj
Vremenom se menja
Promena pogleda,
Brisanje pogleda,
Dodavanje novog itd.

Osnovni pojmovi

25

Konceptualni sloj
Fundamentalan jer opisuje kompletne
informacije i njihovu strukturu
Koristi se:
Data Definition Language (DDL)
Data Manipulation Language (DML)

Tabele (relacije) su primer upotrebe DDL


instrukcija
Opis ema i njihova struktura

Ovaj sloj se moe menjati kako se vre


promene npr. u preduzeu
Osnovni pojmovi

26

Fiziki sloj
Odnosi se na organizaciju datoteka i
njihov fiziki zapis na disku
Vremenom se menja:
Uvode se novi memorijski ureaji za
zapis podataka
Koriste se novi indeksi za pristup
podacima (npr. za esto koriene
upite)
Razliita distribucija podataka na
memorijskim modulima
Baferi za esto koriene podatke
Osnovni pojmovi

27

Postojanje relacije potpuno je


nezavisno od fizikog oblika
podataka
Relacija moe da bude fizika tabela
na disku
Relacija moe da bude i izvedena iz
vie table, pojedine vrednosti mogu
biti dodati (izraunati) itf.

Osnovni pojmovi

28

Primer RBP
1.

Ime
A
A
B
C

Id# DatumRoenja Poloaj


12112.2.1955. 2
80
13217.6.1963. 3
70
10128.2.1977. 4
70
10610.5.1981. 2
80

2.

Id#
132
121

Knjiga Datum
xx 13.7.03.
yy 26.8.04.

3.

Id#
101
121

Bolest Datum
hhhh 20.1.05.
oooo
16.12.04.

4.

Id#
101
121
106
132

Adresa DatumRoenja
aaa 28.2.1977.
bbb12.2.1955.
ccc 10.5.1981.
ddd17.6.1963.

ddd
bbb

Zarada

Adresa

Osnovni pojmovi

29

Tipini zahtevi

Zahtev upit (query)


Primer:
Prikazati spisak zaposlenih roenih pre
01.01.1970.
Prikazati spisak zaposlenih koji su uzeli knjige pre
01.08.2008. godine
Poslati poruku zaposlenima koji imaju bolest
oooo da izvre lekarski pregled
Neki upiti se odnose na jednu tabelu, a neki na vie
Neophodno je da postoji jezik (to blii ovekovom),
da bi se izrazili prethodni upiti (jezik za rad sa BP)
SQL Structured query language

Osnovni pojmovi

30

Projektovanje BP

Neophodnost dobrog projektovanja BP:


Vano je paljivo razmiljati o tabelama i njihovoj
strukturi
Poeljno je da se podaci pojavljuju samo
jedanput
U datom primeru se DatumRoenja pojavljuje dva
puta
Opasnost kod viestrukog pojavljivanja Adrese
zaposlenih

Ako se zaposleni preseli, promena se mora evidentirati


na vie mesta

Izuzetno, zbog efikasnosti brzog pristupa


podacima, nekada je potrebno imati redudansu
Osnovni pojmovi

31

Ogranienja

Neka je politika preduzea takva da se zarade


odreuju poloajem zaposlenog
U datom primeru POLOAJ=2 implicira
ZARADA=80, i dva puta je zapisano
Ovo je drugi tip redudanse, manje oigledan, ali
koji znatno vie smeta
Sledei problem
Nemogue je uneti zaradu, osim one koja ve
postoji za zaposlene
Npr. Nemogue je upisati da POLOAJ=1
implicira ZARADA=90

Osnovni pojmovi

32

Reavanje problema

Ime
A
A
B
C

Id#
121
132
101
106

DatumRoenja
12.2.1955. 2
17.6.1963. 3
28.2.1977. 4
10.5.1981. 2

Poloaj
80
70
70
80

Zarada

Zameniti sa sledee dve tabela

Ime
A
A
B
C

Id#
121
132
101
106

DatumRoenja
12.2.1955. 2
17.6.1963. 3
28.2.1977. 4
10.5.1981. 2

Poloaj
1
2
3
4

Zarada
90
80
70
70

Poloaj

Osnovni pojmovi

33

Reavanje problema

Razliiti korisnici imaju potrebu za


razliitim podacima
Sa stanovita prava/sigurnosti, razliiti korisnici
mogu imati razliite privilegije
Odeljenje za plate moe da vidi ZARADE, a ne i
BOLESTI
Zdravstveno odeljenje moe da vidi BOLESTI, a
ne i ZARADE
Razliiti korisnici imaju potrebu za razliitim
aspektima informacije
Zdravstveno odeljenje moda ima potrebu da
vidi GodineStarosti umesto DatumRoenja
Podaci se mogu organizovati prema potrebama
korisnika
Osnovni pojmovi

34

Pogledi - Views
Mogue reenje: dati svakom korisniku
privilegiju da moe da vidi samo pogled na
BP
Pogled: izvedeni podaci iz BP
Npr. Zdravstveno odeljenje moe imati privid
da postoji sledea tabela:
Id# Ime Adresa Starost Bolest
101 B aaa
28 hhhh
121 A bbb
42 oooo
Ovo je jedan od naina ograniavanja prava
korisnika
Idealno: korisnik manipulie (radi) samo nad
pogledima
Osnovni pojmovi

35

Fiziki dizajn
BP treba da bude organizovana tako da se
upiti efikasno izvravaju
Datoteke treba da budu organizovane na
odgovarjui nain

Npr. Ako je esto potreban Poloaj


zaposlenih po identifikacionim brojevima
Id#, potrebno je imati datoteku sortiranu
po Id#.
Npr. Ako je potrebno tampati zarade
zaposlenih roenih 1977. godine, bolje je da
je datoteka sortirana po GodineRoenja
Fiziki dizajn bitan za optimizaciju upita
Osnovni pojmovi

36

Oporavak BP

BP mora da bude otporna na eventualne


greke (npr. nestanak napajanja)
Npr. Pretpostavimo da postoji sledea tabela
sa stanjem na odreenom tednom raunu
Id#
Stanje
Raun
101
40
123-1
106
40
111-2
121
0
222-1
132
10
321-6
Svakom zaposlenom treba poveati stanje
na raunu za 10

Da bi se to uradilo transakcija (izvrenje


programa) sekvencijalno (u FOR petlji) aurira
stanje svakog rauna
Osnovni pojmovi

37

Oporavak BP

Datoteka se nalazi na disku. Podaci se uitavaju u RAM


memoriju, obrauju i ponovo zapisuju u istu datoteku:
i=100;
X:=Stanje[i+1];
itanje (Read)
X:=X+10; Obrada (Processing)
Stanje[i+1]:=X;
Upisivanje (Write)
.
.
.
ta ako u toku obrade nestane el. napajanja?
Ne znamo koja stanja su promenjena.
Razliite tehnike za upravljanje izvrenjem transakcija

Osnovni pojmovi

38

Konkurentan rad

Paralelno se izvravaju dve transakcije


Transakcija 1 podie, a transakcija 2 ulae novac (10 dinara) na
isti raun Id#=101
T1 T2
X:=Stanje[101];
X:=X-10;
. X:=Stanje[101];
. X:=X+10;
Stanje[101]:=X;
.
Stanje[101]:=X;
. .
. .
. .
Auriranje koje je izvrila transakcija T1, prebrie se auriranjem
koje izvri transakcija T2
Osnovni pojmovi

39

Osnovni pojmovi

40