You are on page 1of 117

1.

PREDAVANJE
Uvod u baze podataka

Dr
Dr.. Sc. Anita Gudelj
anita@pfst.hr

UVOD

Informacija, podatak

Primjer: Globalna ocjena studentska ankete za PFST je 4.62

Odnos organizacijskog i informacijskog


sustava
Temelj organizacijskog sustava su: resursi, ljudi i
komunikacija
Tei se da ljudi uz pomo odabranih resursa izvre
komunikaciju to je mogue bolje.
Primjer:
o Sveuilite
o Fakultet
o Pomorska luka

Informacijski sustav
Baza podataka ima izravan utjecaj na svaki pojedini
element informacijskog sustava

Povezanost svih elemenata informacijskog


sustava i poloaj baze podataka

Uvod
Koje su podruja primjene baze podataka?
Kako biste vi napravili sustav za bazu podataka?
o Sustav mora
uvati negdje podatke
Odgovarati na upite o podacima
Mijenjati podatke

Uvod
to imamo danas?
o kartografija, meteorologija, foto interpretacija
pomou baza podataka
voenje rauna u banci, popis zaposlenika u firmi
tekstualne baze podataka, rjenici
ekspertni sustavi i baze podataka, kemija,
medicina
inenjerske baze podataka, konstruiranje,
CAD/CAM, tekstilno dizajniranje i sl
sl..

Obrada podataka -meteorologija


Podatci o upanijama
Podatci o postajama
Podaci o padalinama,
vjetru
Temperature
Upozorenja

Mjerni element

Tip

mjerenja

(pozicija Broj osjetnika

osjetnika)
Brzina i smjer vjetra

2 m; 5 m; 10 m

67

Temperatura zraka

2 m; 5 m; 10 m; 0,5 m; 0,05 m

49

Relativnost i vlanost zraka

2 m; 0,05 m

46

Tlak zraka

1 m; na postaji

36

Koliina oborine

1 m; 1,5 m; 2 m

32

Temperatura tla

0,05 m; 0,10 m; 0,20 m

Temperatura vode mora

0,6 -0,8 m

Globalno zraenje

2 -10 m

Difuzno zraenje

2 10 m

UV-B zraenje

2 10 m

Prizemni ozon

2 m - usis

Fizika i logika organizacija podataka

Povijesni razvoj - Datoteni sustavi


engl. filesystem
Podaci su spremljeni u datotekama (files)

Datoteka je
o organizirani skup istovrsnih podataka koji se
obrauje kao cjelina
o skup meusobno povezanih zapisa u vanjskoj
memoriji raunala,
o posebno obraen i za raunalnu obradu pogodan skup
podataka

Povijesni razvoj - Datoteni sustavi


Tko stvara datoteku ?
o Aplikacija: namjenski program napisan u nekom od

programskih jezika (C, C++, ...)


Svaka datoteka ima svoj format
o Datoteka je uglavnom (fiziki i logiki) vezana za
aplikaciju

Povijesni razvoj - Datoteni sustavi


DUPLICIRANJE PODATAKA
RADNI
NALOG

PRATEI
DOKUMENT

OBRA.
LIST

OTPREMNICA

aplikacije
LANSIRANJE
PROIZVODNJE

DATOTEKA
PROIZVODI

DATOTEKA
RADNA
MJESTA

DATOTEKA
TEH.
POSTUPAK

OBARUN
PLAE

DATOTEKA
RADNA
LISTA

DATOTEKA
ZAPOSLENI
KA

PRODAJA

DATOTEKA
KUPCI

DATOTEKA
FINALNI
PROIZVOD

Kad ne bi bilo baza podataka


Redundancije podataka - podaci se nepotrebno dre
na vie mjesta (datoteka), te kada ih je potrebno
izmijeniti onda se to mora initi na vie mjesta
Razmjena podataka je oteana - razlog nije samo
dislociranost raunala, nego i format zapisa, drugaija
struktura podataka - nema standarda
Nepotrebni razvoj algoritama - za svaku skupinu
podataka razvijaju se posebno programi, i posebno se
razvijaju algoritmi npr. za brzo pretraivanje iako su principi
na kojima svi oni rade isti
Logika i fizika zavisnost podataka i programa
o Programi su esto suvie prilagoeni podatcima koje
sadre, ogranien pristup podatcima, nekompatabilne
datoteke
o Zahtijeva ponovno reprogramiranje svih programa, ako se
struktura podataka promijeni
15
utorak, 2. prosinac 2014

Kad ne bi bilo baza podataka


Problemi:
o ZALIHOST
o Teko je vriti neuobi
neuobiajena pretraivanja
o Integritet podataka
o Sigurnost

Podaci su spremljeni u datoteci kojoj program


direktno pristupa
Nezadovoljavajue pouzdan (otkazi sustava)
o Ne osiguravaju tonost i konzistentnost pri
paralelnom radu
16

utorak, 2. prosinac 2014

Ciljevi razvoja baza podataka


Fizika nezavisnost podataka
o Razdvaja se logika definicija baze od njene
stvarne fizike grae
o Znai, ako se fizika graa promijeni to nee
zahtijevati promjene u postojeim aplikacijama

Pr
Pra
akti
kti
no to zna
znai ako se fizika graa
promijeni (primjerice, podaci se prepiu u druge
datoteke na drugim diskovima), nee trebati
promijeniti aplikacije
17

