Diplom Ski Rad

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

UNIVERZITET U NOVOM PAZARU

DEPARTMAN ZA RAUNARSKE NAUKE


STUDIJSKI PROGRAM: INFORMATIKA

DIPLOMSKI RAD
iz predmet
Baze podataka

Mentor:

Student:

Dr Saraevi Muzafer

Beisa Saraevi
Br. indeks: 4-212/13

Novi Pazar, 2016.

UNIVERZITET U NOVOM PAZARU


DEPARTMAN ZA RAUNARSKE NAUKE
STUDIJSKI PROGRAM: INFORMATIKA

DIPLOMSKI RAD
Komparativna analiza softvera za modelovanje
baza podataka

Mentor:

Student:

Dr Muzafer Saraevi

Beisa Saraevi
Br. indeks: 4-212/13

Novi Pazar, 2016.


1

Naslov rada
Rezime (na srpskom jeziku, do 150 rei)

Kljune rei: (najvie do pet pojmova ili rei)

1. Uvodna razmatranja
1.1 Pojam baza podataka
Osnovna definicija baze podataka jeste skup organizovanih informacija koje odgovaraju
odredjenoj temi. Ideja baze podataka se koristila I mnogo ranije, pre pojave racunara. U vidu
dokumentacije koja je bila sortirana tako da bi bila sto laksa za upotrebu. Danas se baze podataka
nalaze svuda I olaksavaju upotrebu I organizovanje velikog broja podataka kao I manipulisanje
njima. Baze podataka koriste prodavnice, zanatske radnje, fakulteti, skoro I da ne postoji oblast
u kojoj se ne koriste. Da bismo bolje razumeli baze podataka krenucemo od dva osnovna pojma
koja cine sustinu baze podataka
Podatak predstavlja cinjenicu ili odredjeni zapis on nekom dogadjaju koja dalje moze
biti obradjivanja od strane ljudi ili masina. Podaci se mogu prikupljati obradjivati I cuvati, a u
racunaru se predstavljaju nulom I jedinicom (0, 1)
Informacija- Kao sto smo rekli za podatak da predstavlja cinjenicu , za informacju
mozemo reci da je smisaona cinjenica ili skup podataka poredjanih I predstavljanih na tac nacin
da imaju znacaj i smisao. Onda kada podatak dobije vrednost on postaje informacija. Infomacija
predstavlja obradjen i organizovan podatak.
Svojstva baze podataka
-Obezbedjuje sto manje ponavljanje (redudansu) podataka tako da se podaci unose samo
jednom u bazu
-Nezavisnost- podaci su nezavisni od programa koji ih obradjuje
-Pouzdanost podataka obezbedjuje se upotrebom kontrole pristupa
-Tacnost I integritet podataka
Sistemi za upravljanje bazama podataka - Pristup i koriscenje podacima iz baze
podataka omoguceno je sistemima za upravljanje bazama podataka (SUBP) DBMS Data Base
Management System
Informacioni sistem svake firme ili kompanije omogucava upravljanje podacima koji su
bitni za njeno poslovanje, medjutim problem nastaje kada broj podataka unutar kompanije I u
njenoj okolini postane ogroman te je nemoguce sve podatke I sve uocene detalje smestiti unutar
informacionog sistema. Zato se moramo sluziti selekcijom kako bi se identifikovali I sacuvali
samo relevantni podaci. Time se dolazi do pojma modela baze podataka koji je nastao kao
posledica zahteva za obradom podataka relevantnih za odredjeno podrucje primene.

1.2 Model procesa


Modelovanje procesa, kao i svako drugo modelovanje u nauci i tehnici, je visoko kreativna
delatnost u kojoj analitiar pretstavlja svoje znanje o sistemu koji se modelira, preko koncepata
"modela" (metode) koji se koristi (metode SSA). Zbog toga uspjeno modeliranje zahteva, s
jedne strane dobro poznavanje realnog sistema, a sa druge strane dobro poznavanje metoda i
tehnika koje se koriste. Postoji fiziko i logiko modeliranje procesa.

1.3 Model podataka


