baze podataka m.varga moja skripta

Upload: studenticamaja

Post on 15-Jul-2015

894 views

Category:

Documents


3 download

TRANSCRIPT

Informacijski sustav je sustav koji prikuplja, pohranjuje, uva, obrauje i isporuuje informacije vane za neku organizaciju (bilo da je rije o potrebama ustanova ili pojedinaca). Informacijski sustav omoguuje da informacije budu dostupne korisnicima ili upraviteljima odreenih organizacija. Suvremeni organizacijski sustavi koriste informacijsku tehnologiju. Da bi informacija ostala sauvana, treba je materijalizirati, odnosno zapisati na nekom mediju. Takva zapisana informacija u obliku prepoznatljivih znakova naziva se podatak. Dakle, informacija je protumaeni podatak. Informacijski sustav djeluje unutar nekog poslovnog sustava te omoguava komunikaciju unutar neke ustanove ili organizacije, ali i poslovnog sustava sa okolinom. Informacije, bilo unutarnje ili vanjske, predstavljaju podlogu za donoenje odreene odluke. Informacijski sustav tako daje podlogu za kvalitetnije i bre odluivanje. Postoje tri kategorije inf. sustava s obzirom na vrstu podataka. 1. Transakcijski informacijski sustav prua potporu dnevnom obavljanju poslovnih aktivnosti. Priije se nazivao elektronika obrada podataka. 2. Upravljaki informacijski sustav daje pregledne informacije iz transakcijskog inf. sustava. 3. Sustav za potporu odluivanja obrauje postojee informacije da i proizveo nove informacije potrebne za proces odluivanja. Informacijski sustav pripada polovnom modelu ali se sastoji od 3 podmodela: 1. Model podataka definira to su podaci inf. sustava, odnosno nain oblikovanja podataka te nain rukovanja podacima. Postoji skup definicija koji je kljuan za model podataka i dijeli se na 3 klase-

definicija svojstava strukture podataka (kako su podaci strukturirani ili rasporeeni) definicije operacija (koje operacije ili radnje se mogu vriti sa podacima u sustavu)

