You are on page 1of 49

Baze podataka

Dr Suzana Marković, dipl. ing. el.


suzana.markovic@bpa.edu.rs
Sadržaj

Baze podataka – definicija


Zadaci baze podataka
Životni vek BP
Model objekti veze
Relacioni model
Kolekcije
Sakupljaju se knjige, računari, slike, novčići,
pesme, adrese, automobili, recepti, kolekcije
kolekcija ili bilo kakvi skupovi stvari koje se
mogu povezati.
Znači, ako su objekti na neki način povezani,
čine kolekciju.
Primer: Telefonski imenik: naći broj telefona na
osnovu imena, a obrnuto?
Kako pronaći neki dragocen primerak iz vaše
kolekcije, za koji niste više sigurni da li ga imate
ili nemate?
Različite forme

Elektronski podaci: tekst, video i audio zapisi,


brojevi
Knjige: kolekcija tekstova i slika, biblioteke
Kolekcija filmova sa glumcima i žanrovima
Datoteke organizovane u direktorijume
Sportisti i sportovi na Olimpijadi
Uzorci krvi za medicinske laboratorije
Pojam baze podataka

Baza podataka je skup međusobno povezanih


podataka koji se čuvaju zajedno i među kojima ima
samo onoliko ponavljanja koliko je neophodno.
Bazu podataka čine povezani podaci i skup
programa za pristup tim podacima.
Baza podataka je skup povezanih podataka i svega
onog što je neophodno za njihovo održavanje i
korišćenje.
Baza podataka je najsavršeniji vid informacionog
sistema.
Primer IS biblioteke
Struktura informacionog sistema

Korisnik

Podsistem sprege
Ulazne forme Izlazne forme, izveštaji

Podsistem postupaka
logika održavanja i korišćenja sistema

Podsistem podataka
čuvanje podataka i elementarni postupci pristupa
Baza podataka

Baza podataka je integrisani skup podataka o


nekom sistemu organizovan prema potrebama
korisnika i elementarni skup postupaka za
njihovo održavanje i korišćenje.
Skup podataka pripremljen tako da se može
jednostavno koristiti, tj. pregledavati,
pretraživati, sortirati, ređati, itd., ali i menjati
(brisati).
Zadaci baze podataka
organizacija prema objektima i odnosima koji
postoje u sistemu na koji se baza podataka odnosi;
organizacija prema potrebama korisnika:
podrazumeva i mogućnost definisanja izvedenih zapisa
sa podacima;
integrisanost i kontrolisana redundansa: krajnji
cilj integrisanosti je minimalna redundansa (višestruko
ponavljanje) podataka; međutim, ponekad svesno
želimo da ponavljamo određene podatke radi bržeg
rada sa bazom podataka;
sigurnost: podrazumeva efikasnu kontrolu pristupa
podacima, u smislu ko može da pristupi bazi
podataka, kojim podacima i šta može da radi sa tim
podacima;
Zadaci baze podataka
konkurentnost: podrazumeva mogućnost
sinhronizovanog rada više korisnika istovremeno;
integritet: podrazumeva automatski oporavak od
nasilnih prekida u radu koji dovode do tzv.
nekonzistentnih stanja usled delimično izvršenih
ažuriranja (unosa, izmene ili brisanja) podataka;
import podataka: baza podataka se često uvodi kao
zamena za neki stariji informacioni sistem, i tada mora
postojati mogućnost preuzimanja tih podataka;
eksport podataka: često se javlja potreba da se
postojeća baza podataka zameni nekom još
savremenijom bazom podataka, i tada mora postojati
mogućnost predaje podataka bazi podataka na koju se
prelazi;
Zadaci baze podataka

performanse: baza podataka mora da obezbeđuje


maksimalni učinak u smislu najviše brzine rada uz
najmanje zauzeće računarskih resursa;
ekonomičnost: odnos učinak-cena treba da je što niži
(baze podataka su počele masovno da se uvode u
upotrebu onda kada su postale ekonomičnije od
tradicionalnih informacionih sistema);
standardizacija: standardni (dogovoreni) način opisa
organizacije baze podataka i operacija nad bazom
podataka obezbeđuje maksimalnu nezavisnost i trajnost
korisničkih programa za rad sa bazom podataka u
odnosu na promenu baze podataka.
Relacioni i objektni model