utorak, 2. prosinac 2014

Ciljevi razvoja baza podataka


Razdvajanje podataka od aplikacija koje ih
koriste - Logika nezavisnost podataka
o Razdvaja se globalna logika definicija cijele

baze podataka od lokalne logike definicije za


jednu aplikaciju
o Znai, ako se globalna logika definicija
promijeni (npr
(npr.., uvede se novi zapis ili veza), to
nee zahtijevati promjene u postojeim
aplikacijama
18

utorak, 2. prosinac 2014

Ciljevi razvoja baza podataka


Lokalna logika definicija omoguava razliitie
poglede na istu bazu podataka
o obino se svodi na izdvajanje samo nekih
elemenata iz globalne definicije, uz neke
jednostavne transformacije tih elemenata
o Ovisno o korisnikim i aplikativnim potrebama

Zatititi podatke od neovlatenog koritenja


ili namjernog unitavanja
Mogunost oporavka nakon kvara
o Mora postojati pouzdana zatita baze u sluaju kvara
hardvera ili greaka u radu sustavskog softvera
19

utorak, 2. prosinac 2014

Fleksibilnost pristupa podacima


o U starijim BP se do podataka dolazilo strogo utvrenim
redosljedom - staze pristupanja podacima bile su
unaprijed definirane

Danas se zahtijeva da korisnik moe slobodno


upravljati podacima.

Istovremeni pristup podacima


o BP mora omoguiti da vei broj korisnika
istovremeno koristi iste podatke
o Pritom ti korisnici ne smiju ometati jedan drugoga,
te svaki od njih treba imati utisak da sam radi s
bazom.

Integritet je stanje baze


podataka u kojem su sve
vrijednosti podataka tone u
smislu da preslikavaju stanje
realnog svijeta i da potuju
pravila uzajamne konzistentnosti
(trajnost, stabilnost)
Uinkovit rad
o Operacije se moraju obavljati
brzo, posebno za velike BP

nastavak

Ovi zahtjevi se rjeavaju uvoenjem baza


podataka u inf. sustav, odnosno pomou
programske podrke koju nazivamo SUSTAV
ZA UPRAVLJANJE BAZOM PODATAKA

22

utorak, 2. prosinac 2014

SUBP
RADNI
NALOG

PRATEI
DOKUMENT

LANSIRANJE
PROIZVODNJE

OBRA.
LIST

OBARUN
PLAE

OTPREMNI
CA

PRODAJA

SUSTAV ZA UPRAVLJANJE BAZOM


PODATAKA

BAZA PODATAKA
-PROIZVODI
-RADNA MJESTA
-TEH. POSTUPAK
-RADNA LISTA
- ZAPOSLENICI
-KUPCI
-FINALNI PROIZVOD

nastavak
Sustav za upravljanje bazom podataka obino se
zasnivaju na nekom modelu podataka
Model podataka je skup pravila koja odreuju
kako moe izgledati logika struktura baze
Model ini osnovu za koncipiranje, projektiranje i
implementiranje konkretne BP ili openito
informacijskog sustava

12/2/2014

24

Model podataka
Sadri slijedee 3 komponente:
o Skup objekata koji su osnovni elementi baze
podataka
o Skup operacija koje moemo izvoditi nad objektima
o Skup pravila integriteta

STRUKTURA ZA
PREDSTAVLJANJE
PODATAKA

12/2/2014

OGRANIENJA
(uvjeti integriteta)

OPERATORI
NAD
STRUKTUROM

25

Osnovni pojmovi
Baza podataka BP je kolekcija podataka, ogranienja i
operacija, koja reprezentira neki pogled realnog svijeta.

26

utorak, 2. prosinac 2014

nastavak

Naravno, ti podatci moraju


zadovoljavati zadana ogranienja
definirana u bazi podataka i
omoguiti pojedine operacije s
tim podatcima.
27

utorak, 2. prosinac 2014

DBMS - Database Management System


SUBP je programski sustav koji osigurava osnovne
funkcije odabranog modela podataka u postupku
kreiranja, odravanja i koritenja baze podataka
Korisniki programi ne pristupaju podacima
direktno ve preko SUBPSUBP-a
o Su
Suelje izmeu korisnika i zapisa BP na disku
Korisnik ili korisniki program postavlja zahtjev za
obavljanjem neke operacije s podacima, a SUBP ga
analizira, provjerava, optimizira, transformira u niz
operacija koje je potrebno obaviti na fizikoj razini,
obavlja operacije i vraa rezultat
utorak, 2. prosinac 2014

Osnovne funkcije SUBP


SUBP-a:
1. Definicija podataka
2.

- -DDL
SUBP mora biti u stanju definicije podataka
-- DMLizreene u nekom
jeziku pretvoriti u oblik interne pohrane-- podataka.
QL
- Sigurnost
Manipulacija podacima
-- integritet
SUBP mora imati mogunost obrade podataka
prema
-- konzistentonost
zahtjevima korisnika. Ti zahtjevi mogu biti
dodavanje novih
--optimalnost

podataka, brisanje ili promjena vrijednosti postojeih itd.

3. Integritet i zatita podataka


mora uvati suvislost podataka i njihovo ponaanje prema
tono definiranim pravilima.
SUBP
4.

Oporavak u sluaju pogreke


U sluaju pogrenog manipuliranja podacima, sustav mora imati
mogunost uspostave konzistentnosti podataka.

5. Efikasnost
Sve nabrojane funkcije SUBP mora osigurati uz to bolje performanse.
utorak, 2. prosinac 2014

Aplikacija 1

Aplikacija 2

SUBP

Baze podataka

Aplikacija n

- -DDL
-- DML
-- QL
- Sigurnost
-- integritet
-- konzistentonost
--optimalnost

ZNAAJKE SUBP
SUBP--a:
o Pohranjivanje podataka uz minimalnu
minimalnu redundanciju
o Pouzdanost podataka i pri moguim hardverskim i
softverskim otkazima
o Pouzdana paralelna uporaba zajednikih podataka od strane
vie ovlatenih korisnika
o Logik
Logika
a i fizika
fizika neovisnost programa od podataka
Visoki nivo suelja prema podacima neovisan o strukturi
podataka u raunalu
o Jednostavna komunikacija s BP pomou posebnih jezika
bliskih korisniku (upitni jezici)
utorak, 2. prosinac 2014

Komponente SUBP-a
Komunikacija korisnika (aplikacija) s DBMS odvija
se pomou posebnih jezika, koji se dijele na tri
kategorije
Jezik za opis podataka
(Data Description Language - DDL)

Jezik za manipuliranje podacima


(Data Manipulation Language - DML)

Jezik za postavljanje upita


(Query Language QL)
U relacijskim bazama se danas koristi integrirani jezik za
relacijske baze: SQL
31

utorak, 2. prosinac 2014

Jezik za opis podataka - DDL


Data definition language (DDL): definira logiku
shemu baze
Slui projektantu BP ili
administratoru radi zapisivanja sheme
Tim se jezikom definiraju podatci i veze
meu njima
Naredbe DDL podsjeaju na naredbe za
definiranje sloenih tipova podataka u
jezicima kao to su C=C++

Jezik za manipuliranje podacima DML


Data manipulation language (DML)
Slui za uspostavljanje veza izmeu
aplikacijskih programa i baze podataka
Pristupa i manipulira podatcima
Naredbe DML omoguuju:
upis novog zapisa
promjenu sadraja zapisa
brisanje zapisa (retka)
itanje

33

utorak, 2. prosinac 2014

Jezik za postavljanje upita - QL


Query Language (QL): Upitni jezici - neproceduralni jezici

Slui korisniku za direktno pretraivanje baze


podataka
o Sadre konstrukcije preko kojih se samo definiraju
uvjeti koje treba zadovoljiti eljeni rezultat, a ne i
procedura pomou koje se dobija taj rezultat

Ovo svojstvo se zove neproceduralnost

Vrste baza podataka

SAETAK:

Zato SUBP, a ne datoteka?


Jednostavnost pristupa podatcima

Zato SUBP, a ne datoteka?


Upravljanje zalihostima i integritetom podataka
o SUBP omoguava bolju kontrolu zalihosti

Zato SUBP, a ne datoteka?


Omoguena transakcijska obrada

SUBP omoguuje predstavljanje razliitih odnosa


meu podatcima
Istovremeni pristup vie korisnika istoj BP
Autoriziran pristup

Faze razvoja BP

40

utorak, 2. prosinac 2014

Modeli podataka
2. Predavanje
Dr
Dr.. Sc. Anita Gudelj
anita@pfst.hr

Baza podataka kao model stvarnog


sustava
Model ini osnovu za analizu, projektiranje i
implementiranje baze podataka.
podataka.
Podaci u BP trebaju reprezentirati odreeni model
korisnike okoline (stvarni sustav).
Ne modelira se kompletan stvarni sustav koji ini
korisniku okolinu.
Iz modela stvarnog sustava je potrebno modelirati
samo podatkovnu komponentu.
Model podataka je skup pravila koja odreuju kako
moe izgledati logika struktura baze
baze..
Model podataka treba prevesti u shemu baze podatka.
Baza podataka e sadravati shemu i instance
(primjerke) podataka koji e predstavljati dinamiki
podatkovni model stvarnog sustava.
12/2/2014

42

Model podataka
Sadri slijedee 3 komponente:
komponente:
Struktura je skup koncepata u kojima su
predstavljeni podatci relevantni za korisnike BP.
Opisani su objekti iz promatrane domene realnog
svijeta, svojstva objekata i njihove meusobne veze.
Skup operacija koje se mogu izvoditi nad objektima
strukture, preko kojih je mogue prikazati i
mijenjati vrijednosti podataka u modelu
Skup pravila integriteta (ogranienja) podataka koja
definiraju semantike zabrane na vrijednosti
podataka, koja vrijede u realnom sustavu, a ne mogu
se predstaviti samom strukturom
Moraju biti op
openita u smislu da su primjenjiva na
bilo koju bazu podataka koja koristi taj model
43

12/2/2014

MODEL PODATAKA

STRUKTURA ZA
PREDSTAVLJANJE
PODATAKA

OGRANIENJA
(uvjeti integriteta)

OPERATORI
NAD
STRUKTUROM

Pokazalo se da je razdvajanje navedenih


dijelova
strukturne
komponente
modela
podataka osnova za ostvarivanje potpune
neovisnosti programa i podataka, pa je definiran
i standard o tome (ANSI/SPARC
ANSI/SPARC standard ).
12/2/2014

44

ANSI/SPARC standard (1975.)


o To je apstraktni opis baze podataka, njezinih
komponenti i njihovih meudjelovanja
Obuhvaa tri razine definiranja baze
podataka:
Vanjska (razina pogleda)
Konceptualna (logika)
Unutarnja ili fizika
Rije je o tri razine apstrakcije i povezuju u
cjelinu tri razliita modela BP
45

utorak, 2. prosinac 2014

Vanjska razina najvia razina ANSI/SPARC


arhitekture koja logiku predodbu o podatcima iz baze
prilagoava potrebama korisnika
ine je aplikacijski programi koji koriste BP i omoguavaju

razliite pogled
pogledee na istu bazu podataka
o

Aplikacijski programi se slue samo dijelom podataka


koje postoje u BP;
BP; skrivaju od korisnika detalje o
tipovima podataka, a mogu se sakriti i neke
informacije radi sigurnosti

o Taj dio koji oni vide ili se slue, zove se pogled (view)
view)