Model predstavlja sredstvo pomocu kojeg covek pojednostavljuje problem. Navescu
primer iz svakodnevice, slaganje garderobe u ormar. Garderobu mozemo da sortiramo po istoj
boji ili po nekoj drugoj slicnosti, mozemo sortirati tako sto cemo stvari koje cesce koristimo
staviti negde gde su blize nama, dok one koje ne koristimo tako cesto, bice dalje.
Kao sto smo videli u ovom primeru resavanje problema kroz model, tako i u bazama podataka
postoje tri osnovna modela baza podataka a to su :
-hijerarhijski model podataka
-mreni model podataka
-relacioni model podataka
Hijerarhijski model
Hijerarhijski model je najstariji model baze podataka. Kod hijerarhijskog modela podaci
su smesteni u serije slogova (zapisa). Da bi se uspostavila veza izmedju slogova, kod
hijerarhijskoh modela uspostavlja se relacija Roditelj-naslednik. Ovo je 1:N mapiranje izmedju
slogova koje se realizuje upotrebom stabla. Relacija Roditelj-naslednik je takva da naslednik
moe imati samo jednog roditelja, a roditelj moe imati vie naslednika. Roditelji I naslednici su
povezani vezama koje se zovu pokazivaci. Pravilo relacije Roditelj-naslednik je takvo da ukoliko
elimo da dodjemo do odredjene tabele na niem nivou kreemo se od korena pa nadole kroz
stablo dok ne dodjemo do cilja.
Hijerarhijski model ima dosta nedostataka. Jedan od tih nedostataka je taj to hijerarhijski
model moe da radi samo sa jednostrukim stablima, a ne moe da se bavi povezivanjem
ogranaka ili stvaranjem vietrukih stabala. Zbog ovog problema koristi se redudansa podataka
(viestruko ponavljanje).
Naveemo najprostiji primer iz porodice. Otac je roditelj a djeca su nasljednici, jedan
otac moe imati vie djece i to je jedan osnovni primjer. Meutim sloeniji primjer bi bio kod
hijerarhijske organizacije jednog fakulteta moemo da predstavimo katedru kao roditelja a
profesore kao naslednike, tj jedna katedra moe imati vie profesora ali problem nastaje kada
jedan profesor predaje navie katedri i tada moramo upotrebiti redudansu tj ponavljanje istog
profesora.

Hijerarhijskim modelom moemo dobro prikazati strukturu 1:N dok kod structure N:N
postaju uoljivi nedostaci. Zbog nedostataka Hijerarhijskog modela razvio se Mreni model.

Slika - 1 Primer hijerarhijskog modela

Mreni model
Kod mrenog modela baza podataka omogueno je da jedan zapis ima viestruke
roditelje I naslednike ime se formira mena struktura, a samim tim se izbegava redudansa
podataka koja se morala koristiti u hijerarhijskoj strukturi. Kod mrenog modela podaci su
povezani tako da ne postoji ni osnovni a ni podreeni segmenti. Neke kolone umesto da sadre
podatke, one u ovom modelu mogu da sadre samo pokazivae na druge tabele. Mrenim
modelom moe se verno prikazati relacija N:N. Jedini nedostatak ovog modela je kompleksnost
I teina upotrebe. ine ga dvije osnovne konstrukije a to su zapisi i skupovi. Zapisi sadre polja
dok skupovi definiu odnose jedne naspram drugih.

Slika - 2 Primer mrenog modela

Relacione baze podataka


5

Relacioni model ju najpoznatiji i najrasprostranjeniji model baza podataka. Prvi razlog


zbog ega je poznat jeste to je softverska kompanija tada broj jedan u svijetu koristila u svom
Office paketu aplikaciju pod nazicom Microsoft Acces. Aplikacija je davala odline
mogunosti za normalnu upotrebu relacionog modela baza podataka. Meutim ako bi hteli
robusniju bazu onda bi morali prei na robusnije SQL ili POSTGRESQL baze podataka koje
koriste takoe relacioni model baza podataka bilo da je u pitanju web ili desktop okruenje.
Ono to jo karakteire ovaj model jeste njegova struktura koja je veoma jednostavna,
prihvatljiva svakom korisniku jer relaciona baza podataka predstavlja skup tabela. I same
operacije koje iz skupa datih tabela generiu novu su jednostavne I lako prihvatljive.
Sutina relacionog modela je da se i klase objekata i klase veza izmedju objekata
predstavljaju na jedinstven nain, tj. Preko tabela. Nije od znaaja gde i kako su smetene tabele
RBP se sastoji iz vie tabela. Tabele su povezane kljuevima. Informacija iz RBP se dobija
postavljanjem upita. Relacione baze podataka sastoje se od tabela ili relacija, a ovakav pristup
podacima zasnovan je na relacionoj matematici tj ukoliko red sadrzi n kolona, onda je relacija ntog stepena.
Svaka tabela mora da ima:

Naziv tabele (ime)

Spisak atributa

Vrednosti Atributa (podaci upisani u polja)

1.4 Analiza podataka


