1. UVOD
Postoji mnogo alata za modeliranje baza podataka, no u ovom će se radu usporediti, analizirati i pregledati samo sljedeća tri: MySQL Workbench, Open ModelSphere i Dia.
MySQL Workbench je jedinstveni vizualni alat za arhitekte, developere i administratore baza podataka (MySQL, 2017) . Pruža mogućnost modeliranja podataka i razvoja SQL-a te nudi opsežne administrativne alate za konfiguraciju servera, korisničku administraciju i mnoge druge. Dostupan je za Windows, Linux i Mac OS X platforme.
Open ModelSphere je open-source alat za UML modeliranje te modeliranje podataka i procesa. Dizajniran da bude neovisan o platformi, 100 % je napisan u Javi. U relacijskom modeliranju (model entiteta i veza) Open ModelSphere pokriva konceptualno, logično i fizičko modeliranje, omogućuje grafičku vizualizaciju arhitekture baza podataka te samim time njihovo jednostavno modificiranje. Također nudi mogućnost sinkronizacije trenutne baze podataka s modificiranim modelom.
Dia je besplatan, open-source softver za jednostavnu izradu dijagrama opće namjene. Koristi SDI ( „Single Document Interface“ ) budući da nije u mogućnosti istovremeno prikazivati više od jednog dokumenta po prozoru. Dia nudi nekoliko paketa s oblicima za različite potrebe (dijagram entiteti-veze, dijagram toka podataka, mrežni dijagram, kružni dijagram...) i nema ograničenja za kombiniranje simbola iz različitih kategorija i paketa. Dijagrami se spremaju u XML formatu, a mogu se izvoziti u SVG, PNG, JPEG, WMF i drugima.
U ovom radu pregledat ćemo što se do sada radilo i istraživalo na ovom području i do kakvih su zaključaka došli kritičari. Na praktičnom primjeru usporedit ćemo tri gore navedena alata, vidjet ćemo kako se koji alat ponaša, koje su mu prednosti i mane te, konačno, iznijeti valjan zaključak.
2. PREGLED ISTRAŽIVANJA
2. 1 MySQL Workbench
Postoje mnoge recenzije i osvrti na ovaj alat za modeliranje baza podataka. Osvrnut ćemo se na one koje su nam ostavile najveći utisak, te za koje smatramo da su vrijedne spomena.
Prema(Evans, 2009) , s MySQL Workbenchom bit ćete presretni. On nudi velik broj značajki i sveukupna kvaliteta programa je vrlo dobra. Na početnom zaslonu ima opcije za izradu više dijagrama unutar pojedinog modela, jednostavan pristup svim tablicama, korisnicima i drugom. Alat koristi standardnu grafiku, pravila i notacije za crtanje dijagrama baza podataka. Dodavanje i uređivanje tablica radi točno onako kako biste i očekivali. Za razliku od drugih programa iste vrste, uređivanje svojstava nekog objekta ne izvodi se na posebnom malom prozoru koji iskoči čim odaberemo taj objekt, već se sve uređuje u istom prozoru, na panelu ispod dijagrama, odnosno na dnu prozora. Jedina mana ovog alata je što je spor. Tri do pet sekundi ne zvuči kao puno vremena za otvaranje panela za uređivanje, ali kada bi se korisnik našao pred velikom bazom podataka i velikim modelom, te morao stalno mijenjati i uređivati različite objekte, izgubio bi mnogo dragocjenog vremena.
MySQL Workbench (MW) entitet gleda i tretira kao tablicu, a dijagram entiteta i veza (Entity Relationship Diagram – ERD) gleda kao poboljšani dijagram entiteta i veza (Enhanced Entity Relationship Diagram – EER) (Letkowski, 2015) . Dodavanje entiteta u MW model vrlo je jednostavno. Treba pokrenuti MW, kreirati novi EER dijagram, dodati entitete i definirati im atribute. Elementi dijagrama mogu se uređivati tako da se dvaput klikne na njih, ili da se jednom klikne i nakon toga pritisne kombinacija tipki CTRL+E. Mana ovog alata je da omogućava samo dva tipa veze, 1:mnogo i 1:1. Zanimljivo je da pokušaj kreiranja veze mnogo:mnogo MW odmah prepozna kao agregaciju, te automatski stvara novu tablicu, i dvije 1:mnogo veze. Također, MW može ponovno stvoriti modele koristeći reverse software engineering procedure. Sve što treba je pokrenuti novu instancu MW-a i odabrati Models – Create EER Model from Database. MW tada nudi niz prozora te omogućava korisniku da se poveže na server i odabere bazu podataka.
MySQL Administrator bio je jedan od češće korištenih alata za modeliranje baza podataka, sve dok se nije pojavio jači i efektivniji MySQL Workbench (Wallen, 2010) . MW je daleko najbolji alat za modeliranje baza podataka koji trenutno postoji. Može se reći da je MW ostvarenje sna za svakog iskusnog programera i developera. Može zadovoljiti potrebe čak i najzahtjevnijih developera i dizajnera baza podataka, nudeći odlične grafičke i tehnološke alate. Trebalo bi se razmotriti uvođenje MySQL Workbencha u edukacijske programe, budući da nudi skoro potpunu podršku za inženjering baza podataka, izuzevši nemogućnost iscrtavanja mnogo:mnogo veze, no umjesto takve vrste veze može se koristiti agregativni tip entiteta (tzv. agregacija).
Otkad je alat predstavljen na tržištu, MySQL Workbench postao je vrlo popularan. Trenutno je drugi po redu preuzetih alata s MySQL web-stranice, s više od 250 000 preuzimanja mjesečno(Wikipedia, 2017) .
Je li MySQL Workbench savršen? Naravno da nije, ali je dovoljno dobar. Radi sve što treba raditi, a uz to je besplatan. Alat se preporučuje svima koji se bave ozbiljnim poslom s MySQL bazama podataka.
2. 2 Open ModelSphere
Open ModelSphere odličan je alat za modeliranje projekata raznih veličina. Mogu se dizajnirati modeli podataka (Entity Relationship Diagram - ERD), modeli poslovnih procesa (Business Process Model - BPM) i UML modeli(Pentucci, 2017) . Što se tiče modela entiteta i veza, može se birati između konceptualnog modela, logičkog i fizičkog. Alat je u potpunosti baziran na Javi, tako da je potrebno imati instaliran JRE kako bi se alat mogao koristiti.
Korisničko sučelje nije raznobojno i lijepo kao kod drugih proizvoda, recimo MySQL Workbencha, ali jača strana ovog alata je činjenica da je besplatan i nema limit na ispis, izvoz ni reverse-engineering. Program sam po sebi ima mali broj mana u odnosu na velik broj prednosti, ali jedna mana bila bi mogućnost instalacije samo na Windows platformama. Čak i uz to, zagarantirano je povećanje produktivnosti i veća kvaliteta projekata, te je time Open ModelSphere alat koji svaki developer i analitičar mora imati na svom računalu koje radi na OS Microsoft Windows.
Open ModelSphere ima vrlo jednostavnu instalaciju, sve što treba je odgovoriti na nekoliko upita i instalacija ide kao kod bilo kojeg drugog Windows programa. Alat nudi sve osnovne funkcionalnosti koje su korisniku potrebne za modeliranje podataka (The Database Geek,2009) . Nije zasnovan na bazi podataka, tako da se ne preporučuje korisnicima koji vole ili žele imati bazu podataka koja sadrži sve njihove modele. Open ModelSphere korisnicima nudi sve nadohvat ruke, desnim klikom miša. Ako želite dodati atribut nekom entitetu, pritisnite desni klik mišem, odaberite dodaj, nakon toga odaberite atribut, i upišite potrebne informacije. Za dodavanje novog atributa postupak treba ponoviti. Nažalost, taj se postupak može pretvoriti u pravo mučenje za veliki model podataka, budući da se za svaki entitet i za svaki atribut treba po tri-četiri puta kliknuti i upisivati informacije. Sve u svemu, alat je prilično zgodan, pametan i intuitivan, a nudi i vrlo opširnu HTML dokumentaciju.
Ako tražite alat za modeliranje podataka, a uz to mislite da će vam trebati i za BPM i UML, ovo je alat za vas. Besplatan je, open-source, i vrlo jednostavan za korištenje.
2. 3 Dia
Dia je besplatan program za stvaranje, odnosno crtanje dijagrama, a moguće ga je instalirati na GNU/Linux, Mac OS X i Windows platforme(McCann, 2013) . Dia je inspiriran komercijalnim Windows alatom MS Visio, iako se više koristi za neformalne projekte. Može se koristiti za izradu više vrsta dijagrama, kao što su dijagrami toka podataka, dijagrami entiteta i veza, UML dijagrami, kružni dijagrami i mnogi drugi(Williams, 2014) . Također je moguće dodati nove pakete s oblicima tako da se napiše jednostavan XML kod. Dijagrami se mogu učitavati i spremati u XML formatu, a izvoziti u raznim drugima, kao što su EPS, SVG, XFIG, WMF i PNG.
Dia, kao alat za izradu dijagrama, ne može biti jednostavniji. Izgled je vrlo elementaran, alat je lagan za korištenje i spreman odmah nakon instalacije. S funkcionalnostima je limitiran na crtanje topologije dijagrama, ali sve ponuđeno je potpuno besplatno(PCWDLD, 2017). Kao i svaki drugi, i ovaj alat ima nekoliko mana. Jedna od njih bila bi loša kvaliteta pri izvozu projekata, u smislu da kod kompleksnih dijagrama i projekata dođe do gubitka detalja i rezultati su nezgrapni. Također, pri crtanju se znaju javiti grafičke nepravilnosti, što može biti vrlo naporno kada se one iznova pokušavaju popraviti(A. 2016) .
Prema izvorima s interneta, jedan profesor informacijske tehnologije rekao je da Dia, alat za crtanje dijagrama, koristi za svoje osobne projekte, a ne samo za posao, te misli da ga je puno jednostavnije koristiti od MS Visia, s kojim ga najčešće uspoređuju. Preporučio je ovaj alat svojim studentima, budući da je njime vrlo jednostavno izraditi dijagrame entiteta i veza(Grmayer, 2017) . Tvrdi da mu se sviđaju funkcionalnosti koje Dia nudi, kao što je izvoz u različitim formatima, što mu je vrlo korisno kada slaže zadatke ili ispite svojim studentima. Ono što se njegovim studentima sviđa je činjenica da je alat moguće instalirati na različite platforme kao što su Windows, Linux i Mac OS X, što im omogućava da ga instaliraju na svoje osobno računalo i međusobno razmjenjuju .dia projekte. Neki alati koriste gotove predloške koji kreiraju gotovo cijeli dijagram, no takve je teško modificirati. Dia nudi veću fleksibilnost, ali ima nekoliko nedostataka i uzima malo više vremena. Jedan problem na koji se često nailazi, koji ima čak i MS Visio, je premalo poveznih točaka na entitetu. S programom Dia nema tih problema, entitet se može povezati bilo gdje na rubu oblika.
Dia možda nije grafički raskošan program kao MS Visio ili MySQL Workbench, ali štedi memoriju i resurse sustava, te se bez muke mogu nacrtati detaljni dijagrami za skoro svačije potrebe(Burgess, 2008) . „I would just like to say that coming from Visio, I am really liking Dia.“(Lewis, 2013)
3. ISTRAŽIVANJE
Nakon pregleda alata za modeliranje baza podataka, na vlastitom primjeru isprobali smo svaki od alata, te ih pomno i detaljno analizirali, kako bi se u konačnici mogla napraviti valjana usporedba (slika 1, slika 3, slika 4). Istraživanje je započelo radom u MySQL Workbenchu, nastavljeno s Open ModelSphere, a završeno s alatom Dia. Za testiranje svih alata izrađen je jedinstveni model podataka koji prikazuje radnike i njihove organizacijske jedinice, kao i radna mjesta na kojima se oni nalaze.
3. 1 MySQL Workbench
MySQL Workbench (MW) dizajnerski je najljepši, ali mu je sučelje najzahtjevnije. U kartici Model – object notation/relationship notation može se birati izgled dijagrama, odnosno entiteta i veza. Kako bi se uspješno riješio problem, odnosno stvorila baza podataka, prvo što treba je povezati se na server, s čime smo imali malih problema. Nakon 20-ak minuta povezali smo se na Wamp server te u MW-u stvorili bazu podataka. Također, postupak izrade novog modela bio je u početku prilično nejasan, tako da smo morali pomoć tražiti na internetu. Nakon uspješnog stvaranja svih tablica (entiteta) i njihovih atributa, problem je nastao kod stvaranja veza. MW na nejasan način prikazuje vrste veza, tako da treba dosta toga pročitati i proučiti da bi se shvatilo na koji se način pojedine veze implementiraju. Veza 1:mnogo koja se implementira vanjskim ključem se u alatu prikazuje isprekidanom crtom, kod implementacije slabim entitetom 1:mnogo veza se prikazuje punom crtom, dok se za agregaciju mora koristiti mnogo:mnogo veza te se automatski pojavljuje nova tablica.
3. 2 Open ModelSphere
Open ModelSphere, u odnosu na MySQL Workbench, manje pozornosti usmjeruje na dizajn. On nudi jednostavan i klasičan izgled sučelja, te u lijevom panelu preglednost svih entiteta, atributa i veza. Odmah pri otvaranju programa pojavi se prozor za stvaranje novog modela. Može se birati između modela podataka ( Data model ), poslovnog modela ( Business model ) i UML-a. Nakon odabira modela podataka biramo želimo li konceptualni model, logički ili fizički. Nakon malo istraživanja otkrili smo glavne razlike među pojedinim modelima(1keydata, 2017) , a to se može vidjeti i u tablici 1, kao i u vlastitom primjeru na slici 2.
Značajka | Konceptualni | Logički | Fizički |
---|---|---|---|
Naziv entiteta | + | + | + |
Veze među entitetima | + | + | + |
Atributi | + | + | + |
Primarni ključevi | + | + | |
Vanjski ključevi | + | ||
Tip podataka u stupcu | + | + |
Izvor: 1keydata – Data Modeling (2017)
Odlučili smo odabrati fizički model kako bismo vidjeli što više detalja svojih entiteta i atributa. Posljednji korak je odabrati izgled veza na modelu. Izrada tablica i dodavanje stupaca vrlo je jednostavna, dok je određivanje primarnog ključa malo teže shvatiti iz prve. Ono što treba je kliknuti na ikonu ključa u alatnoj traci, a zatim kliknuti na stupac (atribut) koji želimo da nam je primarni ključ(Open ModelSphere, 2016) . Vanjski ključ se automatski napravi kada se dvije tablice povežu s valjanim brojnostima, no on nama nije vidljiv. Ono što treba je ići u karticu To o l s – data model – generate foreign keys kako bi se svi vanjski ključevi prikazali u odgovarajućim tablicama. Najviše problema mogla bi zadavati agregacija i njen primarni ključ, koji je složen. Ono što treba je s obje strane agregacije brojnost veze učiniti ovisnom (brojnost se onda podcrta), ići u svojstva primarnog ključa, te u traci Dependencies povezati ključeve. Nakon toga treba u kartici To o l s generirati vanjske ključeve, čime se zapravo, na vrlo neobičan način, generira složeni primarni ključ. Ono što za kraj želimo spomenuti, a gledamo na to kao na jako veliku manu, je što Open ModelSphere podržava samo neke verzije Jave, minimalno Java 6 update 30, a maksimalno Java 7. Problem je u tome što je trenutno posljednja verzija Java 8 update 151, te se Javu tada mora vratiti u nižu verziju (engl. downgrade ) kako bi Open ModelSphere radio.
3. 3 Dia
Dia, Diagram Editor, bez ikakve sumnje najjednostavniji je alat za izradu modela entiteta i veza. Ima vrlo jednostavno sučelje, pregledno se vidi svaka funkcionalnost i čemu ona služi, a za izradu modela entiteta i veza sve što treba je u lijevom panelu odabrati ER paket oblika. Dia nema mogućnost izrade baze podataka, već se dijagram crta ručno ponuđenim oblicima. Koriste se općeprihvaćeni oblici, kao npr. pravokutnik za entitet, oval za atribut, romb za vezu i drugo. Svim se oblicima može mijenjati izgled, boja, debljina i slično, a za crtanje veze može se birati i izgled, odnosno vrsta linije.
4. REZULTATI
Tablica 2 prikazuje izdvojene funkcionalnosti analiziranih alata te osobni dojam o njima, odnosno koja značajka najbolje radi ili izgleda u kojem alatu. Po tome zaključujemo da je MySQL Workbench alat koji nudi najviše značajki, vizualno je najljepši te može zadovoljiti i najzahtjevnije potrebe developera. Osobno preporučujemo Open ModelSphere, iako nema sve najnovije značajke ni najglamurozniji izgled sučelja. Nudi skoro sve što i MySQL Workbench, no na mnogo jednostavniji način, pogotovo za početnike. Dia je alat koji se prije može usporediti s MS Visio nego s MySQL Workbenchom i Open ModelSphereom. Dia ne nudi mogućnost izrade baze podataka, te je po tom pitanju najlošiji od ova tri alata.
5. ZAKLJUČAK
MySQL Workbench, Open ModelSphere i Dia su alati za modeliranje baza podataka. Pregledom svih alata i pregledom istraživanja može se naći velika količina informacija, no najbolji način učenja je samostalna analiza i, u konačnici, usporedba početnih i konačno dobivenih rezultata. Na vlastitom primjeru isprobana su sva tri alata za modeliranje baza podataka, te zaključujemo da sva tri alata imaju svoje prednosti i mane, stoga je na izbor korisniku koji će alat odabrati za daljnje korištenje. Kao osobno mišljenje može se istaknuti da je MySQL Workbench vizualno najljepši, ali i najzahtjevniji; Open ModelSphere ima slične značajke kao i MySQL Workbench, ali ih prikazuje na mnogo jednostavniji način; dok je Dia najlošiji od ova tri alata, budući da ne nudi opciju izrade baze podataka, čime je u velikom gubitku. Plan za budući rad je međusobna usporedba još nekoliko alata te svakako povećanje broja i vrsta modela podataka za izradu, kako bi usporedba i konačna ocjena bila što kvalitetnija. Samo tako ćemo kao korisnici moći znati točno koji nam alat treba za određene situacije, odnosno koje značajke alat posjeduje koje su nama kao korisniku potrebne.