(podmodeli vanjske razine)

Konceptualna (logika
(logika)) razina Definira se logika

struktura itave BP (podaci


(podaci,, veze meu podacima, te
pravila kojima se uva integritet baze podataka)
To je globalni pogled na BP (preslikani model
organizacije,, sustava
organizacije
sustava))
To je ono to vidi administrator ili projektant baze
podataka
Ova razina ne zavisi ni o hardveru ni o aplikacijama
o Reprezentacija koja se nalazi na konceptualnoj razini
ANSI hijerarhije zove se model podataka.

Unutarnja razina najblia fizikoj


reprezentaciji BP

Model ove razine je FIZIKI MODEL


Fiziki model podataka predstavlja se fizikim
strukturama podataka (datotekama sa
sekvencijalnim, indeksnim ili direktnim
pristupom)) i procedurama za fiziku realizaciju
pristupom
operacija koje korisnik zadaje na viem nivou.
To je fiziki prikaz i raspored podataka na vanjskoj
memoriji (najee diskovima)
To je aspekt kojeg vide samo programeri (oni koji su
razvili SUBP))

Arhitektura SUBP

Vanjska razina

MODEL
PODATAKA
FIZIKI
MODEL

49

Konceptualna razina
Unutarnja razina

utorak, 2. prosinac 2014