Analiza podataka (data minig) je relativno nova i mona tehnologija koju firme
razvijenog sveta koriste u istraivanju trita i otkrivanju potencijalnih klijenata. To je metoda
pretraivanja podataka koja je doivela svoju ekspanziju zahvaljujui razvoju raunarske
tehnologije jer je tek razvitkom brzih raunarskih sistema postalo mogue efikasno pretraivati
velike koliine sirovih informacija. Zahvaljujui iskopavanju podataka, sirovi podaci se
pretvaraju u informacije i znanje i na taj nain su od neprocenjive vrednosti za uspeno
poslovanje firme.
Koliina sirovih podataka koje kompanije pohranjuju u svoje baze podataka poslednjih
godina je drastino porasla. Dnevni upload informacija u baze podataka velikih firmi meri se u
terabajtima. Kako bi ova koliina podataka dobila opipljivu veliinu, rei emo samo da u jedan
terabajt stane dovoljno teksta za oko dva miliona knjiga. Izvori tih informacija mogu biti
razliiti. To mogu biti podaci skupljeni s rauna iz prodavnica, iz telefonskih anketa, sa
popunjenih priznanica, narudbenica, pretplatnih listia... Oni mogu da obuhvataju ime i prezime
osobe, pol, starost, rasu, a mogu biti i potpuno bezlini, kao to je sluaj s raunima iz
prodavnice. Svi ti podaci se svakodnevno slivaju u jednu veliku bazu podataka. Jasno je da bi
6

runo pretraivanje jedne takve baze za bilo kakvom smislenom informacijom predstavljalo
nonu moru. Zbog toga sva ta koliina sirovih podataka bez ikakvog smisla i nema neku
preteranu upotrebnu vrednost, ve ih je neophodno pretvoriti u upotrebljive smernice za dalje
uspeno poslovanje firme.
Zahvaljujui ovakvoj analizi podataka, mogue je predvideti trend trita ili ponaanje
konzumenata i na taj nain obezbediti uspeh firme ili proizvoda. To se postie analizom podataka
iz raznih perspektiva i pronalaenjem veza i odnosa izmeu naizgled nepovezanih informacija.
Zbog svega toga je proces data mininga neraskidivo vezan za raunare. Uz pomo
posebnog softvera, veliki kompjuterski sistemi analiziraju podatke iz razliitih uglova, pronalaze
hipoteze, isprobavaju ih i ue na prethodnim iskustvima. Treba uvek imati u vidu da je softver
samo alatka i da je i dalje neophodno prisustvo ljudskih eksperata koji e dati poslednju re. Ali
u prvoj fazi obrade kompjuterski sistemi su nezamenjivi zbog svoje brzine i nedostatka
predrasuda.
Pre bilo kakve pretrage ili obrade potrebno je pripremiti sirove podatke u bazi, tanije
bazu podataka nije mogue odmah koristiti takvu kakva je. Kako bi se dobili validni rezultati,
bazu je esto neophodno oistiti od duplih ili nepotpunih podataka(proces normalizacije).
Ponekad je neophodno transformisati podatke, izabrati podgrupe podataka ili suziti ukupan broj
promenljivih na razumnu cifru s kojom je mogue raditi. Prilikom pravljenja modela, 80% posla
svodi se na pripremanje baze podataka.
Predvianje proces vaenja pravilnosti iz primera, na osnovu koje se odreuju oekivane
vrednosti traene promenljive.
Klasifikacija proces pronalaenja funkcije na osnovu koje se vri razvrstavanje podataka u
jednu od nekoliko klasa.
Detekcija odnosa proces odreivanja najuticajnije promenljive koja ima efekta na traeni
podatak bez odreivanja tanog oblika ove zavisnosti.
Eksplicitno modeliranje proces pronalaenja eksplicitne formule koja opisuje zavisnosti
izmeu odreenih promenljivih.
Grupisanje proces odreivanja grupa podataka koji su meusobno slini, ali razliiti od ostalih
podataka. U ovom procesu se esto identifikuju i promenljive po kojima se vri najbolje
grupisanje.

2. Modelovanje i dizajn baza podataka


