You are on page 1of 39

 Sistem baza podataka

◦ Sistem baza podataka sadrži 4 osnovne


komponente:
 korisnici,
 aplikacija nad bazom podataka,
 sistem za upravljanje bazama podataka (Database
Management System - DBMS), i
 baza podataka.
Komponente sistema baza podataka
 Šta je baza podataka?
 Baza podataka predstavlja kolekciju međusobno
povezanih podataka koji su organizovani u tabele i
druge strukture podataka, a koriste za jednu ili više
aplikacija.
 Osnovna namena baze podataka je da bude
skladište za podatke.
 Podaci mogu biti različitog tipa, tekstualni,

numerički, slike, audio i video zapisi i sl.


 Iz „definicije" baze podataka vidi se da je ona
kolekcija međusobno povezanih podataka
organizovanih u tabele.
 Podaci u bazama podataka su organizovani u

dvodimenzionalne tabele.
 Tabela može da ima više kolona, gde svaka

kolona predstavlja neku osobinu ili atribut.


 Vrste tabele čine konkretni podaci, odnosno

konkrente vrednosti osobina/atributa nekog


objekta.
 Koje će tabele da sadrži baza podataka zavisi
od problema za koji treba realizovati bazu
podataka.
 Postupak izbora i definisanja tabela za bazu

podataka je deo procesa modeliranja


odnosno izgradnje modela podataka.
 Model podataka je detaljno objašnjen u

sekciji nakon sekcije o DBMSu. 


 Međusobna povezanost podataka je ono po
čemu se baza podataka razlikuje u odnosu na
fajl sisteme (datoteke) i programe za unakrsna
izračunavanja ko što je Excel.
 Baza podataka sadrži i tzv. metapodatke,

odnosno podatke o samoj strukturi baze


podataka.
 Sistem za upravljanje bazama podataka (DBMS)
 DBMS obično nudi:

◦ Jezik za opis podataka (eng. Data Definition Language


- DDL), koji omogućava korisnicima definisanje tipa i
strukture podataka, kao i ograničenja nad podacima
memorisanim u bazi podataka (CREATE TABLE
naredba).
◦ Jezik za manipulaciju podacima (eng. Data
Manipulation Language - DML), koji omogućava
korisnicima umetanje, ažuriranje, brisanje i
pretraživanje podataka iz baze podataka (SELECT,
INSERT INTO, UPDATE naredbe).
◦ Jezik za definisanje načina memorisanja podataka
(eng. Storage Definition Language - SDL ), koji se
koristi za specificiranje interne šeme baze
podataka.
◦ Kontrolisani pristup bazi podataka, što uključuje
različite funkcije i mehanizme za pristup podacima
u bazi podataka
 Funkcije DBMS-a
 DBMS treba da obezbedi sledeće funkcije za

kontrolisani pristup podacima u bazi


podataka:
◦ Sigurnosni sistem, koji onemogućava pristup bazi
podataka neautorizovanim korisnicima (sigurnosni
servisi), odnosno samo autorizovani korisnici mogu
da koriste podatke u skladu sa definisanim
privilegijama (autorizacioni servisi)
◦ Integritetni sistem, koji održava konzistentnost
podataka u bazi podataka, odnosno da se sve
promene dešavaju u skladu sa definisanim
pravilima.
◦ Sistem za kontrolu konkurencije, koji dopušta
deljivi pristup podacima iz baze podataka, tj da se
obezbedi korektno ažuriranje podataka kada više
korisnika pokušava istovremeno da vrši ažuriranja.
◦ Sistem za kontrolu oporavka baze podataka, koji
omogućava rekonstrukciju prethodnog
konzistentnog stanja u slučaju neke hardverske ili
softverske neispravnosti.
◦ Katalog kome korisnici mogu pristupati, koji sadrži
opis podataka koji su memorisani u bazi podataka.
◦ Podrška za transakcije, koja obezbeđuje korektno
izvršavanje niza transakcija koje mogu biti
međusobno zavisne; transakcija je skup operacija
upisa i čitanja iz baze podataka koji se tretira kao
celina tj ima svoj početak i kraj.
◦ Razne korisničke funkcije, kao što su import,
eksport podataka, statističke analize, funkcije za
nadgledanje,...
 Izbor DBMS-a
 Postoji veliki broj proizvođača DBMS-a