- definicije ogranienja (tko smije i kojim podacima iz sustava se sluiti9 2. Model procesa definira kako se prikupljaju, obrauju i distributiraju podaci. Takoer je vezan uz dinamiku obrade podataka- koji podaci i kada e se obraditi. 3. Model izvritelja definira tko izvrava koje poslove u sustavu- tko obrauje podatke, gdje se obrauju, uz koju tehniku i programsku opremu (kako je organiziran hardware, software, lifeware, orgware)1

Elementarnu informaciju predstavlja n-torka ; to se interpretira kao odreeno obiljee (naziv obiljea- broj registracije) objekta (naziv objekta- auto mercedes) u odreenom trenutku (vrijeme- 1.1. do 31.12.) ima svoju vrijednost (vrijednost obiljea- valjane tehnike uvjete). Vrijeme se esto isputa jer se obiljea obrauju i pohranjaju uglavnom za prethodna razdoblja zadnja plaa, zadnja registracija. Aspekt vremena se ne mijenja pa se zbg toga esto ono izostavi, primjerice datum roenja neke osobe je uvijek isti. Modeli s potpuno kategoriziranim podacima su oni kod kojih svaki podatak spada u neku kategoriju. Kategorije se unaprijed odreuju i one se ne mijenjaju nego se podaci grupiraju samo u one koje su doputene. On se najee koristi u poslovnim sustavima jer nakon to se nau prikladne kategorije one dobivaju i svoje podkategorije, kaznena djela policijske uprave imaju posebnu kategoriju krae, u toj kategoriji se mogu nalaaziti kategorije, vrsta krae, mjest krae, vrijeme krae. Komponente formalnog modela podataka su: - komponenete za opis statistike stukture podataka - skup komponenta za opis ogranienja podataka - skup operatera kojima se podaci mijenjaju Formalni modeli podataka nalaze se na vie razina apstrakcije (konceptualna, logika, fizika) zbog potrebe razdvajanja problema s kojima se moemo susresti pri definiranju podataka, pri fizikom razmjetaju podataka Konceptualni model se sastoji od entiteta (objekt), veze meu njima (odnos), atributa (obiljea), vrijednosti atributa. Omoguuje da tehnologija spremanja podataka ne utjee na koritenje podataka. To isto omoguava i logiki/implementacijski model koji se sastoji od logikog sloga (n-torka, redak), polja (stupac), veze meu slogovima/stupcima. Fiziki model se sastoji od sloga, adresiranja slogova i grupiranja slogova i on zapravo predstavlja nain razmjetavanja podataka i sluenja istima. Baza podataka je skup meusobno ovisnih podataka, spremljenih bez zalihosti, koji se obrauju u nekoj organizaciji. Funkcije sustava za upravljanje bazom podataka (SUBP- programska podrka za rad sa bazom podataka): - funk. za definiranje baze podataka- ostvaruju se standardnim jezikom za rad s bazama poput SQL-a, ili zasebnim jezikom DLL kod mrenih i hijerarhijskih baza.2

- funk. za manipulaciju podacima u bazi- takoer se ostvaruju programskim jezikom. - upravljake funkcije (funkcije sigurnosti, funk. ouvanja integriteta baze, zatita od oteenja stvaranjem kopija- backup) Shema baze podataka sadri opis baze podataka. ANSI/SPARC je prikazao konceptualnu shemu baze podataka kao potpuni opis modela itave baze, vanjsku shemu ili korisniki pregled je opis samo jednog logikog dijela, a unutarnja shema (fizika) je opis fizikih podataka. Fizika nezavisnost podataka je postignuta ako pri promjeni unutarnje (fizike) sheme nije potrebno mijenjati aplikacijske programe. Logika nezavisnost je postignuta ako pri promjeni konceptualne sheme nije potrebno mijenjati aplikacijske programe. Tee je postignuti logiku nezavisnost podataka. Sustav za upravljanje bazom podataka funkcionira na naina da projektanta definira koncept sheme, procesor konceptualne sheme to prenosi u rjenik podataka, projektant aplikacije definira vanjsku shemu, nju interpretira procesor vanjske sheme i prenosi u rjenik podataka Administrator baze definira unutarnju shemu a nju interpretira procesor unutarnje sheme i prenosi u rjenik podataka. Sve 3 sheme se povezuju putem rjenika podataka te se na kraju zahtjev prosljeuje sustavu za upravljanje fizikim prostorom koji pristupa podacima na SEKUNDARNOJ memoriji. ivotni ciklus je proces izgradnje informacijskog sustava. ivotni ciklus ukljuuje skup aktivnosti kojima se obavlja razvoj sustava. Svrha ivotnog ciklusa je da definira aktivnosti koje treba obaviti prilikom razvoja inf sustava, da uvede standardan nain njegova razvoja te da osigura kontrolne toke za praenje napredovanja. Suvremeni razvoj inf sustava se temlji na modernim metodama, tehnikama i pomagalima. esto se naziva i informacijskim inenjerstvom jer se temelji na ovim postavkama: - u njegovom razvoju se koriste inenjerski principi, - razvoj inf. sustava je definiran, strukturiran i planiran proces, - razvoj je podran raunalom. Metoda je organizirani skup postupka koje od zadanog ulaza proizvode traeni izlaz, a ona moe biti iskustvena te bolje teorijski utemeljena i rezultatima dokazana. Tehnika odreuje nain provoenja dokumentiranja pstupka. Pomagala su sredstva kojima se slui tehnika.3

Glavni zadatak faze planiranja informacijskog sustava je identificirati korisnike sustava i ustanoviti NJEGOV opseg, identificirati nedostatke postojeeg sustava, ustanoviti ciljeve novog sustava, ustanoviti da li je mogue automatizirati sustav, podrati ga informacijskom tehnologijom te napraviti plan razvoja inf sustava. Analiza informacijskog sustava (ukljuuje model okolia i model ponaanja) se svodi na identifikaciju objekata koji su znaajni za rjeavanje zadanog problema, identifikaciju poruka, procesima (metoda ili funkcija) kojima objekti odgovaraju na poruke. Analiza predstavlja prikupljanje i analiziranje zahtjeva koji se nameu pred sustav, formalno modeliranje informacijskih zahtjeva odnosno izradu modela podatakaili objektnog modela. Nakon uvoenja informacijskog sustava slijedi odravanje koje ukljuuje i dotrjerivanje, te na red dolazi izobrazba. Modeliranje podataka je proces koji poinje analiziranjem zahtjeva na informacijski sustav, a zavrava ugradnjom baze podataka. Koraci modeliranja su analiza zahtjeva, oblikovanje i izrada baze. Modeli podataka odvajaju zapise podataka od njihova znaenja. Dakle sama interpretacija podatka oznaava vraanje znaenja samog podatka. Interpretacija se prikazuje u obliku trojke Konceptualni model podataka je cjeloviti, konzistentan i nerudantan opis podataka informacijskog sustava. Izrauju ga analitiari odnosno projektanti u suradnji s korisnicima koji razumiju potrebe za informacijama. U dobrom konceptualnom modeli podaci su grupirani na jednom mjestu i neovisni o drugim podacima. Ovaj model je nezavisan o implementaciji logikoj i fizikoj. Opis modela podataka smjeta se u rjenik podataka. Model entiteti-veze promatra svijet kroz entitete (predmet iz stvarnog svijeta o kojem se prikupljaju podaci u inf. Sustavu), njihov odnos (vezu) te atribute entiteta ili atribute njihovih odnosa. U promatranju svijeta i onog to je vano za inf sustav koristi se apstrakcija, te ona omoguava uoavanje glavnog, sporednog, sluajnog ili nebitnog ili isputanje navedenog. U modelu entiteti veze koristi se postupak klasifikacije, generalizacije i agragacije. Klasifikacija je vrsta apstrakcije u kojoj se entiteti opisuju i grupiraju u klase/razrede odnosno tipove prema zajednikim obiljeima. Ana, Ivan, Josip se mogu klasificirati u tip entiteta student, Imaju zajednika obiljea, matini boj studenta, fakultet, datum roenja, NO meusobno se razlikuju po vrijednostima4

tih obiljea.Klasifikacija se opisuje vezom/odnosom jesto pojava, pr. Ivan jest student, on je pojava TIPA ENTITETA student. Suprotno opisivanje, od TIPA ENTITETA prema pojavama naziva se instatacijom. Generalizacija je vrsta apstrakcije slina klasifikaciji. Kod nje se tipovi entiteta nie razine se pridruuju entitetima vie razine. Dakle, tipovi entiteta- student, umirovljenik, zaposlenik se generaliziraju tipom entiteta osobe. Specijalizacija- dijeljenje tipova entiteta s vie razine na niu razinu. Osoba se specijalizira na studenta, umirovljenika, zaposlenog. Agregacija je formiranje novog pojma vieg stupnja na temelju odnosa postojeih pojmova. Stvaranje novog odnosa tj veze meu entitetima. Takva vrsta agragacije odgovara matematikom pojmu Kartezijava produkta. Agregacija se koristi . agregacijom se koristi kao:-

agregacijom jednostavnih atributa, za opisivanje entiteta agregacija entiteta u novi entitet

Entitet je predmet ili dogaaj iz stvarnog svijeta koji se moe identificirati te se o njemu prikupljaju podaci u informacijskom sustavu: kua, osoba, predavanje, avionski let TIP ENTITETA se sastoji od skupa entiteta koji imaju zajednike atribute. Pojedini entitet se naziva pojavom entiteta. Veza predstavlja odnos meu entitetima (tipa entiteta ili pojave entiteta). Ta veza se ostvaruje agregacijom dvaju ili vie entiteta u novi entitet vezu. Broj entiteta koji sudjeluje u vezi jest stupanj veze. Veze stupnja 2, 3 i n zovu se binarnom, ternarnom i n-arnom vezom. Poseban sluaj binarne veze je onaj u kojoj na obje strane veze sudjeluju pojave istog tipa entiteta. Recimo rije je o vezi pod nazivom BRAK, brak predstavlja odnos meu DVA ISTA ENTITETA, dakle na obje strane su entiteti OSOBE. Uloga entiteta u vezi opisuje funkciju koju entitet u njoj ispunjava. Uloga entiteta opisuje se imenicom ili glagolom. Entitet OSOBA radi/radno mjesto u entitetu PROIZVODNJA Pridruivanje/vezivanje moe biti jednoznano, uvjetno i vieznano. Pridruivanje je jednoznano ako je svakom lanu skupa A pridruen jedan i samo jedan lan skupa B. A je OSOBA, a B je DATUM

OSOBA1=14.8.1988. OSOBA2=19.3.1990.5

OSOBA3=1.4.1992. Pridruivanje je uvjetno ako je svakom lanu skupa A pridruen jedan ili nijedan lan skupa B. A je OSOBA, B je BROJ OSOBNE ISKAZNICE OSOBA1=10342567 OSOBA2=73597590 OSOBA3 Pridruivanje je vieznano ako je svakomlanu skupa A pridruen nijedan, jedan ili vie lanova skupa B Aje OSOBA, B je AUTOMOBILSKA REGISTRACIJA Osoba1= ZG-4456-KN, ZG-4567-LM OSOBA2= VU-5678-BN OSOBA3 Osnovni tipovi veza se opisuju kardinalnou: JEDAN-PREMA-JEDAN (1:1) 1,1:1,1 1,1:0,1 0,1:0,1

JEDAN-PREMA-VIE (1:M) 1,1:0,M 0,1:0,M VIE-PREMA-VIE (M:M) 0,M:0,M Donja i gornja granica se ne trebaju toliko strogo odreivati. Donja granica pridruivanja moe biti 0,1 ili bilo koji drugi pozitivan broj ili M (oznaka za nepoznati pozitivan broj vei od 1), a gornja granica moe biti 1, bilo koji pozitivan broj ili M.

Osim obinih veza (binarnih) Model entitet-veza raspoznaje i veze koje opisuju: Identifikacijsko/egzistencijalnu zavisnost6

Specijalizaciju/generalizaciju i Agregaciju entiteta u novi entitet vezu Identifikacijska zavisnost je vezana uz slabe entitete . Entitet je jak ako postoji samostalno, npr KOLA, no ako ne stoji samostalno ili se ne identificira samostalno on je slab, npr. RAZRED je slab entitet jer je ovisna o entitetu KOLA. Specijalizacijom/generalizacijom se naziva veza koja opisuje odnos entiteta i njegovih podtipova, dobivenim postupcima generalizacije odnosno specijalilizacije. Ova se veza opisuje unijom entiteta podtipova za jedan entitet nadtip. Ako se svaka pojava entiteta nadtipa specijalizira u samo jedan od entiteta podtipova rije je o ekskluzivnoj specijalizaciji/generalizaciji. Ako se svaka pojava entiteta nadtipa istovremeno specijalizira u vie entiteta podtipova rije je o neekskluzivnoj specijalizaciji/generalizaciji. Agregacijom se naziva veza u kojoj sudjeluje tri ili vie entiteta (ternarna ili narna veza) ili veza s opisanim atributima illi veza koja se ponaa kao entitet jer sudjeluje u vezi s drugim entitetima. Svaki tip entiteta je opisan skupom atributa (obiljea ili svojstva). Tako je osoba opisana atributima Matini broj, Ime, Prezime, Datum roenja. Domena definira mogue vrijednosti atributa (npr. Matini broj kao jedan od atributa ima domenu vrijednosti od 1-5000). Veza moe, ali ne mora, biti opisana atributima.. Identifiacijska pojava entiteta koristi koncept kljua. Pojave entiteta se meusobno razlikuju po vrijednostima svojih atributa pa je dovoljno pronai takav skup atributa ije vrijednosti omoguuju jednoznanu identifikaciju svake pojave entiteta u sklopu entiteta KLJU. Uvijek se nastoji pronai minimalni klju-mogui, njih moe biti vie, a oni svi se nazivaju moguim kljuevima pr. Matini broj, broj osobne iskaznice, registracija vozila- sve to mogu biti minimalni kljuevi. Jedan izabrani mogui klju naziva se PRIMARNIM KLJUEM- matini broj osobe. Superkljuem se naziva bilo koji skup atributa koji sadri klju Osnovni pojam objektnog modela je objekt. To je element koji se moe samostalno promatrati i obraivati, o objektu se prikupljaju podaci i ono to on skriva (sadraj), vrijednosti njegovih obiljea (atributa). Klasa je opis jednog ili vie objekata koji imaju isti skup atributa i jednak opis ponaanja. Slian je modelu entitet-veza. Osnovna razlika izmeu ta dva modela je u definiranju servisa. Model entitet-veza opisuje samo podatkovnu komponentu informacijskog sustava, dakle razrauje strukturu podataka dok je objekti7

model bogatiji jer opisuje i procesnu i popodatkovnu komponentu informacijskog sustava pa predstavlja konceptualni opis kompletnog sustava.

LOGIKO MODELIRANJE PODATAKA Logiko modeliranje podataka je predstavlja izradu logikog ili imlementacijskog modela podataka, odnosno pretvaranje konceptualnog modela (opis podataka smjeten u rjenik, podaci su neovisni) izvedenog u obliku modela entiteti-veze u LOGIKU SHEMU BAZE PODTAKA. ILI pak slui doradi logike sheme baze podataka. Za opis logikog modela moe posluitit: relacijski-najee. mreni-jo negdje se koristi hijerarhijski-jo se koristi objektni - u budunosti se oekuje vee primjena datoteni model-jo se koristi.

RELACIJSKI MODEL PODATAKA Relacijski model je razradio Codd, vrlo je jednostavan- u razumijevanju i koritenju. Matematiki temelji (torijea skupova) mu omoguavaju precizno definiranje. Spada u formalne modele jer ima skup koncepata za opis baze podataka, skup operatera za izvravanje operacija nad podacima, skup pravila integriteta podataka. Njegovi osnovni ciljevi su: nezavisnost podataka, smanjiti zalihost podataka, omoguiti razvoj jezika za obradu podataka, dati model za opis i obradu jednostavnih i kompleksnih podataka. Relacijski model opisuje iskljuivo logike aspekte podataka, ne bavi se fizikim smjetajom podataka u bazi. Domena je imenovani Naziv_Predmeta-D2) skup vrijednosti (Ime_Prezime_Studenta-D1,

Relacija je imenovani podskup Kartezijevog produkta domena D1,D2,D3, ..Dn X (D,D2,D3,Dn)= {(d1,d2,d3,.dn):d;D; za 1vee/jednako i vee/jednakon)} d1 je vrijednost iz domene D18