2.1 Konceptualno, semantiko modelovanje baza podataka
Prilikom modelovanja relacionih baza podataka moramo se upoznati sa dva tipa
modelovanja a to su semantiko i logiko modelovanje. Potrebno je znati razliku izmedju ova
dva tipa modelovanja. Kada je u pitanju semantiko modelovanje tada se uzimaju u obzir entiteti,
atributi i veze kao i tehnike pomou kojih definiemo znaenje veza izmedju podataka. Kada je u
pitanju logiko modelovanje tada govorimo o tablicama i nivoima, funkcijskoj zavisnosti i
zavisnosti veza koji zajedno grade logiku reprezentaciju baze podataka..
Konceptualni model je takav model koji daje celovit i neredundantan opis podataka
informacionog sistema. Ukoliko elimo robusnu, trajnu i izdrljivu bazu podataka, izradiemo je
upravo u ovom modelu. Konceptualni model nam prua precizan pogled na entitete I veze medju
njima. Konceptualni model podataka pre izrade baze mora uzeti u obzir i neke aspekte iz
budunosti kao npr. to da mora predviteti kakva pitanja e postaviti korisnici baze kao i tanu I
detaljnu analizu zadatka kojim e se ta baza baviti.
Za tano definisanje podataka kao i veza izmedju njih koristi se tehnika E-R dijagrama
(engl. entity-relationship, u prevodu: entiteti-veze). E-R model postamtra svet kroz entitete, veze
izmedju entiteta, atribute entiteta i veze izmedju njih. Model entitet-veza (eng. entityrelationship) poceo je da se koristi 70ih godina XX veka. Danas alternativu ovom modelu
predstavlja UML (Unified Modeling Language). Medjutim ovaj formalizam je razvijen za
potrebe objektno-orijentisanog programiranja pa se prilagodjava za izradu tih baza podataka dok
se za izradu relacionih baza i dalje koristi model entitet-veza.
Prilikom prokupljanja podataka za formiranje baze podataka neohodno je da razmatramo
sledee 3 klase objekata , a to su: entiteti, atributi i veze izmedju entiteta. Ukratko u objasniti
ta svaki od ovih pojmova predstavlja iako na prvi pogled izgleda veoma jednostavno razlikovati
ih.
Osnovni E-R konstruktori
Entiteti su osnovni elementi ili objekti nae baze o kojima prikupljamo informacije i
kojima dodeljujemo neke karakteristike. Primeri entiteta su mesto, dogadjaj, osoba, student,
fakultet ili bilo sta drugo sto moemo opisati podacima i to predstavlja neku logiku osnovu za
formiranje tablica. Tako npr. u tablici Mesto, svaki red bi predstavljao po jedno naselje.
U ER modelu entitet se prikazuje pravougaonikom

Slika - 3 Entitet izradjen u MySQL Workbench

Atributi slue za detaljan opis entiteta. Dovoljno je da obratimo panju na samo


prikupljanje podataka kao npr. prilikom prikupljanja podataka o osobi, raspitaemo se za datum
rodjenja, pol, svi ovi detaljniji podaci entiteta osoba se nazivaju atributima. Postoje dve vrste
atributa, a to su identifikatori i deskriptori. Identifikatori slue identifikaciju instance entiteta i
zovu se jos i kljunim atributima. Deskriptori se koriste za odredjivanje vrednosti atributa koji
mogu biti zajedniki veem broju instance entiteta, a zovu se nekljuni atributi. Primeri kljunih
atributa su OIB i ifra, dok su primeri nekljunih atributa ime, prezime, dob i pol.
U navedenom primeru moemo jasno uoiti atribut identifikator pored kog se nalazi
klju. U nastavku teksta umesto identifikator, koristiu rec primarni klju.

Slika - 4 Primer primarnog kljua

Atributi mogu biti jednostavni i sloeni. Jednostavni atributi su takvi atributi koji se ne
mogu podeliti na vie manjih atributa,a sloeni atributi su atributi koji se mogu podeliti na vie
jednostavnijih kao npr. datum rodjenja koji moemo podeliti na dan, mesec i godinu. Korienje
ovakve podele atributa uglavnom nije potrebno, a moe biti korisno za statistiku analizu.
Veze
Medjusoban odnos izmedju entiteta opisuje se vezama. Postoji nekoliko modela veza.
Prema povezanosti izmedju entiteta razlikujemo jedan na jedan, jedan na vie i vezi vie na vie.
Broj entiteta koji uestvuju u vezi predstavlja stepen entiteta. Pa u odnosu na broj entiteta u vezi
razlikujemo unarne, binarne i veze vieg stepena.
Povezanost entiteta oznaava koliko se entiteta sa jedne strane pojavljuje na drugoj strain.
Za primer moemo uzeti knjigu i studenta gde studet moe imati jednu knjigu ili obrnuto jedna
knjiga moe biti u vasnitvu jednog studenta zatim jedan student moe imati vie knjiga ali je
svaka knjiga u vlasnitvu samo jednog studenta i trei stepen veze gde vie gde student moe
posedovati vie knjiga ali svaka knjiga moe imati vise vlasnika.
Da bi se veze uspostavile potrebno je da upotrebimo primarni klju koji smo ranije
pomenuli objanjavajui attribute. Primarni klju treba upotrebiti na sledei nain: U tipu veze
jedan-na-jedan, primarni klju jednog entiteta se ukljuuje u drugi entitet i tada se zove vanjski
klju jer se nalazi na drugom entitetu ali je ipak klju odredjenog entiteta. Kada je u pitanju veza
jedan-na-vie tada se primarni klju nalazi na strain jednog entiteta dok e na strain vie uvek
imati vrednost vanjskog entiteta. U tipu veze vie-na-vie moramo izvaditi primarne kljueve
oba entiteta i smestiti ih u novu tablicu u koju takodje moemo dodati nove attribute ukoliko ih
ta veza zahteva.
9

