Download as pdf or txt
Download as pdf or txt
You are on page 1of 42

SVEUILITE U ZAGREBU

FAKULTET ORGANIZACIJE I INFORMATIKE

VARADIN

Tina Mehanovi

ALATI ZA ERA MODELIRANJE


ZAVRNI RAD

Varadin, 2014.
SVEUILITE U ZAGREBU

FAKULTET ORGANIZACIJE I INFORMATIKE

VARADIN

Tina Mehanovi
Redoviti student
Broj indeksa: 39072/10-R
Smjer: Informacijski sustavi
Preddiplomski studij

ALATI ZA ERA MODELIRANJE


ZAVRNI RAD

Mentor:
Izv. prof. dr. sc. Kornelije Rabuzin

Varadin, rujan 2014.


Sadraj

1. UVOD ................................................................................................................................................................ 1

2. KONCEPTUALNO MODELIRANJE ........................................................................................................................ 2

2.1 DEFINICIJA I TEMELJNI POJMOVI ................................................................................................................................. 2


2.2 VANOST I ZNAENJE KONCEPTUALNOG MODELA ........................................................................................................... 2

3. ERA MODEL ....................................................................................................................................................... 4

3.1 OSNOVNE KOMPONENTE ........................................................................................................................................... 4


3.1.1 Entiteti ......................................................................................................................................................... 4
3.1.2 Atributi......................................................................................................................................................... 5
3.1.3 Veze ............................................................................................................................................................. 5
3.2 NOTACIJE ............................................................................................................................................................... 7
3.2.1 Chen notacija ............................................................................................................................................... 7
3.2.2 Crow's foot (IE notacija) .............................................................................................................................. 8
3.2.3 Barkerova notacija ...................................................................................................................................... 9
3.2.4 IDEF1X ......................................................................................................................................................... 9
3.2.5 UML notacija ............................................................................................................................................. 11
3.3 PRIMJER BAZE PODATAKA ........................................................................................................................................ 11

4. ALATI ................................................................................................................................................................15

4.1 NAVICAT .............................................................................................................................................................. 15


4.1.1 Openito o alatu ........................................................................................................................................ 15
4.1.2 Spajanje na MySQL server ......................................................................................................................... 16
4.1.3 Konceptualni model ................................................................................................................................... 17
4.1.3.1 Entiteti i atributi ....................................................................................................................................................18
4.1.3.2 Veze, kardinalnost i notacije .................................................................................................................................20
4.2. DBFORGE STUDIO ................................................................................................................................................. 22
4.2.1 Openito o alatu ........................................................................................................................................ 22
4.2.2 Spajanje na MySQL server ......................................................................................................................... 23
4.2.3 Konceptualni model ................................................................................................................................... 24
4.2.3.1 Entiteti i atributi ....................................................................................................................................................24
4.2.3.2 Veze, kardinalnost i notacije .................................................................................................................................26
4.3 DBSCHEMA .......................................................................................................................................................... 27
4.3.1 Openito o alatu ........................................................................................................................................ 27
4.3.2 Spajanje na MySQL server ......................................................................................................................... 28
4.3.3.Konceptualni model ................................................................................................................................... 29
4.3.3.1 Entiteti i atributi ....................................................................................................................................................30
4.3.3.2 Veze, kardinalnost i notacije .................................................................................................................................31
4.4. TOAD ................................................................................................................................................................. 32
4.4.1 Openito o alatu ........................................................................................................................................ 32
4.4.2 Spajanje na MySQL server ......................................................................................................................... 33
4.4.3.Konceptualni model ................................................................................................................................... 33
4.4.3.1 Entiteti i atributi ....................................................................................................................................................34
4.4.3.2 Veze, kardinalnost i notacije .................................................................................................................................35
4.5 USPOREDBA ALATA................................................................................................................................................. 36

5. ZAKLJUAK .......................................................................................................................................................38

6. LITERATURA .....................................................................................................................................................39

I
1. Uvod

Svjedoci smo vrlo brzog razvoja informacijske tehnologije. Tim razvojem sustavi koji se
izrauju sve su sloeniji a zahtjevi su sve vei. Svaki informacijski sustav koji se implementira
iza sebe ima bazu podataka koja mu prua potrebne podatke za rad. Izrada baze podataka
zapoinje analizom i prikupljanjem potrebnih podataka. Sljedei korak je izrada konceptualnog
modela. Nakon toga se konceptualni model pretvara u relacijski, to je faza logikog
modeliranja. Nakon izrade modela dolazi do fizike implementacije baze podataka. Tema ovog
zavrnog rada odnosi se na drugi korak dizajniranja baze podataka a to je konceptualno
modeliranje.

Od 1960-ih, kada je datoteni sustav zamjenjem bazama podataka poinje razvoj konceptualnog
modeliranja. Kako je znaaj i potreba za dobrim konceptualnim modelima u stalnom porastu,
poeli su se razvijati alati sa grafikim korisnikim sueljem koji uvelike olakavaju i ubrzavaju
proces izrade modela i baze podataka.

Rad je podijeljen na tri glavne cjeline koje se nadovezuju jedna na drugu. U prvom dijelu rada
opisat u osnovne pojmove te ulogu, znaenje i vanost konceptualnog modeliranja. Navesti u
definiciju koncepta i modela te iz tih definicija definirati konceptualno modeliranje.

U drugom dijelu rada opisat u ERA modeliranje kao najpoznatiju tehniku za izradu
konceptualnih modela. Navesti u komponente od kojih se sastoji svaki ERA model te ih opisati.
Nakon toga opisat u primjer koji u implementirati dalje u radu uz pomo alata za konceptualno
modeliranje baze podataka.

Trei dio rada obuhvatit e 4 alata s grafikim korisnikim sueljem koji olakavaju i ubrzavaju
proces konceptualnog modeliranja. Alati koje u detaljnije opisati su Navicat, dbForge,
DbSchema i Toad. Za svaki alat posebno u prikazati nain rada u njemu te ih na kraju
usporediti.

1
2. Konceptualno modeliranje

2.1 Definicija i temeljni pojmovi

Prije same definicije konceptualnog modeliranja, objasnit u pojmove od kojih je sastavljen


naslov ove teme, a to su koncept i model. Znaenje rijei koncept preuzela sam iz online
rijenika1 gdje je koncept definiran kao ideja o neemu, formirana mentalnim kombiniranjem
svih njegovih karakteristika. To je znaenje u naim mislima koje dajemo objektima iz stvarnog
svijeta. Model je priblini opis nekih pojava ili objekata u stvarnom svijetu uz pomo simbolike
[Ani i Goldstein, 2000, str. 873.]. Rezultat konceptualnog modeliranja je model koji prikazuje
promatrani manji podskup realnog svijeta. Simboli koji se koriste za prikaz konceptualnog
modela su najee kvadrati koji oznaavaju entitete i crte kao simbol veze izmeu entiteta.

Konceptualno ili semantiko modeliranje je modeliranje naina na koji ljudi razumijevaju i


procesiraju realnost. [Malekovi Mirko, prezentacija sa predavanja: Konceptualno oblikovanje
baze podataka, 2013, 2. slajd]. Ova definicija je na jednostavan nain opisala konceptualno
modeliranje. Moe se rei da je to preslikavanje objekata i veza meu objektima na model
koristei dogovorene simbole. U fazi konceptualnog modeliranja bitno je usredotoiti se na to
koji su podaci potrebni za buduu bazu podataka i kako su oni meusobno povezani.
Konceptualni model je prikaz objekata iz stvarnog svijeta na nain na koji ih vidi dizajner tog
modela.

2.2 Vanost i znaenje konceptualnog modela