d2 je vrijednost iz domene D2 Kartezijev produkt domena D1 I D2 ine ntorke Relacija je imenovani podskup Kartezijevog produkta, npr STUDENT_PREDMET koji se se sastoji od n-torki koje su se primjenjvale u stvarnoj situaciji. Obino se relacija prikazuje u tablici: STUDENT_PREDMET IME_PREZIME_STUDENTA NAZIV_PREDMETA Ivan Horvat Ana Peri Ana Peri Matematika Matematika Fizika

Atribut je imenovani stup relacije, moe ostati neimenovan (null) ako primjerice student nije izabrao predmete. (AND, OR, NOT) Relacijska shema se sastoji od naziva relacije i naziva atributa (stupaca) koji opisuju relaciju. Ona se pie R(A1,A2,An). Relacijska shema opisuje grau relacije, ne defnira njezino znaenje. Relacijska shema baze podataka predsavlja skup razliitih relacijskih shema, dvije relacijske sheme su razliite ako su im atributi razliiti. Relacijska baza podataka je skup relacija definiranih relacijskom shemom baze podataka. U relaciji ne mogu postojati dvije jednake n-torke. Klju relacije je minimalni skup atributa ije vrijednosti oznaavaju svaku n-torku relacije. Svaka relacija ima barem 1 klju. Vie kljueva se naziva moguim kljuevima, a onaj koji se izabere se naziva primarni klju.9

