Završni rad iz baza podataka

Embed Size (px)

DESCRIPTION

Baze podataka na konceptualni, logicki i fizicki način...

Citation preview

SVEUILITE U ZAGREBU

KOLA ZA UMJETNOST, DIZAJN, GRAFIKU I ODJEU ZABOK,

ZABOKZAVRNI RAD

BAZA PODATAKA kole za umjetnost, dizajn, grafiku i odjeu uz primjenu konceptualnog, logikog i fizikog modela baze podataka

Zabok, svibanj 2013.

Magdalena Malekovi

KOLA ZA UMJETNOST, DIZAJN, GRAFIKU I ODJEU ZABOK,

ZABOKZAVRNI RAD

BAZA PODATAKA kole za umjetnost, dizajn, grafiku i odjeu uz primjenu konceptualnog, logikog i fizikog modela baze podataka

Magdalena MalekoviMentor: Marko Leljak Povjerenstvo za obranu zavrnog rada:

1 predsjednik

2 lan

3 lan

4 lanOcjena rada

Zabok, ...2013.Sadraj

11. Uvod

22. Baza podataka

22.1. Uloga baza podataka, kljuevi i entiteti

32.2. Sustav za upravljanje bazom podataka (DBMS)

63. Programski jezici za baze podataka

63.1. SQL programski jezik

73.2. XML programski jezik

94. Modeliranje baze podataka kole UDIGO

104.1. Konceptualni model baze podataka

104.2. Logiki model baze podataka

114.3. Fiziki model baze podataka

114.4. Primjer koritenja i spajanje baze na web stranicu

145. Zakljuak

15Literatura

1. Uvod

U dananje vrijeme virtualni svijet je sve popularniji. Kad govorimo o virtualnom svijetu moramo razumjeti da se tu radi o raunalima. Danas su mogunosti na raunalima velike i raznolike. Na raunalima moemo ureivati slike, pisati i objavljivati raznorazne lanke, dizajnirati i jo mnogo razliitih stvari. Izmeu ostaloga moemo i izraivati baze podataka koje poslije povezujemo na svoje web stranice. Danas se tehnologija vrlo brzo razvija i nastaju novi programi koji nam proiruju ali i omoguavaju lake koritenje raunala. Kad neto na raunalu izradimo i elimo time privui klijente svoje uratke objavljujemo na webu. Mnoge stranice na Internetu imaju mogunost prijave na stranice, najee su to drutvene mree (Twitter), tvrtke koje prodaju svoje proizvode online (Avon) , banke (Zagrebaka banka) i dr. Kada nam neka stranica ponudi da se prijavimo na nju, mnogo puta se zapitamo zato tvrtka treba podatke, kamo idu ti podaci i kako se zapravo ti podaci alju preko Interneta do odreene tvrtke. Dolazimo do odgovora da se svi podaci koje nam klijenti alju nalaze u bazama podataka koje uva odreeni server na webu. Kada govorimo o bazama podataka treba napomenuti da one postoje u raznim oblicima kako u virtualnim tako i na papiru. Prije nego to je izumljeno raunalo podaci su se spremali u razne arhive i uvali godinama ak i stoljeima, neki podaci se jo i danas uvaju u takvom obliku.

2. Baza podatakaBaze podataka su organizirani skupovi podataka koji su meusobno povezani i slue aplikacijama na razne naine. To su organizirane zbirke podataka koje podatke dre na jednom mjestu. Pristup podacima je kontroliran i podaci su spremljeni bez zalihosti ili redundancije. Temeljni element baze podataka je tablica koju se pohranjuju podaci a sastoji se od redaka i stupaca.

Autor Ratko Vujnovi je u svojoj knjizi SQL i relacijski model baze podataka definirao bazu podataka : Baza podataka je u uem smislu skup podataka spremljenih u obliku slogova, relacija i slino. Podacima ubazi podataka mogue je pristupiti pomou programa, mogue je unositi nove podatke i mjenjati postojee neovisno o unutarnjoj strukturi podataka tj. njihovoj fizikoj implementacijiSlika 2.1. Primjer registracija na besplatni hosting

2.1. Uloga baza podataka, kljuevi i entitetiUloga baze podataka je da se to bre doe do nekog podatka u nekom trenutku. Baze podataka su temelj dananjeg poslovanja. Svaka tvrtka mora voditi evidenciju o svom poslovanju a najbolji nain su upravo baze podataka. Tablica 2.1. prikazuje Primjer jednostavne baze podataka:

Tablica 2.1. Baza podataka dbUcenikIme baze: dbUcenikID_ucenikIme i prezimeRazred

01Mirko Mirkovi4.D

02Marija umiga4.D

03Natalija Tomi4.D

04Ivana Vasiljevi4.D