različitih performansi, namenjeni različitim


segmentima tržišta.
 Tipovi sistema baza podataka:

◦ Knjigovodstvene aplikacije (sistemi za upravljanje


dokumentima, sistemi za banke, i sl)
◦ Modere Web aplikacie koje obezbeđuju složenu
funkcionalnost u distribuiranom okruženju (on-line
kupovine, raze socijalne mreže i sl.)
◦ personalni sistemi baza podataka (npr. aplikacija za
evidenciju kucnih troskova gde BP koristi jedan
samo korisnik

Personalni sistem baza podataka


◦ enterprise sistemi baza podataka (npr. velika
kompanija, ima sistem baza podataka sa velikim
količinama informacija.

Enterprise sistem baza podataka


 Modeli podataka
 U procesu razvoja baze podataka formira se

model realnog sistema.


 Postoji mnogo različitih mogućnosti da se

modelira sistem.
 Deo modela sistema koji se odnosi na podatke

naziva se model podataka.


 Relacioni model podataka
 Najpopularniji i najrasprostranjeniji model

podataka danas
 Relacija, kao osnovni koncept relacionog

modela je zapravo matematička relacija, i ima


jednostavnu reprezentaciju u obliku
dvodimenzionalne tabele sa podacima.
 Ovaj model daje osnovu za jezik visokog

nivoa za pristup  podacima


 U fazi projektovanja baze podataka treba
najpre prepoznati objekte realnog sveta
(entiteti) za koje treba čuvati podatke i
prepoznati njihove atribute.
 Izabrani entiteti će u bazi podataka biti

predstavljeni tabelama. Zbog toga pogledajte


pažljivo navedene objekte pošto mogu da
vam budu dobar vodič kod izbora entiteta!
 Svaki objekat, odnosno entitet, poseduje

neka svojstva.
 Svojstva ili atributi objekta će biti
predstavljena kolonama u odgovarakućoj
tabeli.
 Objekti međusobno mogu biti povezani

različitim odnosima odnosno relacijama.


 Izborom objekata, definisanjem njihovih

svojstava i prepoznavanjem veza između


objekata, izvršili smo modeliranje dela
realnog sveta koji predstavlja naš problem!
 Atributi su zajedničke osobine koje poseduju
svi entiteti jednog skupa entiteta.
 Pošto se entiteti odnosno objekti realnog sveta

predstavljaju relacijom, atributi predstavljaju


svojstva te relacije.
 Svaka relacija predstavlja skup torki, gde se

svaka torka odnosi na konkretan entitet iz


skupa entiteta.
 U tabelarnom prikazu relacije, vrste tabele su

podaci o konkretnim entitetima, odnosno torke


 Domen atributa je skup vrednosti koje neki
atribut može uzimati.
 Svaki domen atributa se definiše: tipom

podataka, dužinom podataka i opsegom


vrednosti.
 Relacija se u bazi podataka predstavlja
dvodimenzionalnom tabelom, gde vrste odgovaraju
pojedinim slogovima, a kolone atributima. Atributi se
mogu pojavljivati u bilo kom redosledu u tabeli.
Redosled vrsta tabele takođe nije bitan. Svaka tabela,
kao i svaka kolona u tabeli imaju ime.
 NULL Vrednosti atributa
 DBMS dozvoljava da atribut nema dodeljenu

vrednostm što podrazumeva korišćenje tzv


NULL vrednosti.

 NULL vrednost može da ima dva značenja:


◦ Vrednost atributa za posmatrani entitet ne postoji
ili još uvek nije poznata.
◦ Vrednost atributa za posmatrani nije primenjiva.
Relacioni model Baza podataka
Relacija Tabela
Torka Vrsta
Atribut Kolona
Domen atributa Tip podatka kolone
Šema relacije Opis tabele

Ekvivalentni skup pojmova


 Svojstva relacije
 Relacija ima sledeća svojstva:

◦ Svaka relacija ima ime koje se razlikuje od imena


svih ostalih relacija u šemi relacione baze podataka,
◦ Svaka ćelija tabele (određena vrstom i kolonom)
kojom je relacija predstavljena sadrži samo jednu
atomičnu (prostu) vrednost,
◦ Svi atributi jedne relacije imaju različito ime,
◦ Sve vrednosti jednog atributa su iz istog domena,
◦ Sve torke relacije su različite, tj. u relaciji ne
postoje duple torke,
◦ Redosled atributa u relaciji nema značaja, i
◦ Redosled torki u relaciji teoretski nema značaja, ali
praktično redosled torki u relaciji može uticati na
efikasnost pristupa torkama!

 Primer:
 RADNIK predstavlja skup radnika nekog preduzeća
(entiteta, tj objekata iz realnog sveta).
 Zadatak 1
 Izbor relacija

◦ Ako je neophodno projektovati bazu podataka koja


se odnosi na preduzeće, prepoznati entitete i
njihova svojstva, koje ćete predstaviti relacijama u
relacionom modelu, odnosno tabelama u bazi
podataka. 
RADNIK
LIME SSL PREZIME MBR DATRODJ POL PLATA ADRESA

Ivana S Gocić 123456 15-10-87 Ž 17000 Niška 4


Milan I Savić 234567 01-03-57 M 32000 Humska 2
Ana P Rodić 666777 03-12-50 Ž 27000 Savska 34
Pera K Kostić 555333 31-12-53 M 43000 Čairska 3

SEKTOR 
NAZIV SBROJ
Projektovanje 40
Razvoj 50
Proizvodnja 60
 Zadatak 2
 Domeni atributa

◦ Identifikovati domene atributa relacije RADNIK iz


prethodnog primera.
Atribut Domen Značenje Definicija domena
LIME Imena Osoba Skup mogućih imena osoba Niz karaktera, dužine do 15.
PREZIME Prezime Osoba Skup mogućih prezimena osoba Niz karaktera, dužine do 15.
Skup mogućnih matičnih brojeva
MBR Maticni Broj Celi brojevi, napr. opsega 0-9
radnika
Moguće vrednosti za datume
DATRODJ Datum Rodjenja Datum, opseg, od 01-JAN-44 nadalje
rođenja zaposlenih u preduzeću
POL Pol Pol radnika Karakter (1), vrednost M i Ž
Broj, opseg od minLD do 40000.00, gde je
PLATA PlataRadnika Moguće vrednosti plata radnika
minLD minimalni republički lični dohodak
ADRESA AdresaRadnika Moguće adrese radnika preduzeća Niz karaktera (30)
 Ključevi relacije
 U relacionom modelu podataka atribut ili skup
atributa čije vrednosti predstavljaju identifikator
entiteta (torke u relaciji) nazivamo ključem relacije.
 Takvi atributi se nazivaju ključni atributi.
 Ako relacija ne poseduje atribut ili skup atributa koji
je identifikuju, tada se uvodi specijalni identifikacioni
atribut - ključ surogat, koji se obično označava sa
ID.
Terminologija
 Ključ

◦ Pošto su sve torke relacije različite, u relaciji mora


postojati atribut ili skup atributa (tzv kompozitni
ključ – ključ od više atributa), nazvani relacioni
ključevi ili ključevi relacije, koji na jedinstven način
identifikuje svaku torku relacije.
 Primarni ključ
◦ Ključ kandidat koji je odabran da na jedinstven
način identifikuje torke unutar relacije.
 Ključ surogat
◦ Identifikator koji je dodat relaciji kao primarni ključ,
zato što relacija nema odgovarajući atribut ili skup
atributa koji može biti primarni ključ relacije.
 Spoljni ključ / Strani ključ
◦ Atribut ili skup atributa jedne relacije koji se
uparuje sa ključem kandidatom neke druge ili iste
relacije. Važan za ostvarivanje međusobnih veza
između tabela!!!
 Zadatak:
 Ključ relacije

◦ Identifikovati primarne ključeve relacija RADNIK i


SEKTOR iz prethodnog primera.
 Rešenje:
◦ Primarni ključ u relaciji SEKTOR je broj sektora,
odnosno atribut SBROJ, zato što na jedinstven način
identifikuje svaki sektor u preduzeću
◦ U relaciji RADNIK primarni ključ je očigledno
matični broj radnika.
◦ U relaciji RADNIK atributi BRSEK i MATBRS su spoljni
ključevi. Prvi je primarni ključ u matičnoj relaciji
SEKTOR, a drugi je primarni ključ u relaciji RADNIK.
Relacija SEKTOR ima spoljni ključ MATBRR koji je
primarni ključ u relaciji RADNIK. U relaciji SEKTOR
atribut NAZIV je ključ kandidat (ako važi pravilo da u
preduzeću ne postoje dva ili više sektora sa istim imenima)
 Relacioni integritet
 Već smo ukazali da se za svaki atribut u

relaciji vezuje određeni domen.


 Radi se o domenskim ograničenjima (eng.

domain constraints), kojima se ograničava


skup dozvoljenih vrednosti atributa relacije.
 Postoje još dva pravila integriteta, poznata kao
integritet entiteta (eng. entity integrity) i
referencijalni integritet (eng. referential integrity),
koja ograničavaju ili zabranjuju pojave određenih
torki u relaciji.
Ograničenja
 Integritet entiteta

◦ Nijedan atribut primarnog ključa bazne relacije ne


sme imati NULL vrednost.
 Referencijalni integritet
◦ Ako postoji neki spoljni ključ u relaciji, njegova
vrednost mora biti jednaka vrednosti ključa
kandidata neke torke u matičnoj relaciji ili njegova
vrednost mora biti NULL.
◦ Referencijalni integritet je važan kod definisanja
međusobnih veza između tabela.
 Na primer, pomenuta veza između relacija RADNIK i
SEKTOR (odnosi se na radnike koji rade u nekom
sektoru):
RADNIK : SEKTOR
X:Y
 Najpre posmatramo jednog radnika i određujemo sa
koliko sektora je on u vezi. Pošto jedan radnik
može da radi samo u jednom sektoru, kardinalnost
sa strane sektora je 1:
RADNIK : SEKTOR
X:1
 Nakon toga posmatramo jedan sektor i određujemo
sa koliko radnika je u pomenutoj vezi. Jedan sektor
može da ima više radnika, pa je kardinalnost sa
strane radnika u ovoj vezi N:
RADNIK : SEKTOR
N:1
 Veze tipa 1:1 i 1:N se jednostavno definišu
dodavanje stranog ključa.
 Komplikovanija situacija je ako je veza između dve
relacije više-na-više, odnosno M:N.
Predstavljanje šema relacione
baze podataka
 Uobičajena konvencija za predstavljanje relacione
šeme je dijagram relacije.
 Svaka relacija se predstavlja jednim izduženim
pravougaonikom koji ima onoliko ćelija koliko je
atributa u relaciji.
 Ime relacije se ispisuje iznad pravougaonika, a
imena atributa u ćelijama, pri čemu ostaje pravilo
da se primarni ključ podvlači, a da se spoljni
ključevi pišu italikom.

You might also like