Relacijska algebra je skup operacija nad relacijama, kao rezultat bilo koje operacije dobiva se relacija. OSNOVNE OPERACIJE su UNIJA, REZLIKA, KARTEZIJEV PRODUKT, SELEKCIJA, PROJEKCIJA, SPAJANJE (theta i prirodno), PRESJEK I DIJELJENJE. Operacije unije, razlike i presjeka izvode se na kompatibilnim relacijama. Relacije su UNIJSKI kompatibilne ako su istog stupnja i ako su domene (vrijednopsti, pr- 1-5000) atributa jednake. Unija dviju kompatibilnih relacija (pr. R i S) nova je relacija (RuS) i sadri sve n-torke iz R i S. RAZLIKA dviju kompatibilnih relacija (R i S) je nova relacija (R/S) koja obuhvaa sve n-torke relavije R koje istovremeno niu sadrane u relaciji S. KARTEZIJEV PRODUKT dviju relacija nova je relacija koja se sastoji od ntorki nastalih spajanjem SVAKE n-torke relacija R sa savakom n-torkom relacije S. Kartezijev produkt se oznaava RxS SELEKCIJA RELACIJE je nova relacija koja se sastoji od n-torki relacije R koje ispunjavaju zadani uvjet, uvjet moe biti MB (matini broj)>1 (uvjet ouvjet(R) se oznaava sa =, , , ). PROJEKCIJA relacije R je nova relacija T koja se sastoji od atributa relacije R po kojima je obavljena operacija projekcije, i u kojoj su uklonjene jednake ntorke. SPAJANJE-Theta spoj je selekcija Kartezijevog produkta relacija R i S. RelacijA dobivena spajanjem relacija R i S sadri n-torke relacije S koje udovoljavaju POSTAVLJENOM uvjetu (Kartezijev produkt). PPRESJEK dviju unijski kompatibilnih relacija je nova relacija koja obuhvaa n-torke koje se istovremeno nalaze u relaciji R i u relaciji S. Oznaava se RnS. DIJELJENJE relacije s relacijom daje novu relaciju. Nova relacija nakon dijeljenja je ona koja sadri n-torke iz relacije R koje su sadrane i u relaciji S. VANJSKO SPAJANJE relacije R i S daje novu relaciju koja je jednaka operaciji spoja relacije R i S uz dodatak n-torki relacije R i S koje nisu sadrane u spoju. Na mjestima u tablici na kojima nakon vanjskog spajanaj nedostaju atributi te n-torke se popunjavaju NUL VRIJEDNOSTIMA. SQL jezik za rad s RELACIJSKOM BAZOM PODATAKA Za rad s relacijskom bazom podataka postoji vie jezika. Najpoznatiji meu njima su SQL, QUEL i QBE. To su jezici 4. generacije koji se slue10

parafraziranom relacijskom algerbom. Svi opisuju uvjete pretraivanja pomou predikatne logike prvog reda. Openito, jezici za rad s relacijskim bazama podataka imaju tri grupe naredbi: 1.Naredbe za etri osnovne operacije nad podacima u bazi: -pronalaenje /SELECT, RETRIVE ili GET) n-torki koje zadovaoljavaju zadane uvjete -upis (INSERT, APPEND Ili STORE) novih n-torki -brisanje ili izbacivanje(DELETE, SUPRESS ili ERASE) n-torki uz zadane uvjete -promjena (UPDATE, REPLACE ili MODIFY) podataka n-torki uz zadane uvjete 2.Naredba za definiranje relacijske sheme baze podataka, opis ogranienja 3.Naredbe za upravljanje bazom podataka ( uspostavljanje indeksa, kontroliranje pristupa bazi i sl.) Danas se najvie koristi SQL- Structured Query Language SELECT je najvanija naredba, koja slui za selekciju i ispis podataka jednog upita. Koristi se uz ALL, DISTINCT, FROM, GROUP BY, HAVING, ORDER BY ili pak omoguava izraun pojedinih vrijednosti te se tada koristi uz MIN, AVG, MAX, COUNT ---- FROM Naredba INSERT slui za unos novih n-torki u relaciju. Postoje dva naina : Upisivanjem vrijednosti atributa u relaciju-unos n-torke. Selektiranjem n-torki i njenih atributa iz postojee relacije i njihovim prijenosom u relaciju. OSNOVNI OBLIK= INSERT INTO relacija (atribut, atribut) VALUES (vrijednost atributa, vrijednost atributa) DELETE slui za izbacivanje 8brisanje9 jedne ili vie n-torki iz relacije. Osnovni oblik naredbe je DELETE FROM relacija WHERE uvjet UPDATE slui za promjenu sadraja postojee n-torke ili postojeih n-torki. Osnovni oblik naredbe je UPDATE relacija (Partner) SET atribut=izraz (Partner_naziv='Granit') WHERE uvjet11