Konceptualno modeliranje je temelj za izgradnju dobre baze podataka. Kako bi naglasili vanost
konceptualnog modeliranja autori knjige Data Modeling Essentials [2] usporedili su modeliranje
baze podataka sa izradom nacrta za izgradnju kue i naveli nekoliko razloga zbog kojih bi
konceptualnom modeliranju trebalo posvetiti najvie vremena. Isto kao to gradnja kue bez
nacrta i planiranja dovodi do problema, postoji mogunost da se zbog odabira loeg materijala
neto srui i slino, tako i baza podataka bez prijanje izrade modela kad tad doe do situacije da
zbog nepotpunosti podataka ili loe povezanosti istih izradu cjelog sustava vraa na poetak. To

1 Rjenk: http://www.thefreedictionary.com/concept

2 Simsion, G., Witt, G. (2005). Data Modeling Essentials. Dostupno na http://uk-corp.org/Books/Other-


Technical/Data%20Modeling%20Essentials%202005.pdf , str. 8-10

2
nikako nije poeljno te zato mnogi autori naglaavaju vanost konceptualnog modeliranja. Kao
kljuni razlog zbog kojeg je konceptualno modeliranje najvaniji korak u dizajniranju baze
podataka navedena je 'mo' koju ima mala promjena modela na sustav u cjelini. Iako je
dizajniranje baze podaka mali dio ukupnog informacijskog sustava on puno utjee na sloenost
aplikacijskog rjeenja. Dobro osmiljeni konceptualni model pojednostavljuje proces
programiranja to rezultira znaajnom utedom u ukupnim trokovima. Dobra strana
konceptualnog modela je njegova 'saetost', u smislu da je sa jednim grafikim modelom
prikazana slika podataka cjelog budueg ili postojeeg informacijskog sustava. Taj grafiki
prikaz se lake i bre prouava nego kad bi iste te specifikacije bile opisane na nekoliko stranica
teksta.

U knjizi Data Modeling Essentials [3] navodi se 9 osobina dobrog konceptualnog modela. Ja
sam kao najbitnije izdvojila to da model treba biti kompletan, neredundantan, treba dobro
provoditi poslovna pravila i treba biti jasan i razumljiv dizajnerima kao i programerima i
krajnjim korisnicima. Kompletnost modela znai da su u modelu svi podaci koji e biti potrebni
za implementaciju sustava. Model je nerudundantan kada nesprema podatke o istom objektu vie
puta. Za model je bitno da dobro provodi poslovna pravila. Na primjer, u bazi podataka za
prodaju kino ulaznica, poslovno pravilo glasi da jedna ulaznica vrijedi samo za jednu projekciju.
Model dobro provodi to poslovno pravilo tako da se u tablici ulaznice nalazi atribut projekcija.
Time je osigurano da se nepanjom korisnika ili programera ne moe dogoditi da jedna ulaznica
sadrava vie od jedne projekcije.

Prvi korak u dizajniranju svake baze je prikupljanje podataka i odreivanje veza meu podacima
koji su potrebni. Prikupljeni podaci preslikavaju se u konceptualne modele koritenjem tehnika
kao to su ERA ili UML modeliranje. U nastavku rada rei u neto o ERA modeliranju, tehnici
koja se najee koristi za modeliranje baze podataka.

3 Simsion, G., Witt, G. (2005). Data Modeling Essentials. Dostupno na http://uk-corp.org/Books/Other-


Technical/Data%20Modeling%20Essentials%202005.pdf , str. 10-15

3
3. ERA model

3.1 Osnovne komponente

ERA je skraenica od eng. Entity Relationship Attribute, to u prijevodu znai entiteti, veze i
atributi. Upravo to su osnovne komponente koje sainjavaju svaki ERA model. Veze povezuju
entitete, a entiteti su opisani atributima.

3.1.1 Entiteti

Za entitet se moe rei da je skup objekata iz stvarnog svijeta o kojemu se spremaju podaci u
bazu. Entitet sadrava objekte kao to su iva bia (npr. osobe, studenti, ivotinje...), zemljopisna
odredita (npr. gradovi, drave...) ili bilo koje druge objekte s kojima se susreemo i potrebni su
za bazu podataka (npr. vozila, zgrade, knjige...).

Razlikujemo slabe i jake entitete. Za razliku od jakih, slabi entiteti ovise o jakom entitetu kako bi
se mogli identificirati. Slabi entiteti nastaju zbog toga to nije mogue na drugaiji nain
implementirati vezu vie-vie. Primarni klju slabih entiteta sastavljen je od vanjskih kljueva
koji sudjeluju u vezi vie-vie. Primjer slabog entiteta je anr filmova, jednoznano je odreen
dvokomponentnim primarnim kljuem koji se sastoji od anra i filma. anr filmova ovisi o jakim
entitetima anr i film.

Svaka instanca entiteta mora se moi jednoznano identificirati. U ERA modelu, entiteti se
prikazuju simbolom kvadrata kao to se moe vidjeti na slici Slika 3.1.

Slika 3.1 Simbol entiteta u ERA modelu

4
3.1.2 Atributi

Atributi su podaci kojima elimo opisati entitete. Svaki entitet ima pripadajui skup atributa
kojima elimo opisati isti. Razlikujemo identifikacijske i opisne atribute. Identifikacijski atributi
jednoznano odreuju svaku instancu entiteta, to su primarni kljuevi. Opisni atributi slue za
detaljniji opis instance entiteta. Opisni i identifikacijski atributi mogu biti sastavljeni od jednog
ili vie atributa. Na slici Slika 3.2 prikazan je nain na koji se atributi prikazuju na ERA modelu.
Primjer identifikacijskog atributa je id_zaposlenika a svi ostali atributi su opisni.

Slika 3.2 Entitet i atributi

3.1.3 Veze

Veze povezuju entitete i obino su opisane glagolom. Dijele se prema stupnju i kardinalnosti.
Stupanj veze odreuje se brojem entiteta koji sudjeluju u njoj, a kardinalitetom se odreuje broj
instanci jednog entiteta koji moe biti povezan sa jednom instancom drugog entiteta. Prema
stupnju se razlikuju unarne, binarne, ternarne i n-arne veze. Kardinalnost moe biti jedan-jedan,
jedan-vie i vie-vie.

Primjer na slici Slika 3.3 prikazuje unarnu vezu kardinalnosti jedan-jedan. Unarna veza koristi se
kada je entitet povezan sa samim sobom. Na primjeru na slici ispod, osoba je u braku sa osobom,
pa se entitet osoba referencira na samog sebe. Kardinalnost na slici ispod je jedan-jedan to znai
da osoba moe biti u braku sa najvie jednom osobom (ravna crtica na krajevima veze). Krui
na vezi oznaava opcionalnost, to znai da osoba moe, a i ne mora biti u braku sa nekom
osobom.

5
Slika 3.3 Unarna veza, kardinalnost jedan-jedan

Slika 3.4 prikazuje binarnu vezu sa jedan-vie kardinalitetom. To je binarna veza jer u njoj
sudjeluju dva entiteta. Kardinalnost jedan vie se oznaava ravnom crticom na strani 'jedan' i
znakom vie na strani 'vie'. Primjer prikazuje binarnu vezu u kojoj zaposlenik moe izdati nula
ili vie (opcionalnost) rauna, a raun obavezno mora biti izdan od strane jednog zaposlenika.

Slika 3.4 Binarna veza, kardinalnost jedan-vie

Slika 3.5 prikazuje ternarnu vezu koja je implementirana dodavanjem nove tablice i tri binarne
veze. U primjeru na slici u ternarnoj vezi sudjeluju entiteti lijenik, pacijent i lijek. Ternarna
veza se (isto kao i veza vie-vie) prikazuje posebnom tablicom u kojoj se nalaze primarni
kljuevi svih entiteta koji sudjeluju u vezi. Lijenik moe izdati nula ili vie recepata, pacijentu
moe biti izdano nula ili vie recepata i jedan lijek moe biti prepisan na nula ili vie recepata.
Recept obavezno mora imati jednog lijenika, jednog pacijenta i jedan lijek.