ANSI/SPARC standard.
SUBP mora osigurati formiranje i odravanje
sve tri razine baze podataka, kao i njihovo
meusobno preslikavanje
Koristei sva tri modela SUBP osigurava visok
stupanj neovisnosti aplikacija i podataka u
samoj BP
o Programi i korisnici ne pristupaju izravno fizikoj
bazi,
ve
dobivaju
ili
pohranjuju
podatke
posredstvom SUBP-a.
o Komunikacija programa odnosno korisnika s SUBP-om
obavlja se na vanjskoj razini.

Nezavisnost programa i strukture baze


podataka

Fizika neovisnost podataka


o promjena unutarnjeg (fizikog ) modela ne zahtjeva mijenjanje

aplikacijskih programa i modela podataka

Logika neovisnost podataka


o promjena logikog modela (model podataka) ne zahtijeva

mijenjanje aplikacijskih programa

2. Predavanje

Modeliranje podataka

2. Predavanje

Modeli podataka

Podatci su logiki organizirani po nekom modelu


Model podataka se nalazi u 2. razini ANSI
arhitekture SUBP
Model ini osnovu za osmiljavanje, definiranje i
implementiranje BP
Model podataka se koristi za:
Razvijanje SUBP
Razvijanje programskih jezika za rad s
podatcima u BP
Istraivanje svojstava podataka, odnosno
svojstava BP
53

utorak, 2. prosinac 2014

2. Predavanje

Modeliranje podataka

Obavlja se u svim fazama razvoja sustava


od analize zahtjeva do izgradnje baze podataka

Postupak modeliranja dijeli se na:


konceptualno modeliranje
rezultat su najee ER dijagrami (EntityRelationship diagram)
logiko modeliranje
rezultat (u relacijskoj bazi): relacije, n-torke...
fiziko modeliranje
rezultat: fiziki slogovi, adresiranje
54

utorak, 2. prosinac 2014

Izvor: Pavlic M.: Oblikovanje baze podataka, Odjel za informatiku


Sveuilita u Rijeci, 2013.
55

utorak, 2. prosinac 2014

2. Predavanje

Vrste modela podataka


Model ER (entitet-veza)
Relacijski model
gotovo jedini s upotrebnom vrijednosti

Objektni model
Mreni model
Hijerarhijski model
Semantiki model
Za modeliranje ovih modela koriste se
razliite metode i tehnike.
Fiziki model nebitan za korisnika baze
podataka.

2. Predavanje

Relacijski model podataka


Elementi skupa objekata u relacijskom modelu
podataka su relacije

57

utorak, 2. prosinac 2014

2. Predavanje

Mreni model podataka

Baza je predoena usmjerenim grafom.


vorovi su tipovi zapisa, a lukovi definiraju
veze medu tipovima zapisa.
58

utorak, 2. prosinac 2014

Hijerarhijski model podataka

2. Predavanje

Hijerarhijski model prikazuje dekomponiranje podataka