COMMIT je naredba koja omoguava odravanje integriteta baze podataka. COMMIT se izvodi nakon svake transakcije illi vie njih, pie se COMMIT WORK. Na taj nain se spremaju sve promjene u bazi, odnosno prenose u sekundarnu memoriju. ROLLBACK slui za ponitavanje svih radnji u bazi podataka od posljednje COMMIT naredbe ili od poetka rada ako nije bilo naredbe COMMIT, pie se ROLLBACK WORK. CREATE TABLE definira novu relaciju odnosno opisuje njenu relacijsku sehemu. ALTER TABLE mijenja definiciju relacijske sheme, dodavanjem novih atributa ALTER TABLE Trgovac ADD (Odjel_broj numeric(3)) ili redefiniranjem postojeih atributa ALTER TABLE Trgovac MODIFY (Ime_Prezime character(40)) . Naredbom DROP TABLE izbacuje se relacijska shema iz kataloga uz eljenu relaciju iz baze podataka. DROP TABLE Trgovac CREATE VIEW slui za definiranje pogleda kroz koji se postojei podaci relacija vide na drugaiji nain -omoguuje jednostavno postovljanje upita -omoguuje skrivanje podataka -omoguuje izgradnju nezavisnih aplikacija Osnovni oblik naredbe je CREATE VIEW relacija (atribut, atribut) AS SELECT... WITH CHECK OPTION. Ako se napie WITH CHECK OPTION pogleom se mogu mijenjati podaci Naredbom DROP VIEW se brie pogled CREATE INDEX SLUI za formiranje indeksa, pomou kojeg se mogu brzo i jednostavno selektirati n-torke. Indeks se moe formirati s podacima bilo kojeg atributa ili bilo koje kombinacije vie atributa. Ako se index definira kao jedinstven (UNIQUE) u relaciji se ne smiju ponoviti n-torke s istim vrijednostima. 1.Formiranje indeksa CREATE INDEX Ime_indeks ON Trgovac (Ime_Prezime)

12

2.Formiranje jedinstvenog indeksa Mb_indeks on Trgovac (Mb)

CREATE

UNIQUE

INDEX

DROP INDEX slui za izbacivanje postojeeg indeksa iz baze podataka GRANT je naredba kojom se prenosi pravo koritenja relacije koju je vlasnik definirao naredbom CREATE TABLE. Moe se prenjeti na sve koristike PUBLIC. Pravo moe biti potpuno ALL. 1.Prenoenje svih prava koritenja relacije Trgovac na sve korisnike GRANT ALL PRIVILIGES ON Trgovac TO PUBLIC 2.Prenoenej prava koritenja operacija SELECT I UPDATE nad relacijom Trgovac na Korisnika12, s pravom da to pravo prenosi na druge GRANT SELECT, UPDATE ON Partner TO Kor12 WITH GRANT OPTION REVORK je naredba kojom se ukida pravo dodijeljeno naredbom GRANT. PRAVILA INTEGRITETA U RELACIJSKOM MODELU Svaka promjena podataka u bazi koja nije uinjena u skladu sa zadanim ogranienjima dovodi do pojave nepouzdanih i/ili netonih podataka. Ogranienja koja se mogu deninirati SQL programskim jezikom su:-jedinstvenost vrijednosti- ne smiju s postavljati dvije n-torke koje imaju iste vrijednosti odreenog atributa -ne nul vrijednosti- atributi ne smiju poprimiti nul vrijednost (minimalna kardinalnost atributa je 1) njihov integritet Klju ili bilo koji njegov dio ne smije imati nul-vrijednost

-ogranienje uz kontrolu odreeni uvjet mora biti ispunjen za sve n-torke relacije

Entitetski integritet definira ogranienja kljua i osigurava jednoznano identificiranje bilo koje n-torke u bazi. Refencijalni integritet povezuje pojam primarnog kljua sa stranim kljuem. Tkalac ga definira ovako: ako u relaciji postoji strani klju koji odgovara primarnom kljuu relacije S, svaka vrijednost stranog kljua u relaciji R mora biti jednaka vrijednosti primarnog kljua u nekoj od n-torki relacije S ili jednaka nul-vrijednosti. STRANI KLJU =REFERCIJALNI INTEGRITET=jedna ili vie kolona ije vrijednosti moraju postojati unutar vrijednosti primarnog kljua neke druge tabele. Pravila odravanja stranog kljua pri operaciji brisanja neke n-torke s primarnim kljuem, mogue su tri AKCIJE:13

-odbijanje- operacija se ne obavlja sve dok postoje n-torke koje imaju strani klju s istom vrijednou. -kaskadno brisanje- brie se n-torka s primarnim kljuemi sve n-torke koje imaju strani klju s istom vrijednou -nuliranje-brie se n-torka s primarnim kljuem, a svi strabu kljuevi s istom vrijednou postavljaju se na nul-vrijednost ili na poetnu (engl.default).

Funkcijske zavisnosti (FZ) su veze izmeu dva skupa atributa u relaciji Neka su A i B skupovi. Ako u je svakom trenutku lanu Ai skupa A pridruen jedan i samo jedan lan Bi skupa B, tada izmeu skupova A i B postoji funkcijska zavisnost A BBaza Postoje kada - neki atribut A jednoznano opisuje neki atribut B - kada je B funkcijski odreen s A - svaki redak podataka s jednim skupom vrijednosti u A uvijek e imati isti skup vrijednosti u B, funkcijska zavisnost se tada pie AB Postoji skup aksioma koji potpuno definira svojstva funkcijskih zavisnosti. Osnovni aksiomi su: F1. Refleksivnost: ako je Y podskup od X, tada X Y F2. Proirenje: ako X Y, tada XZ Y F3. Pseudotranzitivnost: ako X Y i YZ W, tada XUZW Ostali aksiomi, izvedeni od osnovnih: F4. Tranzitivnost: ako X Y i Y Z, tada X Z F5. Aditivnost: ako X Y i Y Z, tada X YZ F6. Dekompozicija: ako X YZ, tada X Y.14