6
Slika 3.5 Ternarna veza realizirana kao 3 binarne veze

Veze, odnosno kardinalnost na vezama se moe prikazivati razliitim notacijama. Na primjerima


iznad koritena je 'Crow's foot' notacija. U nastavku rada opisati u neke najee koritene
notacije.

3.2 Notacije

3.2.1 Chen notacija

Chen notacija dobila je naziv po Peter Chenu koji je 1976. objavio rad u kojemu opisuje ERA
model. U ovoj notaciji veze su prikazane simbolom romba koji se nalazi na liniji koja spaja dva
entiteta. Atributi su zaokrueni i spojeni linijom sa entitetom kojemu pripadaju. Ova notacija se
esto koristi u akademskim radovim dok u alatima za konceptualno modeliranje nije ba esto
viena.

Slika 3.6 prikazuje grafiki Chen notaciju. Na vrhu slike prikazan je entitet zaposlenik (eng.
employee) sa svojim atributima emp_id (id zaposlenika), emp_name (ime zaposlenika) i
job_class (klasa posla). Slika (b) prikazuje vezu jedan-jedan. Naziv veze napisan je u rombu na
liniji a kardinalnost na krajevima veze. Krui oznaava opcionalnost. Na (c) dijelu slike
prikazana je jedan-vie veza izmeu dva entiteta, strana 'vie' oznaava se slovom N i u ovom
primjeru je opcionalna. D dio slike prikazuje vezu jedan-vie, isto kao i prethodni primjer samo
to je ovdje opcionalnost na strani 'jedan'. E dio prikazuje vezu vie-vie, jedna i druga strana

7
veze su opcionalne a oznaavaju se sa slovima M i N. Na kraju, zadnji dio slike (f) prikazuje
rekurzivnu vezu, gdje je entitet zaposlenik spojen sa samim sobom.

Slika 3.6 Chen notacija [Teorey, 1999, str. 23]

3.2.2 Crow's foot (IE notacija)

IE (Information Engineering) notaciju osmislio je australac Clive Finkelstein. To je najpoznatija


notacija koja se koristi u veini grafikih alata za konceptualno modeliranje. Jo se zove i Crow's
foot (u prijevodu vranino stopalo) zbog prikaza kardinalnosti 'vie' koja podsjea na vranino
stopalo. Ova notacija moe se vidjeti na prethodnim slikama (Slika 3.3, Slika 3.4 i Slika 3.5). Za
prikaz kardinalnosti 'jedan' koristi se ravna crtica | a za 'vie' simbol < ili >. Opcionalnost se
oznaava kruiem.

8
3.2.3 Barkerova notacija

Naziv ove metode dolazi od Richarda Barkera koji ju je objavio 90-ih godina prolog stoljea. U
ovoj notaciji entiteti se prikazuju u kvadratima sa zaobljenim vrhovima. Atributi mogu biti
navedeni ispod naziva entiteta, atribut sa ispunjenim kruiem ili zvjezdicom (*) je obavezan, sa
neispunjenim kruiem neobavezan, a oznaka # se koristi za primarne kljueve. Slika 3.7
prikazuje Barkerovu notaciju na primjeru binarne veze izmeu entiteta zaposlenik i entiteta soba.
Veza izmeu entiteta podijeljena je na dva dijela. Crtkana linija znai da je kardinalnost
opcionalna i ita se kao 'nula ili vie' tj. moe, ali i ne mora biti. Puna linija znai obavezno i ita
se kao 'jedan ili vie' tj. najmanje jedan. Veza na kojoj se nalazi znak za vie kao iz Crow's foot
notacije ita se kao 'jedan ili vie' ili 'nula ili vie' ovisno o tome ako je linija puna ili iscrtkana,
veza na kojoj se ne nalazi taj znak ita se kao 'nula ili jedan' ili kao 'jedan i samo jedan' takoer u
ovisnosti o iscrtkanoj ili punoj liniji. Iz slike Slika 3.7 moemo isitati da zaposleniku pripada
nula ili jedna soba, a soba pripada jednom ili vie zaposlenika. To je veza 'jedan-vie'.

Slika 3.7 Barkerova notacija [Halpin i Morgan, 2008, str. 309]

3.2.4 IDEF1X

U IDEF1X notaciji entiteti se prikazuju kvadratima koji mogu imati zaobljene ili nezaobljene
vrhove. Entiteti sa zaobljenim vrhovima ovise o nekom drugom entitetu dok entiteti koji nemaju
zaobljene vrhove se mogu jednoznano identificirati bez postojanja nekog drugog entiteta. Naziv
entiteta napisan je izvan kvadrata. Veze izmeu entiteta mogu biti zavisne i nezavisne. Zavisne
veze prikazane su na slici Slika 3.8 a nezavisne veze se oznaavaju na isti nain jedina razlika je
u tome to nezavisne veze imaju iscrtkane linije. Zavisne veze koriste se kada je primarni klju

9
entiteta sloen od primarnog kljua nekog drugog entiteta i oznaavaju se punim linijama.
Nezavisne veze koriste se za spajanje entiteta iji primarni klju neovisi o primarnom kljuu
drugog entiteta. Nepostojanje oznake na vezi ita se kao 'jedan' (iskljuivo jedan, ni vie ni
manje), simbol romba se ita kao 'nula ili jedan', ispunjeni krui se ita kao 'nula ili vie' a
ispunjeni krui sa slovom 'p' se ita kao 'jedan ili vie'.

Slika 3.8 IDEF1X nezavisne veze [Halpin i Morgan, 2008, str. 329]

Na slici Slika 3.8 prikazane su nezavisne veze u IDEF1X notaciji. Na prvom djelu slike (a) je
veza jedan-vie izmeu tablice 'roditelj' i tablice 'dijete', 'roditelj' moe imati nula ili vie 'djece' a
'dijete' pripada jednom i samo jednom 'roditelju'. Drugi dio slike isto prikazuje vezu jedan-vie,
razlika je u opcinalnosti na strani 'jedan'.

Slika 3.9 IDEF1X zavisna veza [Halpin i Morgan, 2008, str. 327]

Na slici Slika 3.9 prikazan je primjer zavisne veze u IDEF1X notaciji. Primjer prikazuje vezu
jedan-vie, u zgradi se nalazi nula ili vie soba i soba je u jednoj zgradi. Entitet soba prikazan je
u kvadratu sa zaobljenim vrhovima jer ovisi o postojanju entiteta zgrade.

10
3.2.5 UML notacija

UML skraenica je od eng. Unified Modeling Language (u prijevodu jedinstveni jezik


modeliranja) a koristi se za modeliranje klasa objekata tj. entiteti su klase objekata. Entiteti se
oznaavaju kvadratima u kojima pie naziv entiteta i njegovi atributi. Navicat alat, koji e biti
opisan kasnije, nudi mogunost izrade modela koristei UML notaciju. UML notacija za prikaz
ERA modela vrlo je slina IE notaciji. Razlika je u zapisu kardinalnosti a mogui zapisi su
sljedei:

1 jedan i samo jedan

1...* jedan ili vie

0...1 nula ili jedan

0...* nula ili vie.

3.3 Primjer baze podataka

U ovom radu izradit u model i implementirat u bazu podataka koja bi sluila aplikaciji za
prodaju kino ulaznica. Za implementaciju spomenute baze bit e potrebno pohranjivati podatke o
filmovima, glumcima koji u njima glume, redateljima i anrovima. Takoer je potrebno
pohranjivati podatke o dvoranama i projekcijama koje e se prikazivati. Entitet projekcija
sadravat e podatke o filmu, dvorani i vremenu u kojemu e se pojedina projekcija prikazivati.
Poto bi aplikacija trebala sluiti za prodavanje kino ulaznica, jo je potrebno izraditi entitet
zaposlenik ija e se oznaka nalaziti na raunu. Dakle, u modelu e se jo nalaziti entitet raun i
entitet ulaznica. U tablici Tablica 3.1 nalazi se popis svih entiteta, njihovih atributa i opis istih.
Primarni kljuevi podcrtani su ravnom linijom a vanjski su podebljani utom bojom.