Napredni E-R konstruktori


Ukoliko nam ove tri osnovne klase nisu dovoljne, postoje i napredni E-R konstruktori.
Napredni E-R konstruktori su generalizacija i agregacija.
Generalizacija je proces kod kojeg se uzima nekoliko slinih tipova objekata i zatim se
od njih kreira superklasa ili generiki tip (nadtip). Primer generalizacije je jednostavan:
Konobari, Kuvari, istai su Zaposleni. Podtipovi mogu imati i neke svoje attribute ali moraju
nasledjivati atribute nadtipa.
Specijalizacija predstavlja obrnuti proces generalizacije.
Na sledeoj slici objasnicu oba procesa

Slika - 5 Generalizacija i specijalizacija

Agregacija opisuje vezu izmedju dva entiteta. Jednostavan primer agregacije su sastavni
deo npr. automobile gde svi delovi predstavljaju zaseban entitet ali su svi i dalje deo entiteta
Automobil. Dok kod generalizacije entitet nieg stepena proiruje entitet vieg stepena, kod
agregacije to nije sluaj jer entiteti i vieg i nieg stepena mogu imati svoje attribute koji ne
moraju biti povezani ni isti.
ER dijagrami, scenario realnog sistema pomou ERD-a
Da bismo kreirali ispravan ER dijagram i da bi baza podataka bila ispravna potrebno je
da znamo entitete, atribute i veze. Prikazau scenario ER dijagrama za auto servis, a posle
dijagrama u izvui bitne elemente za izradu ovog ER dijagrama.
Usluge koje servis prua muterijama su popravke sa i bez ugradnje svojih autodelova,
kao i prodaja autodelova. U servisu treba uvati podatke o popravkama, kako bi se svaki put
kada auto doe u servis znalo sta je radjeno na autu do tada. Takodje je bitna informacija o tome

10

Slika - 6 Scenario za modelovanje realnog sistema pomou ERD-a

koliko je koji muterija redovan, na osnovu ega bi dobio popust. Jedan muterija moe biti
vlasnik vie automobila koji se popravljaju i odravaju u tom servisu. Bitna je i evidencija zaliha
autodelova.

Svaka USLUGA moe biti pruena prilikom jedne ili vie POPRAVKI. SvakaPOPRAVKA mora
biti od jedne i samo jedneUSLUGE
Svaka POPRAVKA mora biti uraena na jednom i samo jednom AUTOMOBILU. Svaki
AUTOMOBIL moe imati jednu ili vie POPRAVKI
UID popravke ine Sifra usluge, Sifra automobila, Datum i Vreme popravke
Svaki AUTODEO moe biti prodan jednom ili vie puta. Svaki PRODANI AUTODEO mora biti
od jednog i samo jednog AUTODELA
Svaki PRODANI AUTODIO mora biti prodan jednom i samo jednom MUTERIJI. Svaki
MUTERIJA moe KUPITI jedan ili vie PRODANIH AUTODELOVA
UID prodanog dela ine ifra autodela, ifra automobila, Datum i Redni broj prodanog dela

11

Svaki AUTOMOBIL mora pripadati jednom i samo jednom MUTERIJI. Svaki MUTERIJA
moe biti vlasnik jednog ili vie AUTOMOBILA
Svaki AUTOMOBIL moe imati jednu i samo jednu REGISTRACIJU. Svaka REGISTRACIJA
mora pripadati jednom i samo jednom AUTOMOBILU
Svaki AUTOMOBIL mora pripadati jednom i samo jednom MODELU
Svaki MODEL moe imati jedan ili vie AUTOMOBILA
Svaki MODEL mora pripadati jednoj i samo jednoj MARKI. Svaka MARKA moe imati jedan
ili vie MODELA.

2.2 Relacioni model


Relacioni model baza podataka je najraspotranjeniji najprimenjivanija. Struktura
relacionog modela je pristupana korisnicima jer predstavlja skup tabela.

12

You might also like