Ovo je primjer jednostavne baze podataka koja prikazuje podatke o imenima i prezimenima uenika iz nekog razreda. Da bi neku bazu mogli povezati s nekom relacijom trebamo odrediti primarni (glavni) klju s kojim kasnije povezujemo jednu tablicu s drugom. Postoje tri vrste veza: 1:1 (jedan prema jedan), 1:M (jedan prema vie) i M:N (vie prema vie). Tipovi veza se odreuju prema logikom smislu, npr. Primjer tipa veze 1:1 bi bio da mu moe imati jednu enu a ena moe imati samo jednog mu. Primarni (glavni) klju je osnovno polje u tablici koje kontrolira kako se podaci i informacije povezuju s drugim tablicama. Kljune znaajke koje primarno klju mora posjedovati je jedinstvenost i minimalnost. Primarni klju je najee ID i ima definiran tip podataka Autonumber to znai da se atributi u tablici automatski numeriraju. Da bi se jedna tablica povezala s drugom potrebno je da primarni klju iz jedne tablice bude potpuno jednak nekom polju iz druge tablice. Entitet je objekt ili stvar. Entitet moe biti npr. Osoba, stvar. Entiteti se mogu povezivati u veze (relacije) koje su opisane u prolom poglavlju. Entiteti imaju i svoje atribute koji slie da se poblie odredi stanje entiteta. Atribut zapravo predstavlja neki opis entiteta. Uloga entiteta je da opisuje funkciju koju ventitet u njoj oznaava, uloga entiteta se oznaava s glagolom.

2.2. Sustav za upravljanje bazom podataka (DBMS)DBMS (DataBase Menagement System) je sustav za upravljanje bazom podataka koji omoguuje izradu, odravanje i rad s bazom podataka. To je zapravo programska podrka u koju spadaju sljedei programi: Ms Access, MySQL, FileMaker, Oracle, Microsoft SQL Server i dr. Najvanija funkcija sustava je pruanje odrivosti podataka, omoguavanje auriranja podataka i omoguavanje upita o podacima. DBML ukljuuje tri vrste funkcija a to su funkcije za definiranje baze podataka koja se ostvaruje standardnim jezikom za rad s bazama npr SQL, funkcije za manipulaciju i upravljake funkcije koje tite podatke, rade na ouvanju integriteta baze podataka i praenje rada baze podataka. U sljedeih nekoliko redaka opisat u nekoliko programa za upravljanje bazom podataka.

MS Access: Microsoftov program za izradu baza podataka. Dio je programskog paketa Microsoft Office. Ekstenzija ili nastavak je .mdb to znai Microsoft DataBase. Program koristi mogunost relacije tablica i ima mogunost stvaranja tablica, upita, izvjetaja, stranica, makroa i modulaSlika 2.2. Microsoft Access Slika 2.2. prikazuje Microsoft Accessov logo i izgled korisnikog suelja unaprijed definiranog programa. MySQL: Sistem za upravljanje bazom podataka. esto se koristi za projekte otvorenog koda. Sastavni je dio Linux operativnog sustava no postoje i inaice za ostale operativne sustave poput Microsofta. Slika 2.3. MySql

Na slika 2.3. prikazan je MySql-ov logo i korisniko suelje programa phpMyAdmin koji se koristi za kreiranje Sql baza podataka.FileMaker: je Apple-ova cross- platforma za baze podataka. Vrlo je jednostavan i koristi se za osobne i poslovne koristi. Trenutno radi na Microsoftovol i OS X platformi. Slika 2.4. FileMaker Slika 2.4. prikazuje logo programa FileMaker a pro 10 i korisniko suelje FileMaker-a Pro 9.Oracle: je amerika multinacionalna tehnologija sa sjeditem Redwood City-u.Slui za objektno- relacijske baze podataka.

Slika 2.5. Oracle Slika 2.5. Prikazuje logo kompanije Oracle i izgled suelja unaprijed definiranog programa.Microsoft SQL server: sustav za upravljanje relacijskom bazom podataka razvijen od strane Microsofta. Njegova funkcija je pohrana i dohvaanje podataka po nalogu drugih softverskih jedinica bile one na istom raunalu ili se izvodile na nekom drugom raunalu u mrei. Osnovni jezici su T-SQL i ANSI SQL. Slika 2.6. Microsoft SQL Server

Slika 2.6. prikazuje logo Microsoftovog servera za SQL baze podataka i njegovo korisniko suelje3. Programski jezici za baze podataka