Tablica 3.1 Popis i opis svih entiteta i njihovih atributa

Entiteti Atributi Opis


Id_filma Entitet film pohranjuje
Naziv osnovne podatke o filmovima
Godina kao to su naziv, godina kada
Filmovi
Trajanje je snimljen film, vremensko
Opis trajanje, opis tj. kratak sadraj,
Jezik jezik i drava.

11
Drzava
Id_glumca Entitet glumac pohranjuje
Ime osnovne podatke o glumcima
Glumci Prezime koji imaju glavne uloge u
Datum_rodenja filmovima koji se prikazuju u
Drzava kinu.
Ovo je relacija koja je nastala
zbog veze vie-vie izmeu
entiteta film i glumac. Sastoji
Id_filma se od dva atributa koji su
Film_glumac
Id_glumca vanjski kljuevi na entitet film
i glumac. Ta dva atributa tvore
dvokomponentni primarni
klju.
Id_redatelja Entitet redatelj pohranjuje
Ime osnovne podatke o redateljima
Redatelji
Prezime filmova koji se prikazuju u
kinu.
Ovo je relacija koja je nastala
zbog veze vie-vie izmeu
entiteta film i redatelj. Sastoji
Id_filma se od dva atributa koji su
Film_redatelj
Id_redatelja vanjski kljuevi na entitet film
i redatelj. Ta dva atributa tvore
dvokomponentni primarni
klju.
Id_zanra
Entitet anr pohranjuje nazive
Zanrovi Naziv_zanra
filmskih anrova.

Ovo je relacija koja je nastala


Id_filma zbog veze vie-vie izmeu
Film_zanr
Id_zanra entiteta film i anr. Sastoji se
od dva atributa koji su vanjski

12
kljuevi na entitet film i anr.
Ta dva atributa tvore
dvokomponentni primarni
klju.
U entitet dvorana sprema se
Id_dvorane naziv dvorane i kapacitet,
Dvorane Naziv kako bi se znalo koliko
Kapacitet ulaznica se moe prodati za
pojedinu dvoranu.
Id_projekcije
Id_dvorane Ovaj entitet pohranjuje
Id_filma podatke o vremenu, mjestu,
Projekcije Vrijeme_pocetak cijeni i preostalim slobodnim
Vrijeme_kraj ulaznicama za pojedinu
Slobodna_mjesta projekciju.
Cijena
Id_zaposlenika
U entitet zaposlenik
Ime
pohranjuju se osnovni podaci
Prezime
o zaposlenicima koji su
Zaposlenici Adresa
potrebni da bi se vidjelo tko je
Telefon
i u koje vrijeme izdao neki
Email
raun.

Id_racuna Entitet raun pohranjuje


Id_zaposlenika podatke o izdanim raunima.
Racun Vrijeme Vrijeme kada je izdan raun,
Ukupan_iznos tko ga je izdao i koji je bio
Iznos_bez_pdv iznos na raunu.
Entitet sprema podatke o
Id_ulaznice
projekciji i broju sjedala.
Id_projekcije
Ulaznice Povezan je i sa entitetom
Id_racuna
raun, kako bi se mogao
Broj_sjedala
izraunati ukupan iznos.

13
Slika 3.10 ERA model baze za prodaju kino ulaznica

Na slici Slika 3.10 prikazan je ERA model ranije opisanog primjera. Model je izraen u Navicat
alatu. Koritena notacija za prikaz entiteta i veza je Crow's foot notacija. U nastavku rada bit e
opisan alat u kojemu je izraen ovaj model.

14
4. Alati

4.1 Navicat

4.1.1 Openito o alatu

Navicat je alat s grafikim korisnikim sueljem koji slui za kreiranje i administriranje baza
podataka. Moe se spajati na MySQL, Oracle, PostgreSQL, SQLite, SQL Server ili MariaDB
baze podataka. U ovom radu prikazat u Navicat za MySQL bazu podataka. Alat je dostupan na
Microsoft Windows, Mac OS X te Linux platformi. Za koritenje alata potrebno je instalirati
MySQL server te Navicat for MySQL, koji se moe preuzeti sa sljedee stranice
http://www.navicat.com/download . Na prethodno navedenoj stranici ponuene su probne verzije
koje omoguavaju besplatno koritenje alata 30 dana. Ukoliko elimo i dalje koristiti Navicat
potrebno ga je kupiti. U ponudi su 3 izdanja: Enterprise (199 $ za Windows platformu), Standard
(129 $ za Windows platformu) i nekomercijalno izdanje (99 $ za Windows platformu) koje slui
za edukativne svrhe.

Slika 4.1 Poetni zaslon Navicat alata

15
Na slici Slika 4.1 prikazan je poetni zaslon Navicat alata. U glavnoj alatnoj traci nalaze se
osnovni objekti i funkcije za rad sa bazom podataka, a to su konekcija, tablice, upiti, funkcije,
dogaaji, izvjetaji, modeli i dr. Na lijevoj strani nalazi se popis svih konekcija, baza podataka i
pripadajuih objekata. Otvorena kartica u kojoj se nalazi popis tablica je glavni radni dio u
kojemu se otvaraju kartice s obzirom na odabranu funkcionalnost iz izbornika.

4.1.2 Spajanje na MySQL server

Za kreiranje nove baze ili administriranje postojee, potrebno je povezati se sa MySQL


serverom. Mogue je povezivanje sa udaljenim raunalom ili lokalno. U primjeru koji u
prikazati spajanje je lokalno.

Slika 4.2 Kreiranje nove konekcije - Navicat

Na slici Slika 4.2 prikazani su koraci za izradu nove konekcije. Iz alatne trake odaberemo
Connection, zatim iz padajueg izbornika MySQL. Otvori se novi prozor u kojemu se treba
ispuniti naziv konekcije (Connection Name), ime raunala na kojemu je instaliran MySQL (Host
Name) u ovom primjeru je to localhost, port 3306 jer je to standardni port za MySQL te
korisniko ime obino je root jer se spaja na lokalno raunalo ali moe biti i neko drugo ime.
Kada su ispunjena sva potrebna polja klik na Test Connection za prikaz poruke da li je konekcija
uspjeno ili neuspjeno kreirana. Sve uspjeno kreirane konekcije nalaze se na popisu sa lijeve
strane poetnog zaslona.

16
Nakon uspjenog povezivanja sa MySQL serverom nastavljam sa kreiranjem baze podataka.
Najprije se treba otvoriti konekcija. Odaberemo eljenu konekciju sa lijeve strane poetnog
zaslona, desni klik na naziv konekcije i iz izbornika odabrati Open Connection.

Slika 4.3 Kreiranje nove baze Navicat

Slika 4.3 prikazuje izradu nove baze podataka. Za izradu nove baze potrebno je desnim klikom
na konekciju odabrati New Database te zatim ispuniti sva polja (ime baze, skup znakova i skup
pravila za usporeivanje znakova) u novootvorenom prozoru. Klikom na gumb OK nova baza je
kreirana i moemo zapoeti sa kreiranjem tablica koje su opisane u prethodnom poglavlju.

4.1.3 Konceptualni model