NORMALIZACIJA Dobro oblikovana relacijska baza podataka je ona koja nema zalihosti. Zalihost ili redudancija postoji kada je u bazi podataka neka injenica zabiljeena vie puta pa je taj podatak nepotrebno povean. Takoer se moe dogoditi jo nekoliko potekoa u radu s bazom a to su anomalije unosa, brisanja ili promjena podataka. Zbog tih problema se mogu pojaviti neispravni odgovori na zadani upit. Anomalija unosa se odnosi na nemogunost unosa novog podatka novog trgovca dok se istovremeno ne unesu podaci partnera s kojima radi. Anomalija promjene oznaava oteanu promjenu podataka koja se istovremeno mora obaviti pr. dva mjesta. Primjerice ako se mijenja plaa trgovca, te se promjene moraju unositi na vie mjesta, primjerice u svim ntorkama s kojima trgovac radi. Zbog svega ovog dobra oblikovana relacijska baza podataka mora biti u prikladnoj normalnoj formi, a te forme definiraju ogranienja podataka u relacijama. Veliku vanost ima 6 normalnih formi, navedene su u redoslijedu od niih (laih) prema viim (stroim) normalnim formama: Prva normalna forma 1NF, druga normalna forma 2NF, trea normalna forma 3NF, Boyce-Coddova normalna forma BCNF, etvrta normalna forma 4FN, peta normalna forma 5FN Za definiranje ovih formi su vane funkcijska zavisnost, vieznana zavisnost i spojna zavisnost. NORMALIZACIJA JE POSTUPAK PROVOENJA JEDNE ILI SKUPA RELACIJA IZ NIE U VIU NORMALNU FORMU, PRITOM SE SLUI OPERACIJAMA PROJEKCIJE I PRIRODNOG SPAJANJA. DEKOMPOZICIJA je postupak kojim se obavlja normalizacija i to rastavljanjem relacije na dvije ili vie relacija u vioj formi. Dekopozicija se provodi dok se ne dobije skup relacija u traenoj formi. PRVA NORMALNA FORMA Relacija se nalazi u prvoj normalnoj formi ako su svi nekljuni atributi funkcijski zavisni o kljuu relacije. DRUGA NORMALNA FORMA Relacija se nalazi u drugoj normalnoj formi ako su svi nekljuni atributi potpuno zavisni o bilo kojem kljuu relacije15

TREA NORMALNA FORMA Relacija se nalazi u 3. Normalnoj formi ako ni jedan nekljuni atribut nije zavisan o bilo kojem kljuu relacije. BOYCE CODDOVA FORMA Relacija se nalazi u Boyce-Coddovoj formi ako sve funkcije zavisnosti proizlaze iz njezinog kljua. VIEZNANA ZAVISNOST Ako su X i Y disjunktni skupovi atributne relacije R, a njihov komplement je Z=R-XY, relacija R zadovoljava vieznanu zavisnost XY ako uz dvije promatrane n-torke xy1z1 i sadri n-torke xy1z2 i xy2z1. Vieznana zavisnost postoji u relacijama koje opisuju dvije nezavisne veze tipa M:M. Relacija OSOBA(MB,TELEFON,PROJEKT) opisuje osoba (matini broj) koristi telefon i radi na projektu. Neka osoba koristi telefon i radi na vie projekata istovremeno. Kako brojevi telefona i projekta nisu ni u kakvom meusobnom odnosu, relacija OSOBA sadri ove vieznane zavisnosti: MB vieznano odreuje TELEFON, tj. MBTELEFON, to znai da

jedna osoba nema telefon ili ima jedan ili vie telefona, MB vieznano odreuje PROJEKT, tj. MBPROJEKT,

to znai da osoba ne radi na projektu ili radi na jednom ili vie projekata. Spojna zavisnost Relacija R zadovoljava spojnu zavisnost *(R1,R2,...,Rn) ako se pouzdano (reverzibilno) dekomponira na {R1,R2,...,Rn}.

16

Relacija R(X,Y,Z) s vieznanom zavisnou XY/Z moe dekomponirati na R1(X,Y) i R2(X,Z), a to znai da istovremeno vrijedi spojna zavisnost *(XY,XZ). Zakljuujemo da je vieznana zavisnost specijalan sluaj spojne zavisnosti. Spojna zavisnost je trivijalna ako je R=R1 ili R=R2. ETVRTA NORMALNA FORMA Relacija u kojoj je zadan skup funkcijskih i vieznanih zavisnosti, u etvrtoj je formi ako je svaka vieznana zavisnost sluajna ili klju relacije. PETA NORMALNA FORMA Relacija R, u kojoj je zadan skup funkcijskih ili spojnih zavisnosti, u petoj je normalnoj formi ako je svaka spojna zavisnost sluajna ili je svaki R1 klju u R. Relacijsko modeliranje u knjizi je obraeno sa polazita konceptualnog modela. Pretvorba konceptualnog modela entiteta-veza u relacijsku shemu baze podataka provodi se u 4. Koraka: entiteti se pretvaraju u relacije, pretvaraju se veze, pa zatim slijedi pretvorba atributa te na kraju nominilizacija relacijske sheme. MRENI MODEL je povezan skupom meusobno povezanih slogova. Slog je slian entitetima iz modela entitet-veza. Jedan slog sadri podatke kao jedan entitet. Mreno model se sastoji od polja koja odgovaraju atributima. Slogovi se povezuju fizikim vezama. Struktura podataka mrenog modela opisuje se dijagramom strukture podataka. Datoteni model je onaj u kojem je najmanja jedinica podataka odgovara atributu entiteta. Svaka vrijednost atributa se pohranjuje u polje. Vrijednosti atributa jednog entiteta grupiraju se u slog. Skup slogova istog tipa ini datoteku. Pogledati str 168. FIZIKO MODELIRANJE PODATAKA Fiziko modeliranje polazi od logikog modela i rezultira fizikim modelom. Fiziki model je opis stvarne fizike organizacije podataka, tonije baze podataka realizirane na medijima za memoriranje podataka. Model ima oblik unutarnje sheme baze podataka, koriste se pojmovi fiziki slog, indeks, blok, podruje, fizika datoteka, tehnika adresiraja ili metoda pristupa. Fiziki slog je skup povezanih jedinica podataka koji ini osnovnu fiziku jedinicu podataka. Ta jedinica je fizika realizacija logikog sloga Primarna memorija je izgraena od poluvodikih elemenata te omoguuje brz pristup podacima, ali ih ne memorira trajno. Koristi se kao razna memorija za memoriranje programa i potrebnih podataka, puno je manja. Sekundarna17