Relacioni model je teorijski zasnovao Edgar F.


Codd krajem 60- tih godina. Većina današnjih
DBMS koristi relacioni model.
U relacionom modelu baza podataka se sastoji od
skupa pravougaonih tablica ili relacija.
Svaka tabela ima ime po kojem se razlikuje od
ostalih tabela u BP.
Objektna orijentacija je pristup u kome se
neki sistem organizuje kao kolekcija
međusobno povezanih objekata koji sarađujući
ostvaruju postavljene ciljeve.
svaki realni entitet predstavljen je jednim objektom
u BP
Osnovni pojmovi
Baza podataka je skup
međusobno povezanih podataka
na disku. Ti podaci su na
raspolaganju korisnicima za
pregledanje, pretraživanje,
brisanje, ispravljanje itd.
Sistem za upravljanje
bazom podataka (Database
Menagment system - DBMS) je
softver koji upravlja radom
korisnika (korisničkih
programa, aplikacija) i zapisa
baze podataka na disku.
Korisnički programi ne
pristupaju podacima direktno,
već komuniciraju s ovim
softverom (programom).
Osnovni pojmovi
Baza podataka sastoje se od:
Bita, organizovanih u bajtove, koji mogu da čine stringove
itd.
Polja (fields) – niz bajtova koji reprezentuje informaciju
Rekorda (records) - niz polja koji zajedno opisuju jedan
“entitet”
Datoteka (files) – niz rekorda koji opisuju različite
entitete
Baze podataka tipično sadrže više relevantnih datoteka
 Metadata omogućavaju dizajnerima i korisnicima baza
podataka da razumeju koji podaci postoje u bazi i šta oni
znače.

Tabele - razbijanje informacija na manje jedinične


podatke,
Kolone (atributi),
Redovi (zapisi)
Karakteristike relacionih BP

Podaci su organizovani u redove i kolone, a


skup takvih podataka je relacija (tabela)
Sve vrednosti su skalarne – u jednom polju se
može naći samo jedna vrednost
Ne mogu da postoje dupli zapisi
Sve operacije se obavljaju nad relacijama
(tabelama) a rezultat operacija je opet relacija
(tabela)
Koncept RBP  Tabela 1 i Tabela 2 “dele”
atribut 3
 Tabela 2 i Tabela 3 “dele”
atribut 7

Tabela1

Tabela 2

Tabela 3
Životni vek BP

Svaka baza podataka ima svoj životni vek,


početak kada je projektovana, pa do njene
implementacije i održavanja.
5 faza:
Analiza potreba
Projektovanje - modeliranje podataka
Implementacija
Testiranje
Održavanje
Osnovni koncepti MOV-a
Sistem se najopštije može definisati kao skup
entiteta i njihovih međusobnih veza.
Entitet (objekat) je objekat realnog sistema
koji se u njemu lako identifikuje.
Predstavlja ili neki fizički objekat, koncept ili
događaj realnog sistema.
Entiteti su povezani odgovarajućim vezama.
Veza je asocijacija između dva ili više entiteta.
Objekat može biti povezan sam sa sobom (unarna
veza)
Objekti se opisuju atributima.
Osnovni koncepti MOV-a
Veze u modelu opisuju način povezivanja
jednog, dva (binarna veza) ili više objekata
Svaka binarna veza definiše dva preslikavanja
Preslikavanja definišu uloge objekata u vezi.
Atributi (osobine) entiteta ili veza opisuju
neke njihove karakteristike.
Atribut uzima vrednost iz skupa mogućih
vrednosti (domen)
Npr. godina_studija može uzeti vrednost iz skupa 1,
2, 3, 4, 5; semestar vrednosti iz skupa 1-10; ocena iz
skupa 5-10; matični broj iz skupa 13.-to cifarnih
brojeva,…itd.
Atribut 1 Atribut 2 Atribut 3 Atribut 4

O1 Veza 1 O2
O1 (DG,GG) O2 O2 (DG,GG) O1

Ime Prezime SifraPr NazivPr

Radnik Zapošljavanje Preduzeće


ć
(1,1) Radi (0,N) Zapošljava