U Navicat alatu novi konceptualni model kreira se odabirom gumba Model iz alatne trake. Kada
kliknemo na gumb Model otvori se kartica koja se moe vidjeti na slici Slika 4.4. U otvorenoj
kartici nalazi se popis ve kreiranih modela, te ukoliko elimo ureivati neki od njih, odaberemo
ih dvostrukim klikom na naziv. U suprotnom, ako elimo izraivati potpuno novi konceptualni
model odaberemo opciju New Model koja je ponuena u novootvorenoj kartici. Ovaj alat nudi
mogunost kreiranja modela iz ve postojee baze (eng. reverse engineering). Ukoliko elimo
tako kreirati model, desnim klikom na naziv baze s lijeve strane otvara se izbornik iz kojega je

17
potrebno odabrati opciju Reverse Database to Model. U nastavku rada prikazat u izradu novog
konceptualnog modela (odabir New Model) i dodavanje objekata na isti.

Slika 4.4 Kreiranje modela u Navicat alatu

4.1.3.1 Entiteti i atributi

Kada se otvori radna povrina novog modela moemo zapoeti sa dodavanjem objekata na
konceptualni model. Kreiranje novog entiteta prikazano je na slici Slika 4.5. Novi entitet moe
se dodati na dijagram odabirom simbola tablice iz okomitog iznornika pokraj radne povrine ili
desnim klikom na povrinu i odabrati opciju New Table. Bez obzira koji nain odabrali, na
radnoj povrini stvorit e se kvadrati u koji direktno upisujemo naziv entiteta koji elimo. Kada
je entitet kreiran, moemo dodavati atribute kojima ga elimo identificirati i opisati. Atributi se
entitetu dodaju desnim klikom na eljeni entitet i odabrati opciju Design Table. Dodavanje
atributa moe se vidjeti na slici Slika 4.6.

18
Slika 4.5 Novi entitet u Navicat alatu

Slika 4.6 Dodavanje atributa u Navicat alatu

19
Kada se odabere Design Table za eljeni entitet, otvori se poseban prozori za ureivanje. Novi
atribut dodaje se odabirom kartice Fields te opcijom Add Field. U stupac Name potrebno je
napisati naziv atributa, stupac Type slui za odabir tipa podataka koji e se moi unositi kao
vrijednost tog atributa. Ostali parametri nisu obavezni za ispunjavanje. U stupac Parameter
upisuje se broj dozvoljenih znakova za odreeni atribut. Not Null moemo oznaiti ukoliko neki
atribut obavezno mora biti ispunjen. U zadnjem stupcu nalazi se simbol kljua ukoliko je neki
atribut primarni klju. Odabirom kartice Indexes (pokraj Fields) moemo dodavati unique
ogranienje tako da se ispuni naziv, odaberu se atributi koji trebaju biti jedinstveni a u stupcu
Index Type odabere se unique. Odabirom kartice Foreign Keys mogu se dodavati vanjski
kljuevi ukoliko oni postoje za taj entitet. Kod kreiranja vanjskog kljua potrebno je ispuniti
naziv, odabrati atribut koji e biti vanjski klju te odabrati tablicu i primarni klju te tablice na
koji e se referencirati.

4.1.3.2 Veze, kardinalnost i notacije

Definiranjem primarnih i vanjskih kljueva kreiraju se veze izmeu tablica na dijagramu.


Preostaje jedino urediti veze kako se nebi presjecale radi preglednosti dijagrama. Veze se mogu
pomicati klikom na njih, stvore se bijeli vrhovi u obliku kvadratia kojima se moe promjeniti
lokacija na bilo koje mjesto na rubovima kvadrata koji su simbol entiteta. Ako je potrebno
presjei vezu da nebude samo ravna crta, moe se dodati jo jedan 'vrh' desnim klikom na vezu i
Add Vertex. Vanjski kljuevi prema kojima su veze stvorene mogu se pregledavati i ureivati
desnim klikom na vezu i odabir opcije Design Relation. Vezama koje su kreirane moemo
mjenjati kardinalnost i notaciju. Kardinalnost veze odreuje se desnim klikom na vezu, otvori se
izbornik u kojemu su ponuene opcije Cardinality on 'naziv_prvog_entiteta' i Cardinality on
'naziv_drugog_entiteta'. Odaberemo opciju s obzirom na to koju stranu veze elimo ureivati.
Ponuene kardinalnosti su: nita, jedan i samo jedan, vie, jedan ili vie, nula ili jedan i nula ili
vie. Notacije koje su ponuene u ovom alatu mogu se vidjeti i odabrati desnim klikom na radnu
povrinu i opcija Diagram Notation. Slika 4.7 prikazuje sve notacije koje se mogu koristiti u
Navicat alatu. Prva slika prikazuje simple notaciju sa kojom su prikazani samo nazivi entiteta
spojeni linijama. Nisu prikazani ni atributi ni kardinalnost. Sljedea slika b) prikazuje Crow's
foot notaciju, primarni kljuevi oznaeni su zvjezdicom pokraj. Na c) dijelu slike prikazana je
IDEF1X notacija a na d) dijelu UML notacija. U primjeru sa slike sve veze imaju kardinalnost
jedan i samo jedan naprema nula ili vie.

20
Slika 4.7 Notacije za prikaz konceptualnog modela u alatu Navicat

Na kraju kada smo zavrili sa modelom, moemo spremiti promjene u model odabirom gumba
Save iz trake ili moemo preslikati model u bazu podataka (eng. Forward engineering). Slika 4.8
prikazuje postupak za preslikavanje modela u bazu. Nakon klika na Synchronize to Database
pokree se arobnjak, najprije trebamo odabrati da li elimo izvriti sinkronizaciju sa cjelom
bazom ili samo sa tablicama koje su odabrane. Nakon toga odaberemo tablice i konekciju koje
elimo usporediti i klikom na gumb Compare tablice sa modela uskladit e se sa onima u bazi.

Slika 4.8 Forward engineering u Navicat alatu

21
4.2. dbForge Studio

4.2.1 Openito o alatu

Alat dbForge Studio dostupan je za preuzimanje na stranici www.devart.com. U ponudi su 3


izdanja alata Express, Standard i Professional. Express edition je besplatno izdanje, sa osnovnim
funkcionalnostima za rad sa objektima baze. Standard edition licenca moe se kupiti za 95,95 $ a
Professional edition je izdanje sa najvie funkcionalnosti te se moe kupiti za 199,95 $. Prije
nego se odluimo na kupnju Professional izdanja imamo 30 dana besplatne verzije.

Slika 4.9 prikazuje poetni izgled alata, odmah pri pokretanju otvara se Start Page stranica na
kojoj su funkcionalnosti grupirane u 5 kategorija. Prva grupa SQL Development sastoji se od
SQL editora za pisanje SQL naredbi, Query Builder za izradu sloenih upita i ostalih
funkcionalnosti koje se mogu vidjeti na slici ispod. Sljedea kategorija je Database Design koja
slui za vizualni prikaz objekata iz baze sa kojom smo spojeni. Administration grupa koristi se za
upravljanje korisnikim raunima, backup baze i sl. U Data Pump kategoriji moemo napraviti
izvoz i/ili uvoz podataka u/iz baze. Zadnja kategorija Data Analysis slui za kreiranje izvjetaja.

Slika 4.9 Poetni zaslon alata dbForge Studio

22
4.2.2 Spajanje na MySQL server

Da bi zapoeli sa koritenjem alata, najprije se moramo povezati sa MySQL serverom. To emo


napraviti odabirom Database iz alatne trake i New Connection iz pripadajueg izbornika. Zatim
e se otvoriti prozor kao to moemo vidjeti na slici Slika 4.10. U novootvorenom prozoru
potrebno je ispuniti podatke kao to su raunalo na koje se spajamo, u primjeru je to lokalno
raunalo, port za MySQL server i ime korisnika koji e se spajati. Ukoliko elimo moemo
odabrati i ve kreiranu bazu koja e se otvoriti svaki put kada otvorimo tu konekciju. Nakon
ispunjavanja formulara potrebno je istestirati konekciju klikom na gumb Test Connection, i ako
je sve u redu moe se zapoeti sa daljnjim radom.