Osim to smo u predhodnom poglavlju nabrojali sustave za upravljanje bazama u ovom poglavlju emo upoznati neke jezike za baze podataka. Ti jezici su XML i SQL. Postoji jo puno jezika za baze podataka no u ovom poglavlju u opisati opirnije samo ova dva. Postoje razni jezici za stvaranje programa, stranica i drugih aplikacija vezanih za virtualni svijet. Raunalo sve te jezike pretvara u dvije znamenke a to su 0 i 1 uz pomo prevoditelja koji koristi. Jezike moemo svrstati u objektno orijentirane programske jezike i strojne jezike.

3.1. SQL programski jezikSQL (Structure Query Language) slui za rad s bazom podataka uz pomo RDBMS-a. SQL koristimo za izvoenje zadaa kao to su umetanje, auriranje i brisanje podataka iz baza. Postoje tri skupine naredba a to su naredbe za definiranje i manipuliranje podatcima te kontrolne naredbe. SQL-ove baze imaju mogunost povezivanja na web stranicu te su jedne od najkoritenijih za takve zahvate. Jedan je od napopularnijih jezika za manipulaciju bazom podataka. Standardiziran je preko standarda ANSI i ISO. ANSI je neprofitna organizacija koja nadgleda razvoj standarda u SAD-u a ISO je internacionalna organizacija za standardizaciju tj. globalna organizacija koja brine za raunalne standarde. Jedan je od najpopularnijih jezika za izradu, brisanje, azuriranje i druge operacije s bazom podataka. Taj jezik je sastavio Edgar F. Codda 1970.

Njegov model RDBMS je iroko prihvaen kao osnovni model baze podataka. Neke od najvanijih SQL naredbi su sljedee:

SELECT: ima funkciju dohvaanja podataka iz tablice. UPDATE: funkcija auriranja podataka. DELETE: brie podatke koji nam vie nisu potrebni u tablici. INSERT INTO: pomocu te naredbe unosimo nove podatke u tablicu. CREATE DATABASE: pomou te naredbe kreiramo bazu bazu podataka. CREATE TABLE: kreira novu tablicu. CREATE INDEX: stvara index. DROP INDEX: brie index.Ovo su jedne od najvanijih naredbi koje uvijek koristimo u radu s SQL jeziku3.2. XML programski jezik

XML (EXtensible Markup Language) To je jezik za oznaavanje podataka. Kad su stvarali jezik imali su ideju da stvore jezik koji e biti lako itljiv i ljudima i programima. XML je danas vrlo rairen i koristi se za razne namjene. Jako je slian HTML-u. Primjer XML koda:

ucenike

profesorice

Sutra je ispit!

Epilog: u ovaj dio upisujemo komentare ili neke podsjetnike da se lake snaemo u kodu.

4. Modeliranje baze podataka kole UDIGOModel: predstavlja nain na koji emo prezentirati podatke, a obuhvaa definiranje baze podataka, pravila integriteta podataka i definiranje pravila manipulacije podataka. Slika 4.1. Veza izmeu konceptualnog logikog i fizikog modela baze podataka

Gore prikazana slika 4.1. prikazuje vezu izmeu modela podataka. Mi da bismo modelirali bazu podataka moramo prvo definirati kako e naa baza izgledati, koji e joj biti atributi i koje podatke emo u bazu unositi. Da bismo to uspjeno napravili i isplanirali moramo se posluiti grafikim crteom. Kad dovrimo s grafikim prikazom baze sve tablice koje smo prethodno definirali trebamo povezati relacijama i odrediti atribute tablice te definirati svojstva tih atributa. Takav model se naziva konceptualni model baze podataka. Logiki model je matematiki prikaz baze podataka ija se struktura prikazuje relacijama. Tu odreujemo koliko e pojedina tablica imati redova i polja, kakvom e vezom tablica biti povezana od tri mogue veze.4.1. Konceptualni model baze podatakaKonceptualni model baze podataka je struktura itave web stranice. U tom modelu se opisuju entiteti, tipovi podataka, povezanost i ogranienja. To je zapravo izrada podmodela entiteti-veze za svaki proces u bazi podataka. Opisuje podatke stvarnog svijeta pojmovima objekt, veza i atribut. Model se sastoji od dijagrama i opisa elemenata modela. Slika 4.2. Primjer konceptualne shema

Na slici 4.2. je prikazano konceptualno modeliranje baze podataka koja ima tablice Ucenik i Kolegij. Te dvije tablice povezuje atribut Pismeni ispit.4.2. Logiki model baze podatakaDrugi korak u kreiranju baze je odrediti raspored podataka u tablicama. To odreujemo pomou logikog modela baze podataka. To je pretvorba konceptualnog modela u relacijsku shemu. U logikom modelu baza podataka odreujemo tip veze, koja e tablica biti povezana s kojom i zato. Slika 4.3. Primjer logikog modela baze podataka

Slika 4.3. prikazuje kako su spojene tablice u bazi podataka neke firme. Povezivanjem tablica logiku cjelinu i time postiemo jednostavnije koritenje podataka koji se nalaze u tablici.