N:1
JMBG
Primeri

(GG,GG):(1,N) Preduzeće Zapošljavanje Radnik


(0,N) Zapošljava (1,1) Radi

(GG,GG):(1,1) Narudžbenica Naručivanje Otpremnica


(0,1) Povlači (1,1) PoOsnovu

(GG,GG):(N,M) Student Prijava Predmet


(0,M) (0,N)
Entiteti

Entitet je objekat, pojam, stanje i sl. o kome se


prikupljaju, memorišu, obrađuju i prezentuju
informacije.
Entitet po svojoj prirodi može biti različit
Deo okruženja (član kolektiva, nastavnik, radnik,
student, aparat, zgrada, artikal, vozilo ...)
Apstraktni pojam (neka mera npr. visina, nečije
zvanje npr. titula, boja, ...)
Događaj (ispit, postupak upisa studenata npr.
Status_upisa,...)
Asocijacija (student_predmet, predmet_profesor,
..., fakultet_profesor, autor_knjiga)
Veze između entiteta

U realnom sistemu objekti nisu međusobno


izolovani, nego se nalaze u međusobnoj
interakciji
Odnosi između objekata posmatranja
prikazuju se najčešće primenom logike
skupova i preslikavanja njihovih elemenata.
Funkcionalnost veze između članova
entiteta može biti:
1–prema–1 (ili 1:1),
1–prema–više (ili 1:N)
više–prema–više (ili N:M)
Veze
Entiteti GRAÐANIN i POSLANIK

Funkcionalnost veze je je 1:1:


Jedan građanin ne može biti dvostruki poslanik, niti
poslanik može biti dva puta građanin.
Funkcionalnost veze je glasao za je N:1
više članova entiteta GRAÐANIN dalo svoj glas za jednog
člana entiteta POSLANIK.

Entiteti STUDENT i PREDMET


Funkcionalnost veze sluša je N:M jer je jedan predmet
sluša više studenata, a takođe jedan student sluša više
predmeta.
Primer 1
Preduzeće je podeljeno na sektore.
Prate se podaci o radnicima (mat.broj, ime i prezime) i
sektorima (id, naziv).
Važe sledeća pravila:
Svaki sektor mora da ima jednog rukovodioca.
Neki od radnika su rukovodioci u sektorima.
Nacrtati deo ER dijagrama koji opisuje vezu ‘rukovodjenje
sektorom’.
Primer 2
Na univerzitetu u toku upisnog roka prate se
podaci o prijavljenim kandidatima (mat.broj,
ime i prezime) po fakultetima (id, naziv). Važe
sledeća pravila:
Svaki kandidat može da se prijavi na više različitih
fakulteta.
Na svakom od fakulteta može biti više prijavljenih
kandidata, ali takođe je moguće da se niko nije
prijavio.
Primer 3
Na fakultetu se za potrebe izrade nastavnog
plana vode podaci o predmetima (šifra, naziv,
broj_bodova) po katedrama (id, naziv).
Važe sledeća pravila:
Svaki predmet može pripadati jednoj i samo jednoj
katedri.
U okviru svake katedre može biti više predmeta, ali
je moguće da još nema definisanih predmeta na
katedri.
Primer 4

Prate se opštine (id, naziv, brojStanovnika) i


njihova podela po okruzima (šifra, naziv). Važe
sledeća pravila:
Svaka opština pripada jednom i samo jednom
okrugu.
U okviru svakog okruga može biti jedna ili više
opština.
Primer 5

U okviru školskog informacionog sistema prate


se nastavni predmeti(šifra, naziv, brojBodova) i
njihovi udžbenici (id, autor, naslov). Važe
sledeća pravila:
predmet može i ne mora da ima izdat udžbenik;
za jedan predmet može postojati i više predviđenih
udžbenika;
udžbenik se koristi u nastavi za jedan ili više
predmeta.
Primer 6

U okviru školskog informacionog sistema prate


se nastavni predmeti(šifra, naziv, brojBodova) i
nastavnici(id,ime, prezime) koji ih predaju.
Važe sledeća pravila:
svaki predmet može predavati jedan ili više
nastavnika,
svaki nastavnik predaje jedan ili više predmeta.
Primer 7