Slika 4.10 Povezivanje sa MySQL serverom alat dbForge Studio

Nakon uspjenog povezivanja vrijeme je za kreiranje nove baze podataka. U alatu dbForge
najprije moramo otvoriti vezu desnim klikom na naziv veze i onda Open. Kada je veza otvorena,
desnim klikom na nju odaberemo opciju New Database. U prozoru koji se otvori ispunimo ime
baze, skup znakova i pravila za usporeivanje, klik na Update Database i baze je kreirana. Za
potrebe ovog rada, nisam kreirala novu bazu ve sam iskoristila bazu koju sam kreirala u
prethodno opisanom alatu Navicat.

23
4.2.3 Konceptualni model

Slika 4.11 prikazuje naine na koje moemo poeti sa izradom novog konceptualnog modela.
Novi model moemo izraditi odabirom Database iz alatne trake te Database Diagram iz
ponuenog izbornika. Drugi nain za izradu modela je klikom na Database Design gumb na
poentnoj stranici i odabirom opcije New Database Diagram. Novi model moe se kreirati i
odabirom File iz alatne trake te opcije New Database Diagram. U svakom sluaju otvorit e se
nova radna povrina na koju moemo dodavati objekte.

Slika 4.11 Konceptualni model alat dbForge Studio

4.2.3.1 Entiteti i atributi

Novi entitet se moe dodati na model na vie naina. Neki od naina dodavanja novog entiteta
prikazani su slikom Slika 4.12. Novi entitet moemo dodati odabirom oznake tablice iz trake
iznad radne povrine ili desnim klikom na radnu povrinu i odabir opcije New Table. Alat nudi i
mogunost kreiranja modela iz ve postojee baze. Ukoliko elimo na model dodati entitete koji
su ve kreirani u nekoj od baza sa kojom smo spojeni moemo odabrati naziv baze ili samo
nazive odreenih tablica iz baze te ih povui i ispustiti na radnu povrinu. Sve promjene na
modelu alat automatski sprema u bazu koju smo definirali u trenutno otvorenoj konekciji.

24
Slika 4.12 Dodavanje novog entiteta na model

Odabirom opcije New Table otvara se novi prozor koji se moe vidjeti na slici Slika 4.13. Za
definiranje novog entiteta potrebno je upisati naziv kako ga elimo nazvati. Ispod se nalaze polja
za unos atributa. Za atribute je potrebno definirati njihov naziv u stupac Name te tip podataka
kojeg e biti taj atribut u stupac Data Type. Primarne kljueve oznaimo sa kvaicom u stupcu u
kojemu se nalazi simbol kljua. Ostali stupci nisu obavezni za ispunjavanje ali poblie opisuju
svaki atribut. Moemo ih oznaiti u sluaju ako elimo odrediti da vrijednost nekog atributa
moe biti NULL (stupac Allow nulls), ako elimo da se neki atribut automatski poveava pri
svakom novom unosu (stupac Auto Increment) i moemo odrediti default vrijednost koja e se
unositi svaki put kada vrijednost atributa bude ostavljena prazna (stupac Default). Nakon unosa
svih atributa odabirom kartice Constraints dodajemo vanjske kljueve ukoliko je potrebno. Novi
vanjski klju dodaje se desnim klikom na povrinu unutar kartice Constraints i odabirom opcije
New Foreign Key. Otvara se novi prozor u kojemu definiramo naziv vanjskog kljua, odaberemo
atribut koji e biti vanjski klju i tablicu i atribut na koji e se referencirati taj novi vanjski klju.
Klikom na OK novi vanjski klju je kreiran i prema njemu e se stvoriti veza na dijagramu.
Unique ogranienje se dodaje odabirom kartice Indexes desni klik na povrinu i odabir opcije

25
New Index. Otvara se novi prozor gdje definiramo naziv ogranienja i odaberemo atribut ili vie
njih na koje se treba odnositi ogranienje jo je potrebno oznaiti sa kvaicom oznaku unique i
kliknuti na gumb OK za zavretak izrade. Nakon to dodamo sve atribute, ogranienja i vanjske
kljueve klikom na OK u glavnoj (Main) kartici potvrujemo promjene i novi entitet sa svim
svojim obiljejima nalazi se na radnoj povrini dijagrama.

Slika 4.13 Naziv i atributi novog entiteta u alatu dbForge

4.2.3.2 Veze, kardinalnost i notacije

Veze se kreiraju prema prethodno definiranim primarnim i vanjskim kljuevima. Nedostatak


ovog alata je taj to se nemoe mjenjati kardinalnost na vezama. Desnim klikom na liniju koja
predstavlja vezu izmeu entiteta moemo ureivati, mjenjati ili brisati vanjske kljueve koji
sudjeluju u toj vezi odabirom opcije Edit Foreign Key. Alat nudi dvije notacije za prikaz ERA
modela IE i IDEF1X notaciju. eljenu notaciju moemo odabrati desnim klikom na radnu
povrinu, zatim options. U prozoru koji se otvorio odaberemo karticu Notation i unutar te kartice
dio gdje pie Relation notation. Iz padajueg izbornika odaberemo da li elimo IE ili IDEF1X
notaciju. Na slici Slika 4.14 prikazane su obadvije notacije. Na a) dijelu slike prikazan je model
IE notacijom a na drugom dijelu slike prikazan je isti taj model samo IDEF1X notacijom.

26
Slika 4.14 Notacije u alatu dbForge

4.3 DbSchema

4.3.1 Openito o alatu

Alat DbSchema moe se preuzeti sa stranice http://www.dbschema.com/. Moe se koristiti


besplatno, ali sa smanjenim brojem funkcionalnosti i mogunou kreiranja samo 12 tablica.
Besplatna verzija alata za mnoge korisnike nije dovoljna, te se u tom sluaju moe preuzeti
probna verzija Ultimate Edition-a koja traje 15 dana. Nakon toga se alat treba kupiti. U ponudi
za kupnju su Personal, Commercial i Academic verzije. Personal verzija moe se preuzeti za 127
$ i moe ju koristiti samo jedna osoba (neprenosiva je na vie ljudi). Ako alat treba koristiti vie
ljudi, npr. u nekoj organizaciji, licenca je 198 $ za Commercial Edition. Academic verzija
najpovoljnija je i moe se preuzeti za 63 $, a namijenjena je za edukativne svrhe kao to joj i
samo ime govori. Na slici Slika 4.15 prikazan je izgled poetnog zaslona DbSchema alata. Na
poetnom zaslonu istaknute su opcije sa kojima zapoinjemo rad sa alatom. Prva opcija je
spajanje sa bazom, zatim je ponueno kreiranje konceptualnog modela bez spajanja, moemo
otvoriti SQL datoteku ili ve zapoeti projekt. Dalje u ovom radu prikazat u prvu opciju,
spajanje na bazu.

27
Slika 4.15 Poetni zaslon alata DbSchema

4.3.2 Spajanje na MySQL server

Slika 4.16 Spajanje na bazu alat DbSchema

28
Nova veza sa bazom kreira se odabirom Connect to Database opcije sa poetnog zaslona.
Otvori se novi prozor sa postavkama za spajanje, kao to se moe vidjeti na slici Slika 4.16 .
Potrebno je odabrati lokaciju servera, da li je to lokalno raunalo (This computer) ili udaljeno
raunalo (Remote computer). Zatim se ispuni ime korisnika i moemo odabrati bazu na koju se
elimo spojiti ili kreirati novu klikom na gumb Create New. U ovom primjeru odabrala sam ve
kreiranu bazu kino. U nastavku rada prikazat u izradu konceptualnog modela baze podataka.

4.3.3.Konceptualni model