po granama. Razine dekompozicije prikazane su na lijevoj
strani slike (djed, otac, sin, unuk). Postupak
dekomponiranja naziva se specijalizacija.
Ako se model promatra obrnutim redoslijedom tada je s
udaljene grane mogue doi do korijena. Takav postupak
naziva se generalizacija.
59
utorak, 2. prosinac 2014

2. Predavanje

Hijerarhijski model

Struktura baze:
Slogovi sastavljeni od polja
Skup slogova = stablo
Baza podataka = ureeni skup stabala
Stablo ini jedan korijenski (engl. root) slog i nula

ili vie podstabala


Odnos izmeu slogova = roditelj / dijete
Ne postoje klasina pravila integriteta, samo 2 bitna
ogranienja::
ogranienja
Niti jedan slog ne moe postojati kao dijete slog
ako za njega ne postoji roditelj slog
U sluaju brisanja roditelj sloga, sustav automatski brie
svu djecu slogove

2. Predavanje

Apstrakcija podataka

Osnovni problem u modeliranju je sloenost sustava,


odnosno veliki broj objekata, atributa (svojstava)
objekata i veza izmeu objekata, koje postoje u
jednom realnom sustavu.
Opi metodoloki pristup svladavanju ove sloenosti u
opisu sustava je apstrakcija.
Apstrakcija je kontrolirano i postepeno ukljuivanje
detalja u opis sustava, "sakrivanje" detalja u opisivanju
sustava, odnosno prikazivanje opih, a zanemarivanje
detaljnih znaajki nekog sustava.
Inverzan postupak od apstrakcije je detaljiziranje
detaljiziranje..

2. Predavanje

Izvor: Pavlic M.: Oblikovanje baze podataka, Odjel za informatiku


Sveuilita u Rijeci, 2013.

Konceptualno modeliranje
3. Predavanje
Dr
Dr.. Sc. Anita Gudelj
anita@pfst.hr

3. Predavanje