4.3. Fiziki model baze podatakaFiziki model podataka je trei po redu i predzadnji u koracima kreiranja baze podataka. Fizikim modelom definiramo prostor i metodu adresiranja slogova. Ima oblik unutarnje sheme baze podataka. Pod prostor mislim na spremanje baze, gdje e se baza nakon zavretka izrade nalaziti. To je opis stvarne fizike organizacije baze podataka. Model ima izgled unutarnje sheme baze.

4.4. Primjer koritenja i spajanje baze na web stranicu

Bazu podataka sam spojila na web stranicu koristei Dreamweaver 8 i MySQL server. Kako bi ih spojila prvo sam morala kreirati bazu podataka koja mi omoguava da mogu unositi na stranicu podatke uenika i spremati ih u tu kreiranu bazu. Baza se zove sudigo. U bazi sudigo imam samo jednu tablicu koja mi je sasvim dovoljna za unos podataka o uenicima. Slika 4.4. Tablica ucenik

Slika 4.4. prikazuje tablicu koja ima 11 polja koji su ujedno i najosnovnji podaci uenika. ID_ucenik je definiran kao primarni klju i ima automatsko brojanje. Ostala polja su definirani kao integer, varchar i date. Nijedno polje ne smije imati nul vrijednost. Nakon kreiranja baze treba sam napraviti php dokument koji me spaja na tu stranicu i trebala sam napraviti 5 podstranice koje mi omoguuju pregled, unos, brisanje i auriranje podataka na odreenu temu te poetnu stranicu koju sam radila iskljuivo u html i css kodu. Na stranici unosPodatakaUcenik.php kreirala sam jedan obrazac koji ima nazive prema nazivima iz moje tablice ucenik u bazi sudigo. Taj obrazac mi omoguava unoenje podataka koji se automatski prenose u moju bazu. Stranica brisanjeUcenik.php slui za brisanje neih uenika koje smo sluajno unesli u bazu. PregledPodatakaUcenik.php je stranica koja mi omoguava da pregledamo popis uenika koji smo unijeli preko obrasca u bazu. Moja baza podataka je za primjenu koju mogu koristiti kole za svoje potrebe. Boje sam birala prema bojama koje koristi kola na svojoj stranici i jer mi se inilo da su mi te boje najprikladnije u opisu moje kole. Dizajn je jednostavan, koriteni su jezici za izradu web stanica HTML i CSS te programski jezici PHP.

Slika4.5. Baza podataka u PhpMyAdmin

Slika 4.6. Index stranica

Slika 4.6. prikazuje moju index stranicu na kojoj bi trebao biti kratki uvod u bazu podataka no ja sam samo stavila probni tekst Lorem ipsum a Slika 5.2. prikazuje auriranje podataka. U toj podstranici stavila sam obrazac isti kao i za unos podataka. Iznad obrasca pise jesam li se uspjela povezati na bazu i server. Slika4.7. Auriranje podataka

5. Zakljuak

Osnovna tema ovog rada bila opisati modele podataka. Postoje tri vrste modela podataka koje definiramo prilikom izrade baze podataka. Jedan model je povezan drugim. U te tri povezane vrste modela baza podataka svrstavamo konceptualni, logiki i fiziki model baze podataka. Konceptualni model je struktura itave baze i opisuje entitete, tipove podataka, povezanost ni ogranienost. Logiki model baze podataka odreuje tip veze i koja e tablica biti povezana s kojom. Fizikim modelom definiramo prostor i metodu adresiranja slogova. Osim to sam trebala objasniti modele baze podataka trebala sam izraditi bazu podataka i spojiti ju na web stranicu. Izradu te baze vrila sam na SQL serveru i spajala sam je sa web stranicom izraenom u Notepadu. Literatura1. Vujnovi, Ratko, SQL i relacijski model podataka, Znak 1995. U Zagrebu. 2. http://www.znanje.org/abc/tutorials/accessMMX/01/Baze_podataka.htm#Arhitektura_baze_podataka3. http://www.lecad.unze.ba/nastava/INFORMATIKA/Info6-Organizacija%20i%20Upravljanje%20Podacima/Info6_3BazePodataka-Prezen.pdf4. http://informatika.efos.hr/wp-content/uploads/2012/04/P9_Baze%20podataka.pdfPrema Pravilniku o izradbi i obrani zavrnoga rada (l.8. i l. 9.),

mentor prihvaa / ne prihvaa Izradbu te za nju predlae / ne predlae

pozitivnu ocjenu.Zabok, ___________ 2013._____________________________________

(Potpis mentora/ice) HYPERLINK "http://hr.wikipedia.org/wiki/SQL" http://hr.wikipedia.org/wiki/SQL