Konceptualni model u alatu DbSchema kreira se desnim klikom na Layouts i New Layout. Otvori
se novi prozor, koji se moe vidjeti na slici Slika 4.17. Napiemo naziv koji elimo za novi
model, ispod se nalazi popis tablica iz baze koje moemo oznaiti i klikom na gumb Include
smjestiti ih na model. Svaka promjena na radnoj povrini, dodavanje, mjenjanje ili brisanje
objekata automatski se biljei u bazi sa kojom smo spojeni. Konceptualni model moe se izraditi
i klikom na Project iz trake na vrhu prozora, zatim iz ponuenog izbornika odabrati New project
connected to database ili new project offline, ovisno o tome da li elimo raditi bez spajanja ili sa
spajanjem na bazu.

Slika 4.17 Izrada konceptualnog modela u alatu DbSchema

29
4.3.3.1 Entiteti i atributi

Slika 4.18 Kreiranje novog entiteta alat DbSchema

Entiteti se na model dodaju desnim klikom na radnu povrinu i odabir opcije Create Table ili
klikom na simbol tablice iz alatne trake na vrhu prozora. Bilo koji nain odabrali, otvori se novi
prozor, kao to se moe vidjeti na slici Slika 4.18. U novom prozoru unosimo naziv entiteta u
polje Name. Nakon toga moemo zapoeti sa dodavanjem atributa. Atributi se dodaju odabirom
kartice Columns i zatim gumb Add na dnu prozora. Klikom na Add otvara se novi prozori koji
se takoer moe vidjeti na slici Slika 4.18. U njega upisujemo naziv atributa koji elimo dodati,
odreujemo tip podataka koji e imati taj atribut te oznaimo kvaicom Primary Key ako je taj
atribut ujedno i primarni klju i ako elimo da se pri svakom unosu automatski poveava
oznaimo sa kvaicom Auto Increment. Kada smo zavrili sa osobinama atributa klik na OK
vratit e nas na poetni prozor u kojemu moemo dodavati sljedei atribut na isti taj nain. Za
kreiranje unique ogranienja odabere se kartica pokraj Columns i opet kao i za novi atribut
odaberemo gumb Add koji e otvoriti prozor za dodavanje novog ogranienja. Na isti nain
kreiraju se i vanjski kljuevi, samo se najprije odabere kartica Foreign Keys. Prozor koji se
otvori prikazan je na slici Slika 4.18. U njega se upisuje naziv vanjskog kljua, zatim se odabere

30
tablica koju elimo referencirati i ispod se odabere atribut koji e biti vanjski klju i atribut iz
referencirane tablice.

Alat nudi i mogunost dodavanja ve gotovih tablica iz baze sa kojom smo spojeni na model.
Samo oznaimo naziv baze ili naziv pojedine tablice iz baze i povuemo ih te spustimo na radnu
povrinu.

Pokraj nekih atributa na modelu nalaze se simboli kao to su klju, povealo ili strelice. Simbol
kljua nalazi se pokraj atributa koji je primarni klju u nekoj tablici. Povealo oznaava vanjske
kljueve a strelice su oznake za atribute koji su referencirani ili koji se referenciraju na primarni
klju neke druge tablice. Tako uta strelica okrenuta prema dolje znai da je taj atribut
referenciran od neke druge tablice a plava strelica okrenuta prema gore znai da se taj atribut
referencira na atribut iz neke druge tablice.

4.3.3.2 Veze, kardinalnost i notacije

Slika 4.19 Notacije u alatu DbSchema

31
Kao i u ostalim, do sada opisanim alatima, veze izmeu tablica kreiraju se prethodnim
definiranjem primarnih i vanjskih kljueva. U ovom alatu tablice se mogu spajati i tako da
odaberemo atribut iz jedne tablice i povuemo ga na atribut iz druge tablice sa kojom elimo
izraditi vezu. Nedostatak ovog alata je to nemoemo mjenjati kardinalnost na modelu i ne mogu
se pomicati veze kako bismo ih uredili radi bolje preglednosti. Veze koje su ve kreirane
moemo ureivati desnim klikom na vezu i odabir opcije Edit.

Slika 4.19 prikazuje primjer gdje je spojena tablica projekcije sa tablicama filmovi i dvorane
vezom jedan-vie. Isti primjer prikazan je etiri puta, svaki put sa drugom notacijom koju
podrava alat DbSchema. Tako, a) dio slike prikazuje IDEF1X notaciju, b) dio slike Barkerovu
notaciju a c) i d) djelovi slike odnose se na IE odnosno Crow's foot notaciju s tim da je c) slika
bez strelica, a d) slika sa strelicama koje se nalaze na strani entiteta koji je referenciran.

4.4. Toad

4.4.1 Openito o alatu

Toad alat za konceptualno modeliranje moe se preuzeti sa sljedee stranice


http://www.toadworld.com/m/freeware/552.aspx. Alat koji sam preuzela je besplatan za
koritenje, ali postoji i komercijalna verzija koja se moe kupiti za 592 $. Dostupan je samo za
Microsoft Windows platformu. Nakon instalacije alata moe se zapoeti sa koritenjem. Glavni
prozor alata vidi se na slici Slika 4.20.

Slika 4.20 Poetni zaslon alata Toad

32
4.4.2 Spajanje na MySQL server

Za poetak, potrebno je povezati se sa MySQL serverom kako bismo mogli izraditi bazu
podataka i njezine objekte, to se moe vidjeti na slici Slika 4.21. U alatu Toad nova konekcija
stvara se klikom na File iz alatne trake te odabirom New Connection opcije. Nakon toga ispuni
se otvoreni formular sa potrebnim podacima kao to su ime raunala, korisnik i port i klik na
gumb Connect. Sada se nova konekcija nalazi na popisu sa lijeve strane glavnog prozora. Kada
elimo koristiti tu konekciju, desnim klikom na naziv odaberemo opciju Connect. Nakon
uspjenog povezivanja, ispod naziva konekcije bit e prikazane sve baze podataka koje su
dostupne isto kao i objekti tih baza podataka. Nova baza podataka kreira se odabirom File iz
alatne trake te zatim New database opcije.

Slika 4.21 Povezivanje sa MySQL serverom alat Toad

4.4.3.Konceptualni model

Novi konceptualni model kreira se odabirom Tools iz alatne trake te zatim opcija Database
Diagram. Otvori se kartica sa praznom radnom povrinom na kojoj e se kasnije nalaziti model
baze podataka. U ovom alatu obavezno je prvo spojiti se sa bazom kako bi mogli izraivati
modele i nepodrava offline izradu konceptualnih modela. Funkcionalnosti za izradu modela
dosta su smanjene jer je ovo besplatna (eng. freeware) verzija alata.

33
4.4.3.1 Entiteti i atributi

Za dodavanje novih entiteta na model, najprije moramo kreirati tablicu u bazi te ju onda povui
na povrinu modela. Kako to izgleda u Toad alatu moe se vidjeti na slici Slika 4.22. Da bismo
dodali novu tablicu, najprije iz Object Explorera odaberemo bazu koju elimo. Zatim karticu
Tables te simbol tablice koji je zaokruen na slici. Nakon toga otvara se novi prozor u kojemu
ispunjavamo osnovne podatke o tablici kao to je naziv tablice, skup znakova koje e koristiti i
ostale informacije koje se mogu vidjeti na slici ispod.U istom prozoru moemo odma dodavati
atribute i ogranienja ukoliko elimo. Kada se zavri sa definiranjem tablice klik na gumb OK i
nova tablica nalazit e se na popisu sa lijeve strane. Zatim samo preostaje povui ju i spustiti na
radnu povrinu modela.

Slika 4.22 Nova tablica Toad alat