U okviru školskog informacionog sistema prate


se nastavni predmeti(šifra, naziv, brojBodova) i
studenti(mat.broj, ime, prezime) koji ih polažu.
Važe sledeća pravila:
svaki predmet položi ni jedan ili više studenata,
svaki student može položiti ni jedan ili više
predmeta.
Složene veze

Unarna veza povezuje jedan tip entiteta s tim


istim tipom. Ovakva veza takođe može biti 1:1, 1:N
ili N:M.
1 1 m

je u Je šef
OSOBA RADNIK Deo proizvoda sadrži
braku za

1 n n

Jedan složeni deo može


sadržati puno manjih
delova.
Atribut i domen

Objekti se u sistemu opisuju preko svojih


svojstava ili atributa.
Svaki atribut u u jednom trenutku ima neku
vrednost.
Atributi uzimaju vrednost iz skupa mogućih
vrednosti - domen.
Vrednost atributa treba biti jednostruka i
jednostavna – ne može se rastaviti na delove.
Toleriše se ponekad da vrednost atributa nije
definisana ili upisana (nedostaje).
Broj atributa je stepen tabele.
Atribut

Svojstva objekta se opisuju preko atributa


Npr. atributi entiteta STUDENT: BrInd, Ime, Prezime, Smer,
Adresa
Atribut je zajednička osobina koju poseduju svi objekti
jedne klase
Npr. ne postoji student koji nema broj indeksa
Broj atributa nije fiksan
Relevantne atribute definiše kompetentna osoba
Od toga zavisi upotrebljivost dobijenih informacija
Atributi svih entiteta poprimaju određene vrednosti
Atribut

Prosti i složeni atributi


Prosti atributi:
Visina (cm),
Ocena,
Smer itd.
Složeni atributi:
Adresa (Ulica, Broj, Mesto, ...)
DatumRođenja (Dan, Mesec, Godina)
MATB ADR JEZIK IMENA SIFREO

(1,1)MLB (1,1)ADRESA (1,M)ZNA_JEZIK (1,1)IMER (1,1)NAZIVOD (1,1)SIFROD

(1,1) (0,M)
RADNIK ZAPOS ODELJENJE
(0,1) (1,1)

(1,1)STAROST     ISPLATE(1,M) RUKOV

GODINE PLATE

Definicija atributa
Jednoznačni atribut
Ako je kardinalnost atributa (DG = 1, GG = 1 ) onda se
takav atribut naziva jednoznačni atribut objekata.
Ako i inverzno preslikavanje jednoznačnog atributa
(preslikavanje DOMEN ----> OBJEKAT) takođe ima
kardinalnost (DG = 1, GG = 1) tada se takav atribut
naziva identifikator objekta, jer jedno pojavljivanje
takvog atributa jedinstveno određuje jedno
pojavljivanje objekta u skupu pojavljivanja objekata
datog tipa.
Na primer, atribut MLB je identifikator objekata
RADNIK.
(1,1)
MLB: RADNIK -------------> MATB
(1,1)
IMER:RADNIK --------------> IMENA
Višeznačni atribut

Ako je gornja granica kardinalnost atributa GG = M,


onda se takav atribut naziva višeznačni atribut objekta.
Na primer, (1,M)
ZNA-JEZIK: RADNIK ------------> JEZIK
Zbog jednostavnije transformacije MOV u
implementacioni model, jednostavnijeg definisanja
njegovih ograničenja i operacija u MOV se ne koriste
višeznačni atributi.
Ako domen višeznačnog atributa ima unapred zadat,
semantički značajan skup vrednosti, tad se on modelira kao
poseban objekat
Ako domen višeznačnog atributa nema unapred zadat
semantički značajan skup vrednosti, tada ga je pogodno
predstaviti preko novog koncepta identifikaciono zavisnog
slabog objekta
MATB ADR JEZIK IMENA SIFREO

(1,1)MLB
(1,1)ADRESA (1,M)ZNA_JEZIK (1,1)IMER (1,1)NAZIVOD (1,1)SIFROD

(1,1) (0,M)
RADNIK ZAPOS ODELJENJE
(0,1) (1,1)

(1,1)STAROST     ISPLATE(1,M) RUKOV