memorija slui za trajno memoriranje podataka, izraena je od jeftinijih medija na kojima se moe trajno memorirati velika koliina podataka. Kada se podaci unose u bazu podataka prvo se pripremaju u spremnicima u radnom podruju primarne memorije, a tek se onda prenose u bazu na sekundarnoj memoriji. Podaci se takoer mijenjaju u primarnoj memoriji u koju stiu iz sekundarne, pa se promijenjeni prenose opet u sekundarnu. Slogovi se na memorijama sa serijskim pristupom obrauju serijskiREDOSLIJEDOM KOJIM SU MEMORIRANI NA MEDIJU. Nemogue je obraditi naredni slog ako prethodni nije obraen ili proitan. Tipini predstavnik takve memorije je magnetska vrpca. Brzina pristupa slogovima ovisi o gustoi memoriranja, brzini kretanja vrpce i veliini razmaka meu blokovima. Blok je jedinica podatka koja se kao cjelina prenosi izmeu primarne i sekundarne memorije. Na medijima s izravnim pristupom je mogue pristupiti bilo kojem slogu bez obzira kako je obraen prethodni slog. Tipini predstavnik je magnetski disk. Magnetski disk je okrugla metalna ili plastina ploa presvuena magnetskim slojem koji omoguuje zapis binarno kodiranih podataka. Podaci se upisuju na koncentrinim krunicama na povrini ploe, koje se zovu staze. Staze se dijele na sektore iji broj ovisi o izvedbi diska. Sektor je najmanja pristupna jedinica diska. Optiki diskovi se razlikuju od magnetskih po izvedbi i veem kapacitetu. Podaci se upisuju jakom laserskom svjetlou Sustav za upravljanje fizikim prostorom je dio operacijskog sustava raunala koji upravlja sekundarnom memorijom. On brine uspostavi fizikog prostora na sekundarnoj memoriji namijenjenog smjetaju slogova, oslobaa fiziki prostor, povezuje datoteke s programom, otkazuje veze datoteke s programom, vri obradu slogova u datoteci ili bazi podataka. Neki dijelovi sekundarne memorije ne moraju biti vezani uz raunalo nisu uvijek on-line. To mogu biti prenosni diskovi, vrpce, diskete i sl. Sustav moe prepoznavati te dijelove skundarne memorije koji su povremeno off-line. Zato svai medij mora imati naziv po kojem ga se raspoznaje. Fizika datoteka se dijeli na stranice (blokove, grupe, pakete, intervale) koje omoguuju upravljanje fizikim prostorom. Dakle skup fizikih slogova istog tipa ini fiziku datoteku.

Saimanje podataka

18

Za smanjivanje prostora za smjetaj podataka koriste se tehnike saimanja podataka. Njihova efikasnost je opisana mjerom u kojoj se u odnos stavljaju veliine prostora potrebnih za smjetaj saetih i nesaetih podataka. Poznatije tehnike saimanja su: 1.Koritenje kratica-donosi velike utede prostora ali zahtijeva voenje tablice kratica. 2.Izbacivanje bjelina ili nula-takoer se moe znatno utedjeti prostor. U varijabilnim tekstualnim podacima nepotrebne bjeline se pojavljuju s desne strane, a u numerikim podacima nepotrebne nule se pojavljuju s lijeve. 3.Zamjena sekvenci znakova koje se esto pojavljuju-nakon to se na uzorku ustanovi uestalost ili vjerojatnos pojave svakog znaka, dodjeljuje se krai kod uestalijim znakovima, a dulji kod rjeim znakovima. 4.Statistiko saimanje-PRIMJER JE Morseov kod. Najee se podaci jednog sloga nalaze na istoj fizikoj lokaciji, no ako su slogovi dui ili se neki njihovi atributi ne koriste jednako esto razliiti dijelovi slogova se ipak mogu smjestiti na razliite lokacije. TO SE NAZIVA SEGMENTIRANJEM SLOGOVA. Tehnike segmentiranja slogova se temelje na grupiranju atributa, koji se esto zajedniki koriste, u zasebna podruja GRUPIRANJE SLOGOVA je druga tehnika razmjetaja slogova, za smjetaj svih pojava istog tipa odreuje se jedan imenovani prostor na sekundarnoj memoriji. To je datoteka (ako je rije o datotekama) ili podruje/prostor (ako je rije o bazama podataka). Slogovi koji se najee zajedno obrauju se i fiziki smjetaju na susjednim prostorima.. Takvo grupiranje je najee kodslogova jekih i slabih entiteta povezanih vezom 1:M.-tako grupirani slogovi ine grupu ili klaster. POJEDINANI SLOGOVI SE OBRAUJU SLJ. OPERACIJAMA: WRITE NEXTunos novog sloga na kraj datoteke WRITE KEYunos novog sloga po kljuu READ NEXTitanje sljedeeg sloga u datoteci READ KEY-itanje sloga po kljuu DELETEbrisanje sloga iz datoteka REWRITE promjena sadraja sloga u datoteci OPERACIJE VEZANE U ITAVU DATOTEKU19