SADRAJ
1. Entiteti, atributi, veze
2. Funkcionalnost veze, obaveznost lanstva,
kardinalnost
3. Oblikovanje konceptualne scheme (na primjeru)
4. Sloenijei konstrukti (pod(pod-tipovi i nadtipovi entiteta,
ternarne veze).

64

2.12.2014

3. Predavanje

Oekivani ishod uenja


Razumijeti konceptualno (semantiko) oblikovanje baze
podataka primjenom ER modeliranja
Primijeniti ER model na konkretan problem iz podruja
pomorstva

Page 65

2.12.2014

3. Predavanje

Razvojni ciklus baze podataka


1. utvrivanje i analiza zahtjeva
2. oblikovanje (modeliranje, projektiranje)
3. implementacija
4. testiranje
5. odravanje

3. Predavanje

Konceptualni i logiki modeli


(ponavljanje)
Model ER (entitet(entitet-veza)
Relacijski model
gotovo jedini s upotrebnom vrijednosti

Objektni model
Mreni model
Hijerarhijski model
Semantiki model
Za modeliranje ovih modela koriste se razliite metode i tehnike.
Fiziki model nebitan za korisnika baze podataka.

3. Predavanje

Metode modeliranja baze podataka


Osnovna metoda modeliranja je APSTRAKCIJA
Uporaba postupaka apstrakcije mentalni proces,
teoretskog uopavanja to podrazumijeva uoavanje
bitnog, a hotimino isputanje sporednog, specifinog,
sluajnog ili nebitnog

Apstrakcijsko modeliranje
Cilj je izgraditi manje preciznu konceptualnu shemu
(ER-sheme) koje su apstrakcija realnog svijeta
Metode su: klasifikacija,
klasifikacija, generalizacija, agregacija,
specijalizacija i kompozicija
Page 68

2.12.2014

3. Predavanje

Postupci apstrakcije - Klasifikacija


Klasificiranje, opis i grupiranje objekata realnog svijeta u klase,
Klasificiranje,
razrede, prema zajednikim obiljejima
Klasa-- skup objekata na vioj razini apstrakcije
Klasa
Svi objekti u klasi imaju ista obiljeja (atribute),
(atribute), ali atributi ne
moraju imati iste vrijednosti)
Veza izmeu objekata i pojave (vrijednosti) ima oblik je lan od
(engl. instance of)

Klase
lanovi (Instance)
Page 69

2.12.2014

3. Predavanje

Postupci apstrakcije - Generalizacija


Nastaje apstrahiranjem (izostavljanjem) detalja.
Metoda gdje se objekti sa zajednikim atributima, vezama , operacijama
grupiraju u jedan objekt koji se naziva Nadtip (Superklase
(Superklase - klase

vie razine)
Opisuje se vezom jest
jest (eng. is a)
Podklase podtipovi (klase nie razine)
Objekti (entiteti) bez podklasa nazivaju se jedinke (podaci, instance
entiteta), a skup instanci nazivamo ekstenzijom entiteta
Prijevozno
sredstvo

VLAK

Page 70

AUTOBUS

BROD

Generalizacija

AVION

2.12.2014

3. Predavanje

Postupci apstrakcije - Specijalizacij


Specijalizacija
a
Nastaje klasifikacijom

Objekte vie razine apstrakcije dijeli (razvrstava)


u vie objekata nie razine apstrakcije
Svaki objekt polaznog skupa klasa u odnosu na novu
klasu predstavlja njenu specijalizaciju

Page 71

2.12.2014

3. Predavanje

Page 72

2.12.2014

3. Predavanje

Postupci apstrakcije - Agregacija


Formiranje novog entiteta (pojma,
pojma,objekta) vieg
stupnja, na temelju odnosa postojeih entiteta i veza
Formira (slae) iz sastavnih dijelova (konstituenata)
svojstava
Vie razine objekta nastaju djelovanjem: agregacije
(prikupljanje jedinki i njihovih svojstava) i generalizacije
(apstrahiranjem zajednikih svojstava prikupljenih jedinki)

Page 73

2.12.2014

3. Predavanje

Agregacija
#Pred

Smjer

Page 74

#Nast

Potvrda

2.12.2014

3. Predavanje

KONCEPTUALNO
(LOGIKO)
MODELIRANJE

3. Predavanje

Razine modeliranja
S obzirom na novo apstrakcije:
Konceptualni
Entitet (objekt), veza (odnos)
entiteta, obiljeje (atribut,
svojstvo), vrijednost obiljeja

Logiki (implementacijski
nivo apstrakcije)

Logiki model

Slog (red, nn-torka), polje


(stupac), veze meu slogovima

Fiziki
adresiranje, grupiranje slogova
Page 76

2.12.2014

3. Predavanje

Cilj konceptualnog modeliranja


Cilj je stvoriti konceptualnu shem
shemuu BP koja se sastoji od elemenata
koji se zovu entiteti,
entiteti, atributi,
atributi, odnosno veze
Konceptualna shema daje zoran i jezgrovit prikaz baze koji je
osloboden tehnicih
ih detalja
Neovisno o SUBP i hardveru
Vano svojstvo konceptualne sheme je da je ona razumljiva ljudima
svih struka
Konceptualna shema zapravo opisuje stvarni svijet o kojem elimo
biljeiti podatke, a tek onda na posredan nain
nain i samu bazu.
Podrava korisnikovu percepciju podataka

3. Predavanje

MODEL ENTITETI - VEZE


ER/ERA modeliranje
Model entiteti veze (entity
(entity--relationship model, ER) je
najpopularniji i u praksi najvie koriten konceptualni model
podatka.

Bolje: model entiteti veze atributi (ERA model)


Svojstva ER modela:
Grafiki jezik (dijagrami ER) za predstavljanje podataka
Postupci izgradnje modela su slabo ili nikako propisani
Strogo definirana pravila crtanja dijagrama
Page 78

2.12.2014

3. Predavanje

Osnove ER modela
Grafiki prikaz strukture i odnosa meu podatcima je
nuan za uinkovitu primjenu u modeliranju podataka

Rasprostranjeni Chenov model (Chenovi dijagrami)


i Martinov model
Osnovni koncepti ER modela
Entitet
Atribut (obiljeje)
Relacija (veza)
Ogranienja

Page 79

2.12.2014

3. Predavanje

Definicija entiteta
Entitet je stvar, objekt, od znaaja, realan ili imaginaran
Sve ono to se moe jednoznano imenovati i koje elimo modelirati
Za koji je potrebno poznavati i uvati odreene informacije
bie - student, ptice, . . .
objekt - kua, auto, avion, brod. . .
dogaaj - nogometna utakmica, praznik, . . .

Primjeri
entiteta
Page 80

2.12.2014

3. Predavanje

Definicija entiteta
Po notaciji ER dijagrama entitet je predstavljen s
pravokutnikom u koji se upisuje naziv tipa entiteta
Za ime (naziv) etiteta se koristi imenica u jednini
Ne prikazuju se pojedine pojavne vrijednost (podaci) nego
tipovi entiteta

Page 81

2.12.2014

3. Predavanje

Tip entiteta
Postupkom klasifikacije moe se ustanoviti skup srodnih entiteta
to se moe predstaviti TIPOM ENTITETA (npr. OSOBA)
Tip entiteta je skup entiteta s istim svojstvima.
Ime entiteta, zajedno s pripadnim svojstvima odre
odreuje tip
entiteta
Za svaki entitet postoji mnogo pojedinanih primjeraka (pojedine
osobe,, pojedine pojave)
osobe
pojave) ije podatke elimo spremiti u BP
Npr.. za entitet STUDENT:
Npr
pojedini primjerci su: Petar Petrovi,
Petrovi, Matko Markovi.
Markovi. itd
itd..

Page 82

2.12.2014

3. Predavanje

Tip entiteta

Izvor: Pavlic M.: Oblikovanje baze podataka, Odjel za informatiku Sveuilita u


Rijeci, 2013.
Page 83

2.12.2014

3. Predavanje

Atributi
Svi podaci vezani za pojedini entitet sadrani su u atributima
Atribut je znaajka entiteta
Svaki atribut moe imati bilo koju vrijednost iz svoje domene
Student
Ime, Prezime, Godina, Broj Indeksa, . . .
Kua
Adresa, Korisna povrina, Ime vlasnika, Godina izgradnje, . . .

Atribut moe:
biti jednostavan ili sloen
sadravati jednu ili vie vrijednosti
Atributi entiteta prikazujuju
Atributi
prikazujuju se na ER modelu samo ako pridonose
informativnosti modela
Page 84

2.12.2014

3. Predavanje

Uloga atributa

Page 85

2.12.2014

3. Predavanje

Crtanje atributa
Notacija atributa
Pojavljuju se unutar elipsa i vezani su za svoj entitet
Naziv atributa se pie s poetnim velikim
slovom,, a ostala mala (npr. Ime, Matini broj)
slovom

Poveanjem broja atributa, dijagram postaje nepregledan


Atributi se tada ne prikazuju grafiki

U notaciji zvanoj vranino stopalo,


atributi se popisuju unutar entiteta
Page 86

2.12.2014

3. Predavanje

Atributi
Mogu biti:
identifikacijski (entitet
(entitet jednoznano i nedvosmisleno identificira ne
smije se mjenjati)
Primjeri atributa; OIB, ifra
opisni (kvalitativna
(kvalitativna i kvantitativna svojstva entiteta mijenja se
sukladno promjenama)
Primjeri atributa: ime, prezime, dob i spol.

Page 87

2.12.2014

3. Predavanje

Atributi
Vrijednosti atributa
Izvode se iz domene (skupa svih) vrijednosti
npr. domena za atribut Dob glasaa je 1818-50
Domenom se utvruju ogranienja vrijednosti atributa
(ogranienja atributa .Vs. Ogranienja entiteta)
Isti tip entiteta moe imati razliiti skup atributa,
atributa, ovisno o
gleditu
npr. STUDENT evidencija na faksu .vs. na poliklinici

Page 88

2.12.2014

3. Predavanje

Klju
Atribut, ili skup atributa, ija vrijednost jednoznano
odreuje primjerak entiteta je kandidat za klju
Npr. za entitet AUTO kandidat za klju je atribut
registracijski broj
Dva razliita lana ili primjerka entiteta ne mogu imati isti klju
Klju je jedinstven za svakog l
Klju
lana
ana (primjerka) entiteta

Izmeu vie kanditata za klju moemo se opredijeliti, te jednog


proglasiti primarnim kljuem
Npr. za entitet STUDENT primarni bi klju mogao biti broj indeksa
Page 89

2.12.2014

3. Predavanje

Kljuevi ER modela
Alternativni klju predstavlja atribut ili grupu atributa
koji jednoznano odreuju primjerke entiteta, ali postoje
objekti za koje taj atribut nije definiran
Strani (Preneseni) klju (Foreign Key) je atribut koji
povezuje objekt 'dijete' s objektom 'roditelj'

90

3. Predavanje

Grafiki prikaz entiteta i atributa

3. Predavanje

Veze
Entiteti se mogu povezivati jedan s drugim u veze
Veza je agregacija/povezivanje dvaju ili vie entiteta u novi
entitet vezu koji moe imati i svoje atribute
Veze ssw
w na ER dijagramu predstavlj
predstavljaju
aju linijama meu entitetima
Imenovanje veze:
Imenom se opisuje uloga entiteta u vezi
Glagol ili imenica najee glagolska

Page 92

2.12.2014

3. Predavanje

Veze
Postoji vie notacija

Page 93

2.12.2014

3. Predavanje

Veze
itanje veze

3. Predavanje

Ogranienja - Red veze


Broj entiteta koji sudjeluje u vezi naziva se red veze
Njima definirana gornja i donja granica sudjelovanja entiteta u
vezi
Unarna veza
Isti entitet vie puta egzistira
u razliitim ulogama

Binarnaa veza
Binarn
Dva su entiteta povezana

Ternarn
Ternarnaa veza
Tri entiteta povezana
Page 95

2.12.2014

3. Predavanje

Ternarna se veza uvodi onda kada je nije mogue rastaviti na


dvije binarne veze
Primjer: Prate se podaci o KOMPANIJAma, PROIZVOD-ima koje proizvode, te
ZEMLJA-ma gdje ih se izvozi.

Ako vrijedi pravilo da kompanija


svaki proizvod koji ima, izvozi u
sve zemlje, tada se ternarna veza
moe prikazati kao dvije binarne.

3. Predavanje

Kardinalnost veze
Odnos omjera meu povezanim entitetima naziva se
KARDINALNOST veze
Jedan na jedan (1:1)
Jedan na vie (1:m)
Vie na jedan (m:1)
Vie na vie (m:n)
Page 97

2.12.2014

3. Predavanje

Kardinalnost veze

Page 98

2.12.2014

3. Predavanje

Kardinalnost veze

Page 99

2.12.2014

3. Predavanje

Kardinalnost je obino nemogue sasvim tono izraziti, pa se


umjesto tonog broja moe navesti interval u obliku donje i
gornje granice
Dvije granice oznaavaju se oznakama 0, 1 ili M, te se odvajaju
zarezom

3. Predavanje

Povezivanje entiteta

Obavezno lanstvo
Page 101

2.12.2014

3. Predavanje

Povezivanje entiteta

Neobavezno lanstvo

Page
102

2.12.2014

3. Predavanje

Crtanje kardinalnosti u ER
dijagramu zvan vranino stopalo,
Tono jedan

3. Predavanje

Primjer

Vidljivo je kako osoba moe imati nula ili vie vozila,


a vozilo moe pripadati tono osobi.

3. Predavanje

Pogreka: primjerak umjesto entiteta


Sveuilite
u Splitu

Sveuilite u Splitu je entitet sa samo jednim primjerkom tj.


pojavnim oblikom
Ili ga potpuno izostaviti ili ga zamijeniti sa openitijim entitetom
Page
105

2.12.2014

3. Predavanje

Pogreka: entitet vs. Atribut

Page
106

2.12.2014

3. Predavanje

Primjer 1:
Konceptualni dijagram (ER) za entitet Zapovjednik
Zapovjednik i entitet
Brod uzevi u obzir da jedan zapovjednik tijekom svog radnog
vijeka u pomorskoj kompaniji moe upravljati s vie brodova, te
da jedan brod u svom ivotnom vijeku ima vie zapovjednika.
Zapovjednici
Zapovjednici

Zapovjednici

vozi

1,M

>|

vozi
vozi

Brod
1,M

|<

Brod

Brod

3. Predavanje

Razbijanje M:N veza


Veza M:N u ER modelu se moe razbiti uvoenjem novog
posrednikog entiteta

Primjer:

Vezu vie na vie moemo razbiti uvoenjem entiteta najam, koji


sadri atribut datum_najma

Page
108

2.12.2014

3. Predavanje

Primjer 2
Oblikujte konceptualnu shemu za bazu podataka iz
Primjera 1.
Uspostavite prikladnu vezu uzevi u obzir da jedan
zapovjednik tijekom svog radnog vijeka u pomorskoj
kompaniji moe upravljati s vie brodova, te da jedan
brod u svom ivotnom vijeku ima vie zapovjednika.
Zapovjednk

|< ZapBrodom >|

Brod

3. Predavanje

Zadatak 2 (s vjebi)
Programer je odluio napraviti program za evidentiranje svih
programa koje je uradio, korisnika kod kojih ti programi rade, kao
i ostvarene zarade po svakom programu.
Dakle, moraju postojati osnovni podatci o
programu PROGRAM (naziv, vrijeme utroeno za njegovu
izradu),
kupcu KUPAC (naziv, adresa, telefon i sl
sl..),
kupljenim programima ZARADA (vrijeme utroeno kod korisnika
za prilagodbu programa korisnikim zahtjevima, kad je program
puten u rad kod korisnika, kao i koliko je od korisnika naplaeno
za taj program, da li je program u uporabi tj.
tj. aktivan ili ne).
ne).

Page 110

2.12.2014

3. Predavanje

Zadatak 3
Oblikujte konceptualnu shemu za bazu podataka o
knjinici. Predvidite da ta baza mora pohranjivati
podatke o knjigama u knjinici, lanovima knjinice, te
zaposlenicima knjinice. Takoer, moraju se evidentirati
posudbe knjiga lanovima.

3. Predavanje

Prikaz pod-tipova i nad-tipova entitet

3. Predavanje

Svi primjerci nekog entiteta ne moraju sudjelovati u nekoj vrsti veze


Postoje veze koje su obavezne
Tada se kae da neki tip entiteta ima obavezno lanstvo u nekoj vrsti
veze s drugim entitetom
Inae se kae da je lanstvo neobavezno
Npr. entitet ISPIT mora biti lan veze iz s entitetom PREDMET, jer ispit
mora biti iz nekog predmeta
Veze mogu imati atribute, a koje nije mogue pripisati niti jednom od
entiteta
Npr. veza upisao (entiteti STUDENT i PREDMET) moe imati
atribute datum upisa, i/ili datum polaganja.

3. Predavanje

Jaki i slabi tipovi entiteta


JAKI entitet tip entiteta ija egzistencija nije vezana za
postojanje nekog drugog tipa entiteta, postoji samostalno
(npr. Mjesto)
SLABI entitet tip entiteta ija egzistencija ovisi o
postojanju nekog drugog tipa entiteta
Onaj tip entiteta koji ne moe postojati u BP ukoliko neki
drugi tip entiteta takoer ne postoji u bazi
Entitet sa stranim kljuem

ID-ovisan entitet tip entiteta koji se samostalno ne


identificira, nema vlastiti primarni klju
Njegov klju se tvori od kljua jakog entiteta i (opcionalno)
vlastitog atributa (npr. Djelatnik, Suradnik, StavkaRacuna)

3. Predavanje

Page 115

2.12.2014

3. Predavanje

Redundantne veze
Neki ER dijagrami imaju redundantne veze
One koje se mogu izbaciti iz modela bez gubitka informativnosti modela

Potrebno je provjeriti je li mogue razbiti petlju bez gubitka


informacije
Za tri entiteta povezana na nain A-B, B-C i A-C, potrebno je
provjeriti je li mogue putovati od A do C preko B
Ako je mogue, onda je A-C redundantna veza
Primjer: kupac (podaci o kupcu), adresa (adresa kupca) i udaljenost
(udaljenost od poduze
poduzea do adrese kupca)

3. Predavanje

Redundantne veze
Neki ER dijagrami imaju redundantne veze
One koje se mogu izbaciti iz modela bez gubitka informativnosti modela

Potrebno je provjeriti je li mogue razbiti petlju bez gubitka


informacije
Za tri entiteta povezana na nain A-B, B-C i A-C, potrebno je
provjeriti je li mogue putovati od A do C preko B
Ako je mogue, onda je A-C redundantna veza
Primjer: kupac (podaci o kupcu), adresa (adresa kupca) i udaljenost
(udaljenost od poduze
poduzea do adrese kupca)

You might also like