GODINE PLATE
NAZIVJ

IME ADRESA MLB* NAZIVOD SIFOD*


JEZIK

(0,M)
ZNA_JEZIK(1,M)
(1,1) (0,M)
ZNA RADNIK RADI ODELJENJE
(0,1) (1,1)

(1,M)
STAROST RUKOV

IZNOS ISPLATE DATUM Konvencija za 


predstavljanje atributa
Definisanje ključeva u modelu

Postoje atributi (grupe atributa) čije vrednosti


jednoznačno identifikuju primerke entiteta. Taj
atribut (grupa atributa) naziva se primarni ključ.
Ako ključ čini samo jedan atribut onda je on prost
ključ, u suprotnom je složen.

Prirodni (JMBG, reg. br. tablice, br. indexa…)


Veštački (ID)
Šema tabele

Građu tabele kratko opisujemo tzv. šemom


tabele, koja se sastoji od imena tabele i popisa
imena atributa u zagradama.
Primarni atributi označavaju se podvučenom
crtom ili zvezdicom.
Primer:
AUTO ( registracija, proizvođač, model,
godina )
OSOBA ( JMBG, ime, ime oca, adresa, ...)
Pretvaranje ER šeme u
relacionu
Svaki tip entiteta prikazuje se jednom tabelom.
Atributi entiteta postaju atributi (kolone)
tabele.
Primarni ključ entiteta postaje primarni ključ
tabele.
Postojanje veza s drugim entitetima može
zahtevati dodavanje još nekih atributa.
Npr. entitet STUDENT postaje tabela:
STUDENT ( indeks, ime, adresa, pol, . . . )
Veze
Pravilo 1.
Ako tip entiteta E2 ima obavezno članstvo u N:1–vezi sa
entitetom E1, tada relacija za E2 treba uključiti
primarne atribute (primarni ključ) od E1.
Ključ jedne relacije koji je prepisan u drugu relaciju
zove se strani ključ.
Primer. tabela LEKAR je vezana za tabelu PACIJENT.
 LEKAR( lid, ime, prezime, staz,...)
PACIJENT(pid, ime, prezime, datum rodjenja, ...)
 da bi uspostavili vezu:
PACIJENT(pid, lid , ime, prezime, datum rodjenja, ...)
Veze
Pravilo 2. Ako je veza tipa N:M uvek se prikazuje
posebnom tabelom koja uključuje primarne
atribute oba entiteta i još možda dodatne koje
sama veza ima.
STUDENT (indeks, ime, adresa, pol,...)
ODSEK (oid, ime odseka,...)
UPISAO (indeks, oid, datum upisa,...)
Veza UPISAO prikazana je preko posebne
relacije, a njen ključ je složen i sastoji se od
atributa obe relacije koje povezuje.
Uloge u radu sa BP
Sistem analitičari (system analyst)
Dizajner BP (database designer)
Aplikacioni programer (application
programmer)
Nosilac projekta (project manager)
Korisnik (user)
Administrator BP (database administrator)
Administrator sistema (system administrator)
Data Warehouse
Baza podataka koja se koristi u procesu
odlučivanja i koja je odvojena od operativnih
podataka.
Osnovni cilj je podrška u procesu donošenja
odluka (engl. decision support), tj. modelovanje i
analiza podataka.
DW sadrži sumarne podatke vezane za centralni
subjekat (npr. 5 do 10 godina unazad), ne podatke
vezane za dnevno poslovanje.
Kreira se integracijom podataka iz više
heterogenih izvora kao što su relacione baze, obične
datoteke, transakcione baze itd.
Podaci iz DW omogućavaju uočavanje trendova.
Business Intelligence – BI

Velike količine podataka uspešne firme koriste


i za praćenje i upravljanje sopstvenim
poslovanjem.
Sistemi poslovne inteligencije (Business
Intelligence – BI) su alati za obradu velike
količine podataka koji omogućavaju izveštaje na
osnovu kojih menadžment donosi odluke.
BI sistemi obrađuju velike količine podataka i
daju izveštaje na osnovu kojih je moguće pratiti
trendove, pronalaziti zakonitosti između nekih
pojava, pa čak i vršiti predikciju budućih
događaja.

You might also like