Na slici Slika 4.23 prikazano je dodavanje atributa tablici. Atributi se dodaju odabirom opcije
Columns pri kreiranju same tablice. Ispune se potrebne informacije kao to su ime atributa, tip,
da li atribut moe poprimiti null vrijednost ili ne te ostala svojstva navedena ispod. Primarni
klju se definira na prvoj opcije General. Na slici se vidi jo jedna opcija pri kreiranju nove
tablice, a to je Constraints, klikom na nju definiramo vanjske kljueve tablice.

34
Slika 4.23 Dodavanje atributa u alatu Toad

U sluaju da nema potrebe za izradom novih tablica, ako sve potrebne tablice ve imamo u bazi,
alat nudi mogunost preslikavanja svih objekata iz baze na model. To se moe napraviti
odabirom Database Diagram iz alatne trake te zatim klikom na opciju All tables and Views
From Current Database Only. Database Diagram opcija iz alatne trake jo nudi mogunost
Arrange Tables koja posloi tablice tako da nema presjecanja veza te Autosize Tables koja
prilagodi veliinu tablice tako da se jasno vidi naziv i svi atributi svake tablice.

4.4.3.2 Veze, kardinalnost i notacije

Tablice se povezuju s obzirom na definirane primarne i vanjske kljueve. Moemo ih povezati i


povlaenjem atributa iz jedne tablice na atribut iz druge tablice. Notacija kojom su prikazane
veze meu tablicama ne moe se promjeniti. Oznaka kljua na vezi prikazuje tablicu u kojoj je
primarni klju a oznaka beskonano je na strani gdje je vanjski klju. Ovo je besplatna (eng.
freeware) verzija alata te su stoga funkcionalnosti za ureivanje modela dosta smanjene. Slika
4.24 prikazuje izgled konceptualnog modela u alatu Toad. Desnim klikom na radnu povrinu
odabirom properties moemo odrediti da li elimo da se prikazuju detalji atributa i primarni
kljuevi. Takoer desnim klikom na bilo koju tablicu moemo pregledavati ili mjenjati njezine
postavke.

35
Slika 4.24 Konceptualni model u alatu Toad

4.5 Usporedba alata

U prethodnom dijelu opisala sam nain rada sa 4 alata s grafikim korisnikim sueljem za
konceptualno modeliranje baze podataka. Moe se primjetiti da je rad u svim alatima vrlo slian.
U tablici Tablica 4.1 prikazala sam neke osnovne znaajke svakog alata prema kojima su alati
usporeeni. Znaajke koje sam izdvojila su operacijski sustav na kojemu se alat moe instalirati,
podrani sustavi za upravljanje bazama podataka, cijena alata, notacije kojima se mogu prikazati
veze na modelima i da li alat ima mogunost kreiranja modela bez spajanja na bazu. Kreiranje
modela iz baze i izrada baze iz modela je isto vrlo bitna znaajka, nisam ju navodila u tablici jer
ju svi alati podravaju.

Iz tablice se moe vidjeti da Navicat i DbSchema alat podravaju Windows, Linux i MAC OS
dok preostala dva alata, Toad i dbForge mogu biti instalirana samo na Windows platformi. Svi
alati podravaju poprilino dosta sustava za upravljanje bazama podataka. Prema cijeni licence
alati su podjednaki. Izdvojila bi dbForge i Toad jer nude i potpuno besplatne verzije, iako sa
smanjenim funkcionalnostima. Navicat i DbSchema imaju vie notacija za prikaz konceptualnog
modela nego preostala dva alata te podravaju offline nain rada. Notacije koje su navedene za
Toad mogu se koristiti samo u komercijalnoj verziji alata. U besplatnoj verziji Toad alata koja je
prikazana u ovom radu, za spajanje tablica koriste se linije sa simbolom kljua i beskonano na
krajevima linije.

36
Tablica 4.1 Znaajke alata za konceptualno modeliranje

Offline
Naziv Podrani Podrane nain rada
OS Cijena licence
alata SUBP notacije (bez
konekcije)
SQL Server,
Postgre SQL, Premium: 799$
Windows, Simple, IE,
MySQL, Enterprise: 199$
Navicat Linux, IDEF1X i DA
Oracle, Standard: 129$
MAC OS UML
MariaDB, Non-commercial: 99$
SQLite
Express: besplatno
KOMERCIJALNO
SQL Server,
Standard: 95,95$
Microsoft Postgre SQL,
dbForge Professional: 199,95$ IDEF1X i IE NE
Windows MySQL,
NEKOMERCIJALNO
Oracle
Standard: 47,95$
Professional: 99,95$
SQL Server,
Postgre SQL,
IE sa
MySQL,
Windows, Commercial: 198$ strelicama, IE
Oracle,
DbSchema Linux, Personal: 127$ bez strelica, DA
SQLite,
MAC OS Academic: 63$ Barker i
Derby, Db2,
IDEF1X
Ingres,
Sybase Ase ...
SQL Server,
Postgre SQL,
Microsoft MySQL, Freeware: besplatno
Toad IDEF1X i IE NE
Windows Oracle, Komercijalno: 592 $
SQLite,
Sybase Ase ...

37
5. Zakljuak

Izradom ovog zavrnog rada prouila sam rad u etiri alata za modeliranje baze podataka.
Suelje tih alata vrlo je intuitivno i jednostavno za nauiti i za osobe koje nisu strunjaci u tom
podruju. Dananji alati osim izrade konceptualnih modela nude iroki spektar ostalih
funkcionalnosti. Uz pomo njih moe se izraditi model, pretvoriti model u logiki model i
izraditi bazu podataka. Preko grafikog suelja mogu se unositi podaci u bazu ili postavljati
upiti. Alati obino nude i mogunost nasuminog generiranja podataka to je korisno za
testiranje baze a skrauje vrijeme koje bi potroili na unos testnih podataka. Razvoj alata sa
grafikim korisnikim sueljem doprinosi broj izradi konceptualnih modela.

Na kraju ovog rada mogu zakljuiti i jo jednom ponoviti da je izrada konceptualnog modela
vrlo bitan korak pri dizajniranju baze podataka. Svaka izrada novog informacijskog sustava
zapoet e sa modeliranjem baze podataka. Iako je modeliranje vrlo mali dio u odnosu na cjeli
informacijski sustav, on je itekako bitan i utjee na kvalitetu budueg sustava. Zbog raznih
pritisaka i kratkih vremenskih rokova, ponekad se neposveti dovoljno vremena na analizu i
dizajn. To moe dovesti do kasnijih problema kao to su nedostatak kljunih podataka za izradu
bitnih izvjetaja ili netoni podaci. Dobro je utroiti vie vremena na dizajn baze podataka jer e
se isplatiti u budunosti.

38
6. Literatura

1. Ani, V., Goldstein, I. (2000). Rjenik stranih rijei. Novi liber.

2. Halpin, T., Morgan, T. (2008). Information Modeling and Relational Databases.


Burlington: Morgan Kaufmann Publishers

3. Hay, D. (1999). A Comparison of data modeling techniques. Dostupno 5.9.2014. na


http://csis.bits-
pilani.ac.in/faculty/goel/course_material/Data%20Warehousing/II%20sem%202004-
05/Assignmet%201/comparison%20of%20DM%20techniqus.pdf

4. Malekovi, M. (2013). Prezentacija sa predavanja: Konceptualno oblikovanje baze


podataka

5. Rabuzin, K. (2011). Uvod u SQL. akovec: Zrinski d.d.

6. Rabuzin, K. (2014). SQL - napredne teme. akovec

7. Simsion, G. (2007). Data Modeling: Theory and Practise. Bradley Beach: Technics
Publications

8. Simsion, G., Witt, G. (2005). Data Modeling Essentials. Dostupno 5.9.2014. na http://uk-
corp.org/Books/Other-Technical/Data%20Modeling%20Essentials%202005.pdf

9. Teorey, T. (1999). Database Modeling & Design. San Francisco: Morgan Kaufmann
Publishers

39

You might also like