OPENotvaranje datoteke CLOSE-ZATVARANJE DATOTEKA Sa Next se upisuje ili brie slog sa sljedeeg ili posljednjeg mjesta u datoteci ili ita slog koji je sljedei u odnosu na prethodni obraen. Sa Key se upisuje slog na mjesto koje mu pripada po vrijednosti kljua te ita sa mjesta koje mu po kljuu pripada. Za grupnu obradu sklogova je pogodan sekvencijalni pristup za obraduslogovima se pristupa jedan za drugim, od prvog prema posljednjem. Za pojedinanu obradu slogova je pogodan direktan pristup slogovima preko njegovog kljua, pristup je u nekoliko koraka ili najbolje u jednom. Sekvencijalna metoda pristupa slogovi se obrauju serijski(sek.). Upisuju se u datoteku jedan do drugoj po redoslijedu.Obrauju se istim tim redoyslijedom. Ako su memorirani na mediju jedna do drugog na fiziki uzastopnim mjestima, meu njima postoji fizika veza. Ako nisu na fiziki uzastopnim mjestima tada se povezuju pokazivaem pa je meu njima ostvarena logika veza. Pokaziva je sadri informaciju(dakle to je podatak u slogu) o tome koja je adresa sljedeeg sloga. Ova metoda je primjenjiva na svim medijima za memoriranje, na mag vrpcama je ostvarena fizika veza, a na diskovima fizika ili logika. Direktna metoda pristupa svakome nasumce izabranom slogu mogue je pristupiti direktno u jednom ili rijetko u nekoliko koraka. Tu mogunost ostvaruje odnos kljua i adrese sloga, jer se adresa sloga izraunava iz kljua sloga.Prostor koji zauzima jedna adresa se naziav: blok, zona, interval, a kapacitet mu je 1 ili vie slogova. Statika direktan datoteka njena veliina se utvruuje prilikom uspostavljanja datoteka i kasnije se ne mijenjaDatoteka je podijeljena na N blokova veliine L znakova (byteova).Svi slogovi iz ijih se kljueva dobiva ista adresa zovu se SINONIMI. Dinamika direktna datotekaima promjenjivu veliinu. U poetku kada je broj slogova manji, manji je i prostor za datoteku, s brojem slogova s epoveava i prostor datoteke.Korissit se isti princip transformacije kljua kao i u statikoj datoteki. Indeksna metoda pristupa slogovi se pronalaze uz pomo posebne tabliceINDEKSA koja pokazuje vrijednost kljueva i adrese njihova sloga. Indeksna datoteka se sastoji od:20

-indeksnog podruja u kojem je smjeten indeks -podruja podataka-u kojem su smjeteni slogovi s podacima. Gustoa indeksa je omjer broja kljueva slogova u indeksu (indeksnih vrijednosti) i broja slogova u datoteci. Gustoa GUSTOG INDEKSA je 1, ako svaki slog ima indeksnu vrijednost u indeksu. Rijedak indeks ima gustou manju od 1, ako svi slogovi nemaju indeksu vrijednost u indeksu. Indeks s vie razina. Vei indeks (vei broj kljueva u indeksu, sekvencijalno pretraivanje zbog rijetkih indeka) se gradi s vie razina. Traenje po kljuu poinje od korijena stabla. B+_ stablo reda m je stablo kojem svaki vor koji nije list (krajnji vor) ima N podreenih vorova, a korjen NR podreenih vorova. Povezivanje slogova pokazivaima Pokaziva je polje u slogu koje sadri fiziku ili logiku adresu sljedeeg sloga. Pomou pokazivaa se lako ostvaruje logika povezanost sloga. Pomou njih se lako mogu graditi linearne i kompleksne hijerarhije mrene strukture slogova. Optimiziranje relacijske baze podataka Na pitanje kako fiziki relaizirati relaciju dobiva se odgovor da li e ona biti datoteka, n-torka (redak) slog datoteke , a vrijednosti atributa e biti podaci u poljima slogova. No vano je i napomenutio da se tipina fiika realizacija relacijske baze podataka sastoji od niza prostora. Svaki prostor se sastoji od niza stranica prikladne veliine. Stanica je pritom blok podataka koji se prenosi sa sekundarne na primarnu memoriju Pronalaenje podataka je znatno olakano i ubrzano koritenjem indeksa. Za brzo pronalaenje n-torki po primarnom kljuu formira se indeks po vrijednostima primarnog kljua, koja ne smije biti nulvrijednot (not null) ili jedinstvena vrijednost (unique). Relacijska baza dobivena pretvorbom modela entiteti-veza nije optimalna jer nisu uzeti u obzir zahtjevi za obradom. Relacijsku bazu treba optimizirati uz pomo: Zahtjeva za obradom (uestalou obavljanja pojedinih procesa nad bazom) Statistikih parametara baze podataka (broja n-torki pojedinih relacija)

Distributiranje podataka

21

Distribucijski informacijski sustav se sastoji od mree raunala u kojoj se obavlja distribuirana obradi ili postoji distributiranost podataka. U distributiranoj obradi se program pokree na jednom voru mree-raunalu a izvodi na drugom. Distributiranost podataka je pak distributirana baza podataka koja se sastoji od vie fizikih tj. Lokalnih baza podataka smjetenih u razliitim vorovima mree. A ponaa se kao jedna logika baza. Mogu se pri distibuciji primjeniti 4 pristupa: Centralizirani-jedna kopija baze je locirana na jednom voru Podijeljeni-jedna kopija baze podijeljena je na skupove podataka u razliitim vorovima Replicirani-vie kopija baze, svaka kompletna kopija u pojedinom voru Hibridni-kombinacioja prethodnih pristupa Distibutirana baza moe biti -homogena-sve lokalne baze su upravljene istim SUBP-om -heterogena-lokalne baze mogu biti upravljane raznim SUBP-om. horizontalno podijeljene relacije- njezine n-torke se mogu nalaziti na razliitim vorovima, a relaciju ini unija n-torki s razliitim vorovima. Vertikalno podijeljene relacije su one kod koje stupci ili pojedini fragmenti relacije mogu se nalaziti na razliitim vorovima. Relaciju tada ini spoj n-torki razliitih fragmenata s istim kljuem Razlika projektiranja podatak i odravanja baze podataka Poslovi projektanta baze Poslovi administratora Razvoj inf. Sustava podranog raunalom CASE Nabroji i opii osnovne komponente CASE.

22

23