39
VELEUČILIŠTE VELIKA GORICA s pravom javnosti Damir Stojak JMBAG: Sustav za potporu rada knjižnice – MS Access Završni rad VELEUČILIŠTE VELIKA GORICA s pravom javnosti, Zagrebačka cesta 5, 10 410 Velika Gorica Tel. 01/6222501 Fax: 01/62 51 301 [email protected] www.vvg.hr MB 01745069 ŽR 2340009-1110122348 ili 2484008-1103780586

2 poglavlje(1)

Embed Size (px)

DESCRIPTION

d

Citation preview

Page 1: 2 poglavlje(1)

VELEUČILIŠTE VELIKA GORICAs pravom javnosti

Damir StojakJMBAG:

Sustav za potporu rada knjižnice – MS Access

Završni rad

VELEUČILIŠTE VELIKA GORICA s pravom javnosti, Zagrebačka cesta 5, 10 410 Velika GoricaTel. 01/6222501 Fax: 01/62 51 301 [email protected] www.vvg.hrMB 01745069 ŽR 2340009-1110122348 ili 2484008-1103780586

Page 2: 2 poglavlje(1)

SADRŽAJ

1. UVOD.....................................................................................................................................12. ORGANIZACIJA I POSLOVNA POLITIKA KNJIŽNICE..................................................2

2.1. Poslovna politika i organizacijska struktura knjižnice.....................................................22.2. Poslovna pravila knjižnice...............................................................................................32.3. Poslovni procesi knjižnice...............................................................................................5

3. IZGRADNJA BAZE PODATAKA........................................................................................83.1. Teorijsko određenje baze podataka..................................................................................83.2. Prikaz Microsoft office Access alata............................................................................103.4. Izrada ER modela knjižnice...........................................................................................14

4. SQL – STRUCTURED QUERY LANGUAGE...................................................................184.1. Osnovne karakteristike i podjela SQL-a........................................................................184.2. Tipovi podataka.............................................................................................................194.3. Stvaranje tablica i upis podataka....................................................................................214.4. Mijenjanje i brisanje podataka.......................................................................................25

Page 3: 2 poglavlje(1)

1. UVOD

1

Page 4: 2 poglavlje(1)

2. ORGANIZACIJA I POSLOVNA POLITIKA KNJIŽNICE

Knjižnice su oduvijek mjesta za pohranu ljudskog znanja, njegovu deseminaciju i

uzajamno dijeljenje. Služe očuvanju kulture, a nezamjenjive su u procesu obrazovanja, te

znanstvenog i stručnog rada. Smisao knjižnice je korištenje u njoj pohranjenog knjižničnoga

fonda. Knjižnični fond u velikoj mjeri čine knjige, ali i drugi predmeti kao što su fotografije,

slike, karte, glazbeni i slikovni magnetski i digitalni zapisi, računalni sadržaji, igračke i

mnoge druge vrste sadržaja.

2.1. Poslovna politika i organizacijska struktura knjižnice

Knjižnica obavlja svoje poslove prema utvrđenim standardima i u skladu s Zakonom o

knjižnicama. Knjižnična djelatnost obuhvaća: nabavu knjižnične grade (prema strukama),

obradu (inventarizacija, klasifikacija, sadržajna i analitička obrada, tehnička obrada) grade

knjižničarskim metodama, izradbu kataloga i baza podataka, tj. knjižničarsko-informacijskog

(računalnog) sustava, izradbu biltena i drugih informacijskih pomagala, smještaj i zaštitu

grade, vođenje zasebne zbirke diplomskih i magistarskih radova te disertacija, aktivan rad sa

korisnicima uz njihovu edukaciju (informacije putem telefona, pretraživanje i pomoć u

pronalaženju informacija, retrospektiva pretraživanja, selektivna disemenacija informacija,

međuknjižnicnu posudbu, kojom knjižnica, uvažavajući pravila međuknjižnične suradnje,

posreduje u pristupu onim informacijama kojima raspolažu druge knjižnice i srodne ustanove,

odnosno omogućuje korištenje svojih dokumenata/informacija), reviziju i otpis knjižnične

grade, suradnju s knjižnicama srodnih institucija, umrežavanje knjižnice i dr.

Kako bi se svi navedeni poslovi odvijali nesmetano potrebna je i dobra organizacijska

struktura. U organizacijskoj teoriji organizacijska struktura, pored organizacijskih sredstava i

postupaka, spada medu temeljne elemente svake organizacije. Struktura je najvažniji dio

svake organizacije. Organizacijska struktura je sociotehnička struktura ljudi i ostalih resursa

organizacije koja se sastoji od različitih međusobno povezanih elemenata u konkretne

organizacijske odnose. Organizacijska struktura je relativno trajan plan rasporeda poslova i

međusobnih veza među ljudima koji obavljaju te poslove u organizaciji.

2

Page 5: 2 poglavlje(1)

Shema 1. Primjer organizacijske strukture knjižnice

2.2. Poslovna pravila knjižnice

Kada se govori o pojmu "poslovna pravila", činjenica je da danas za taj pojam ne

postoji jednoznačna definicija, već u literaturi postoji čitav niz različitih definicija koje ovaj

pojam objašnjavaju na različite načine i pridaju mu različita značenja. Pravila su povijesno

nastala iz određenog poslovnog znanja i iskustva, a često se inkoponiraju (kodiraju) u različite

poslovne informatičke sustave.

Kodiranje je provedeno u jeziku u kojem je sustav napisan, što dovodi do toga da, pri

promjeni poslovnog pravila, sustav je potrebno ili rekonfigurirati ili dodatno iskodirati. Za

obje je akcije zadužena osoba sa značajnim tehničkim znanjem. Smisao softverskih alata za

rad s pravilima jest podići pravila na novu razinu u kojoj bi njihovo pisanje i održavanje bilo

3

UPRAVA

SLUŽBA NABAVE ODJEL OBRADEINFORMATIČKA

POTPORA

TAJNIŠTVO URED RAVNATELJA

RAČUNOVODSTVO

ODJELI

POSUDBENI ODJEL

STUDIJSKA ČITAONICA

ODJEL ZA RAD S DJECOM I MLADIMA

Page 6: 2 poglavlje(1)

jednostavnije. Za tu se svrhu uvodi novi, prilagođeni jezik. Ujedno se čuvanje i distribucija

pravila drugim sustavima obavlja iz jednog središnjeg mjesta.

Kako se poslovna pravila ili pravila poslovanja mogu definirati na različite načine,

može se smatrati da poslovna pravila prema tome predstavljaju određena ograničenja i

smjernice za način vođenja poslova u poduzeću kojih se treba držati. Unatoč tome što nije

lako poslovati prema poslovnim pravilima koja moraju vrijediti i nije ih lako ostvariti u

poduzeću, ona se postavljaju pred svaki novonastali sustav.

Neka od poslovnih pravila koja se primjenjuju u knjižnici su:

1. kod posudbe je bitno jedinstveno označiti svaku posudbu, znati koji član je posudio

knjižničnu građu, koju je knjigu posudio kada ju je posudio, te koji mu ju je

zaposlenik izdao

2. kod vraćanja je bitno znati kada je knjižnična građa vraćena, te koji ju je zaposlenik

prihvatio

3. knjižnična građa mora biti jedinstveno označena, imati svoj naziv, autora, pripadati

nekoj kategoriji, pisana je na nekom jeziku, te pripada nekom odjelu

4. bitno znati koje je godine knjižnična građa tiskana, po kojoj cijeni, koji je ISBN građe,

datum kada je došla u knjižnicu, te koji je nakladnik, o kojem su također potrebni neki

podaci i to

- naziv nakladnika,

- kontakt telefon,

- opcionalno e-mail, web adresu te broj fax-a

5. knjižničnu građu treba pohranjivati na police, ormare za pohranu, vitrine i ladice

odgovarajućih oblika, dimenzija i materijala

6. svaki zaposlenik ima ime i prezime, adresu stanovanja, plaću, broj računa za isplatu

plaće, te se za svakog zaposlenika zna od kada je zaposlen, a za bivše zaposlenike i do

kada su bili zaposleni

7. zaposlenici moraju imati završenu višu školu i položen stručni ispit za višeg

knjižničara odnosno knjižničara

8. članstvo u knjižnici stječe se upisom u knjižnicu

9. upisom u knjižnicu plaća se članarina za jednu godinu

10. prilikom upisa član knjižnice dobiva člansku iskaznicu koja sadrži

- tvrtku knjižnice i adresu

4

Page 7: 2 poglavlje(1)

- broj poslovne jedinice i ident člana

- datum upisa i rok važenja iskaznice

- ime i prezime člana

- vlastoručan potpis člana knjižnice

2.3. Poslovni procesi knjižnice

Neodređena definicija smatra da je poslovni proces zatvoreni skup aktivnosti koje se

poduzimaju kao odgovor na neki događaj da bi se generirao izlazni rezultat. Prema

konkretnijoj definiciji poslovni proces obuhvaća sve što je potrebno kako bi se osiguralo da

onaj tko je za taj proces zainteresiran dobije ono što. Još konkretnije definicija kaže kako je

poslovni proces interakcija između ljudi, opreme, metoda i kontrola, a sve sa svrhom

postizanja određenog cilja.

Neki od poslovnih procesa u knjižnici su sljedeći:

· član knjižnice dolazi u knjižnicu s namjerom da posudi knjigu. Odmah do

ulaznih vrata knjižnice smješteno je nekoliko računala koji imaju mogućnost pretraživanja

knjižničnih kataloga. Član, dakle, prilazi jednom od računala, te se jednostavnom procedurom

nalazi u bazi podataka knjižnice, te sam upućuje upit o knjizi koju treba. Sve što treba znati je

ime knjige i/ili ime autora i za samo par sekundi može dobiti informaciju o tome postoji li ta

knjiga u vlasništvu knjižnice.

· ako knjiga koju član traži postoji, odmah uz tu obavijest stoji i obavijest je li

knjiga dostupna ili je već posuđena, te jednim klikom moguće je doznati njenu lokaciju u

knjižnici. Nakon što saznaje gdje se knjiga nalazi (na kojem katu, koji odjeljak, koji red, koja

polica), nakon minute pretraživanja

· član odlazi po knjigu, te ju donosi zadužiti na pult, knjižničaru pruža svoju

člansku iskaznicu s bar kodom, ona očitava njegov identitet u bazi podataka na računalu i

status o već dosada posuđenim knjigama i eventualnim dugovima. Ukoliko je dozvoljeno

posuditi mu knjigu, učitava bar kod knjige u računalo pod njegovim imenom i zaključuje

proces zaduživanja knjige nakon samo minute, pošto se na članskoj iskaznici koja je

plastificirana, nalaze podaci kao što su radno vrijeme knjižnice, uobičajeni rok vraćanja

knjiga, te mali cjenik zakasnina.

5

Page 8: 2 poglavlje(1)

· ukoliko knjiga prilikom pretraživanja baze podataka na računalu nije

pronađena (ne postoji u vlasništvu knjižnice ili je već posuđena), te ako član ne namjerava

posuditi neku drugu knjigu, on odlazi iz knjižnice.

Primjena sustava procesa i poslovnih pravila u organizaciji, njihovo utvrđivanje i

međusobno djelovanje te upravljanje njima može se nazivati procesnim pristupom. Prednost

je procesnoga pristupa osiguravanje trajnog upravljanja vezama između pojedinačnih procesa

unutar procesne strukture kao strukturnog elementa sustava upravljanja knjižnice te njihovom

kombinacijom i međusobnim djelovanjem. Kada se primjenjuje u okviru sustava upravljanja

kvalitetom u knjižnici, taj pristup naglašava važnost razumijevanja i ispunjavanja zahtjeva

člana, potrebe promatranja poslovnih procesa u uvjetima dodavanja vrijednosti, dobivanja

rezultata poslovnih procesa i njihove učinkovitosti, i stalnog poboljšavanja poslovnih procesa

temeljeno na objektivnim mjerenjima.

6

Page 9: 2 poglavlje(1)

Shema 2. Primjer poslovnog procesa posudbe knjige u knjižnici

7

Dolazak člana u knjižnicu

Prilazak računalu

Pretraga baze podataka knjižnica

Knjiga nije pronađenaKnjiga je pronađena

Detaljnija pretraga

alternativnih knjiga

Utvrđivanje dostupnosti knjige

Knjiga je dostupna

Utvrđivanje lokacije knjige u knjižnici

Knjiga nije dostupna

Alternativna knjiga nije prihvaćena

Alternativna knjiga je prihvaćena

Pronalaženje knjige

Traženje člana u bazi podataka

Očitavanje statusa člana

ČLAN

Može posuditi Ne može posuditi

Učitavanje bar koda člana i knjige

Vraćanje iskaznice članu

Knjiga je zaduženaOdlazak člana iz

knjižnice

X

X

X

Odjavljivanje iz baze podataka knjižnice

X

KNJIŽNIČAR

Page 10: 2 poglavlje(1)

3. IZGRADNJA BAZE PODATAKA

Baze podataka predstavljaju višu razinu rada s podacima u odnosu na klasične

programske jezike. Riječ je o tehnologiji koja je nastala s namjerom da se uklone slabosti

tradicionalne “automatske obrade podataka” iz 60-tih i 70-tih godina 20. stoljeća. Ta

tehnologija osigurala je veću produktivnost, kvalitetu i pouzdanost u razvoju aplikacija koje

se svode na pohranjivanje i pretraživanje podataka u računala.

3.1. Teorijsko određenje baze podataka

Baza podataka je skup međusobno povezanih podataka, pohranjenih u vanjskoj

memoriji računala. Podaci su istovremeno dostupni raznim korisnicima i aplikacijskim

programima. Ubacivanje, promjena, brisanje i čitanje podataka obavlja se posredstvom

zajedničkog softvera. Korisnici i aplikacije pritom ne moraju poznavati detalje fizičkog

prikaza podataka, već se referenciraju na logičku strukturu baze. Sustav za upravljanje bazom

podataka (Data Base Management System - DBMS) je poslužitelj (server) baze podataka. On

oblikuje fizički prikaz baze u skladu s traženom logičkom strukturom. Također, on obavlja u

ime klijenata sve operacije s podacima. Dalje, on je u stanju podržati razne baze, od kojih

svaka može imati svoju logičku strukturu, no u skladu s istim modelom. Isto tako, brine se za

sigurnost podataka, te automatizira administrativne poslove s bazom. Podaci u bazi su logički

organizirani u skladu s nekim modelom podataka. Model podataka je skup pravila koja

određuju kako može izgledati logička struktura baze. Model čini osnovu za koncipiranje,

projektiranje i implementiranje baze.

Dosadašnji DBMS-i obično su podržavali neki od sljedećih modela:

- relacijski model - zasnovan na matematičkom pojmu relacije. I podaci i veze medu

podacima prikazuju se “pravokutnim” tabelama.

- mrežni model - baza je predočena usmjerenim grafom. Čvorovi su tipovi zapisa, a

lukovi definiraju veze medu tipovima zapisa.

- hijerarhijski model - specijalni slučaj mrežnog. Baza je predočena jednim stablom ili

skupom stabala. Čvorovi su tipovi zapisa, a hijerarhijski odnos “nadređeni-podređeni”

izražava veze medu tipovima zapisa.

8

Page 11: 2 poglavlje(1)

- objektni model - inspiriran je objektno-orijentiranim programskim jezicima. Baza je

skup trajno pohranjenih objekata koji se sastoje od svojih internih podataka i “metoda”

(operacija) za rukovanje s tim podacima. Svaki objekt pripada nekoj klasi. Između klasa se

uspostavljaju veze nasljeđivanja, agregacije, odnosno međusobnog koriˇstenja operacija.

Hijerarhijski i mrežni model bili su u upotrebi u 60-tim i 70-tim godinama 20. stoljeća.

Od 80-tih godina pa sve do današnjih dana prevladava relacijski model. Očekivani prijelaz na

objektni model za sada se nije desio, tako da se današnje baze podataka uglavnom uvijek

mogu poistovjetiti s relacijskim bazama.

Baze podataka se u pravilu realiziraju korištenjem nekog od provjerenih softverskih

paketa. Gotovo svi današnji softverski paketi podržavaju relacijski model i SQL. Svaki od

njih sadrži svoj DBMS, uobičajene klijente (na primjer interaktivni interpreter SQL), te

biblioteke i alate za razvoj aplikacija. Svaki paket isporučuje se u verzijama za razne

računalne platforme (operacijske sustave). Konkurencija među proizvođačima softvera za

baze podataka je izuzetno velika, tako da je posljednjih godina često dolazilo do njihovog

nestanka, spajanja ili preuzimanja. Lista relevantnih softverskih paketa zato je svake godine

sve kraća. Jedino osvježenje predstavlja nedavna pojava public-domain softvera poput

MySQL. Uvođenje baze podataka u neko poduzeće ili ustanovu predstavlja složeni zadatak

koji zahtijeva timski rad stručnjaka raznih profila. To je projekt koji se može podijeliti u pet

faza: analiza potreba, modeliranje podataka, implementacija, testiranje i održavanje.

U stvarnim situacijama dosta je teško direktno pogoditi relacijsku shemu. Zato se služi

jednom pomoćnom fazom koja se zove modeliranje entiteta i veza (Entity-Relationship

Modelling). Riječ je o oblikovanju jedne manje precizne, konceptualne sheme, koja

predstavlja apstrakciju realnog svijeta. Ta tzv. ER-shema se dalje, više-manje automatski,

pretvara u relacijsku. Modeliranje entiteta i veza zahtijeva da se svijet promatra preko tri

kategorije:

- entiteti: objekti ili događaji koji su nam od interesa;

- veze: odnosi medu entitetima koji su nam od interesa;

- atributi: svojstva entiteta i veza koja su nam od interesa.

9

Page 12: 2 poglavlje(1)

3.2. Prikaz Microsoft office Access alata

Razvojem Windows okruženja koje je počelo Windows-ima 1.0 koji su izašli na tržište

1985.god. razvijale su se i ostale aplikacije tvrtke Microsoft od kojih je jedna od najpoznatijih

Microsoft Office paket. Microsoft Office, kao što mu i ime kaže, podrazumijeva uredski paket

aplikacija, a razvijao se po određenim verzijama, odnosno godišnjim izdanjima. Taj uredski

paket sadrži u sebi određene programe kojima korisnik odrađuje određene zadaće. Tako za

obradbu teksta služi Word, za izradu prezentacija služi PowerPoint, tablični editor i kalkulator

je Excel, izrada web stranica postaje jednostavna sa Publisher-om te se za izradu baza

podataka koristi Access kojeg je potrebno pobliže definirati radi samog tijeka diplomskog

rada. Baze podataka općenito predstavljaju neki organizirani skup podataka kojim se onda

može lakše locirati i utvrditi određeni problem ili analizirati određeno stanje. I telefonski

imenik ili složena dokumentacija u fasciklu predstavljaju određenu bazu podataka, ali

limitiranih mogućnosti. Potreba za izradom informatičkih baza podataka proizlazi iz činjenice

da se tako složeni podaci mogu jednostavno ažurirati, mogu se razvrstavati po svim potrebnim

dijelovima (po abecednom redu, po vremenu unosa, po količini, po vrsti, i sl.), od njih se na

lak način mogu izrađivati određena izvješća, kreirati grafikoni, podaci se mogu međusobno

povezivati, mogu se filtrirati, i sl. Da bi u daljnjem tijeku rada bilo lakše pratiti postupak

definiranja i izrade baze podataka potrebno je definirati glavne objekte i pojmove Microsoft

Office Access baze podataka:

- tablica ( eng. table ) je spremnik podataka i sastoji se od redaka i stupaca, svaki redak

predstavlja jedan zapis, a svaki stupac predstavlja jedno polje;

- upit ( eng. query ) predstavlja određeni filtar podataka u tablici ili povezanim

tablicama jer kroz njega postavljamo određene parametre te tražimo prikaz podataka koji

udovoljavaju tim parametrima;

- obrazac ( eng. form ) predstavlja sučelje za jednostavniji unos podataka u bazu jer pri

velikim tablicama može biti prilično nezgodno unositi podatke pa se oni onda unose preko

obrasca točno određene tablice koji sadrži sve njene parametre, ali se oni unose na grafički

pristupačnom i jednostavnom sučelju;

- izvještaj ( eng. report ) podrazumijeva pregledan prikaz određenih podataka koji su

prije toga filtrirani upitom ili pregled podataka koji na jednostavan način prikazuju izvod

nekih tablica o predmetu koji je cilj konkretnog zanimanja korisnika baze;

10

Page 13: 2 poglavlje(1)

- povezane internetske ( eng. web ) stranice podrazumijevaju veze ( eng. link ) na

određene vanjske internetske stranice koje tada možemo uređivati i obrađivati na način koji

nam odgovara te time dobivamo „*.htm“ oblik izvještaja koji možemo pregledavati sa

internetskim preglednikom ili postavljati na sami Internet na način da budu dostupni svima.

Pri pokretanju Accessa prikaže se okno zadatka (Task Pane) New File s desne strane

prozora.

Slika 1. Okno zadatka Accessa

U kojem su grupirane naredbe:

Grupa Stavke Uporaba

Open a file moja prva baza (primjer) Popis zadnjih otvaranih baza

More files… Otvaranje okvira za razgovor Open za izbor postojeće baze

New Blank Database Stvaranje nove, prazne baze

Blank Data Access Page Stvaranje HTML stranice za pristup bazi podataka

Project (Existing Data) Stvaranje Access projekta temeljem postojećih podataka

Project (New Data) Stvaranje Access projekta s novim  podacima

New from existing file Choose file… Otvaranje okvira za razgovor Open za izbor postojeće baze kao predloška novoj bazi

New from template General templates… Prikaz dostupnih predložaka za novu bazu

Templates on Microsoft.com Pristup predlošcima na Internetu za novu bazu

Add Network Place   Pokretanje čarobnjaka za dodavanje mrežnoga mjesta s ciljem izrade i zajedničke uporabe mape na web-odredištima

Microsoft Access Help   Pozivanje pomoći za Access

Show at startup   Prikaz okna zadatka prilikom pokretanja Accessa

11

Page 14: 2 poglavlje(1)

Za izradu nove baze podataka potrebno je kliknuti na naredbu Blank Database u grupi New

Slika 2. Okno izrade nove baze podataka

U okviru za razgovor File New Database potrebno je odrediti naziv baze (polje File

name) i smještaj (mapu u polju Save in) te kliknuti na gumb Create. Otvorena baza se ne

može snimiti unutar Accessa. Međutim, pri zatvaranju baze ona (tj. njeni objekti i njihov

sadržaj) automatski se snimaju/pohranjuju na izvorno mjesto. Primjenom naredbi Save/Save

as u glavnome izborniku File ili alata Save u alatnoj liniji Database mogu se snimiti samo

pojedini objekti u bazi – tablice, upiti, obrasci, izvješća, makroi, moduli. Želi li se

prenijeti/premjestiti ('snimiti') cijela baza (tj. njen mdb-file) u drugu mapu ili na drugi disk ili

na disketu ili na CD i sl. potrebno ju je unutar Accessa prvo zatvoriti i zatim je uporabom npr.

programa Windows Explorer premjestiti ili kopirati na jedan od uobičajenih načina poznatih

iz okruženja MS Windowsa. Klikom na naredbu Office on the Web u glavnome izborniku

Help, pokreće se pretraživač Interneta (Internet Explorer) i u njemu se otvara početna stranica

Microsoft Office On-line. Na njoj se može pronaći niz informacija vezanih uz taj programski

paket. Za zatvaranje baze potrebno je izaberiti naredbu Close su glavnome izborniku File ili

pritiskom istovremeno na tipkovnici tipke Ctrl+F4.

12

Page 15: 2 poglavlje(1)

Slika 3. Početni prozor prazne baze podataka

- relacijski odnosi tablica (eng. relationships ) podrazumijevaju tablične međuodnose.

Svaka tablica mora imati primarni ključ koji je polje koje sadrži određeni broj za svaki zapis,

a ono se povezuje sa primarnim ključem druge tablice i na taj način dobivamo relacijske

međuodnose tablica koji nam ukazuju na određene podatke jedne tablice koji su u

međuodnosu sa podacima druge tablice;

- čarobnjak (eng. wizard ) podrazumijeva alat koji je dostupan u svakom objektu te na

automatizirani način vodi korisnika u izradi određenog objekta korak po korak

- grafikoni i interaktivne tablice (eng. graph ) čine objekte Access-a kojima možemo

generirati određene podatke na način da odabiremo podatke koje ćemo prikazati u grafikonu

te da izrađujemo tablice kojima ćemo analizirati određeno polje putem nekog drugog polja;

- uvoz i izvoz podataka (eng. import, export ) u microsoft Access-u podrazumijeva

uvoženje ili izvoženje podataka u ili iz nekih drugih oblika datoteka ( excel, tekstualne

datoteke, web, paradox, i sl.) na lagan i prilagodljiv način što čini Access prilagodljivom

bazom podataka jer iste možemo „ubaciti“ u bazu iz npr. Excel tablice ili izvesti u npr. Excel

tablicu što nam omogućuje veliku interaktivnost;

- razvodna ploča (eng. switchboard ) čini sučelje baze podataka koja se postavlja pri

kraju izrade baze, a čini posao s bazom jednostavnijim jer se podiže pri ulazu u bazu i

predstavlja dijaloški okvir za izvođenje zadataka;

- primarni i strani ključ (eng. primary key, foreign key ) čini određeno polje tablice

kojim se jedinstveno identificira svaki zapis odnosno njime se definira ono polje tablice koje

će se povezivati sa nekim poljem druge tablice, ali na način da obje tablice imaju zajedničko

13

Page 16: 2 poglavlje(1)

polje sa istim podacima ali je u jednoj tablici to polje primarno ( primarni ključ ), a u drugoj

strani, sekundarno (strani ključ ).

3.4. Izrada ER modela knjižnice

Entity Relationship ili ER dijagram je relacijska shema baze podataka. Na njoj se vide

tablice, polja u tablicama i među-odnosi između tablica. Tablice nazivamo entiteti, polja u

njima atributi, a među-odnose između njih relacije. Entiteti su specifični objekti ili stvari u

mini-svijetu koji je prezentiran u bazama podataka. Atributi su svojstva korištena za opis

entiteta. Relacija predstavlja odnos između entiteta. U ER dijagramu se za svaki atribut vidi

kako se zove, kojeg je tipa, koje je duljine i da li je obvezan. Također vidimo koji atributi su

primarni ključevi, a koji su strani ključevi. Isto tako vidimo kojeg su tipa relacije između

entiteta. Pošto je izrada ER dijagrama složena, a ključan je korak za daljnji razvoj baze

podataka, izrađuje se u nekoliko koraka. Prvo je potrebno navesti poslovna politiku, pravila i

procese rada knjižnice, zatim slijedi izrada logičkog modela i izrada ER dijagrama. Prvo iz

poslovnih procesa vidljiva su pet entiteta posudbe, knjige, nakladnici, članovi, zaposlenici.

Ali ako se bolje prouče atributi koji ih opisuju vidimo da neki atributi nisu jedinstveni

(više knjiga može imati istog autora, pripadati istoj kategoriji, pripadati istom odjelu, biti

pisano na istom jeziku, zaposlenici, nakladnici i članovi mogu imati istu adresu, više adresa

može biti iz iste države, grada i ulice) pa se time dobiva trinaest entiteta:

- POSUDBE,

- KNJIGE,

- NAKLADNICI,

- ČLANOVI,

- ZAPOSLENICI,

- AUTORI,

- ODJELI,

Sada kada su izvučeni i entitete može se vidjeti kako se oni međusobno vežu. Ulice,

gradovi i države se vežu na adrese. Adrese se vežu na članove, zaposlenike i nakladnike.

Dalje se odjeli vežu na knjige i članove. Nakladnici, kategorije, jezici, autori i odjeli se vežu

na knjige. Te na kraju, knjige, članovi i zaposlenici se vežu na posudbe. Iz entiteta i veza koje

smo izvukli iz kratke priče, sada možemo nacrtati logički model koji prikazuje te entitete i

veze među njima.

14

Page 17: 2 poglavlje(1)

Shema 3. Logički model knjižnice

Iz logičkog modela, prikazanog shemom 3., vidi se da je središnji entitet prema kojem

sve vodi posudba, a to je ono čime se knjižnica bavi. Dalje vidljivo je da se na posudbe vežu

članovi, zaposlenici i knjige kao bitan podatak svake pojedine posudbe. Također se vidi da

članovi i knjige pripadaju odjelima, te da knjige na sebe vežu podatke o jezicima,

kategorijama, autorima i nakladnicima. Time su obuhvaćeni svi entiteti i veze izvučene iz

poslovnog procesa.

Kod izrade ER dijagrama važno je paziti na nekoliko pravila. Kao prvo ne smiju se

koristiti hrvatski znakovi jer je jezik ER dijagrama engleski. Druga stvar na koju treba paziti

je da se entiteti i atributi koji imaju više riječi u nazivu ne pišu odvojeno nego zajedno ili

odvojeno sa takozvanom podvlakom „_“ (eng. underscore). Na temelju logičkog modela i

poslovnih procesa iz kojih se vade atribute kojima se određuje tip i to da li su obvezni ili

opcionalni, izrađuje se ER dijagram.

15

Page 18: 2 poglavlje(1)

Shema 4. ER model knjižnice

U svakom entitetu ER dijagrama vidljiva su četiri stupca. Prvi stupac sadrži imena

atributa. Drugi stupac označava tip atributa. Koriste se tri tipa atributa, DATE, koji označava

da je atribut tipa datum, VARCHAR2 (x), koji označava da je atribut znakovnog tipa i to

duljine „x“ znakova, te NUMBER (x,y), koji označava da je atribut brojčanog tipa i to duljine

„x“ znamenki od kojih se „y“ znamenki uzima za decimalna mjesta. Treći stupac označava je

li atribut obvezan ili opcionalan. Ključna riječ NOT NULL tj. NN označava da je atribut

obvezan, a atribut koji nema NN je opcionalan. Četvrti stupac označava je li je atribut

primarni ključ, strani ključ ili obični atribut. Atribut kraj kojeg u toj koloni stoji PK (primary

16

Page 19: 2 poglavlje(1)

key) je primarni ključ, onaj kraj kojeg stoji FK (foreign key) je strani ključ, a onaj kraj kojeg

ne stoji ništa je obični atribut. Crte između entiteta označavaju veze tj. relacije između

entiteta, a imena na njima su imena dotičnih relacija.

17

Page 20: 2 poglavlje(1)

4. SQL – STRUCTURED QUERY LANGUAGE

Structured Query Language (SQL) razvio je IBM u sklopu projekta “System R”

(Chamberlin i drugi, kasne 70-te godine 20. stoljeća). Jezik se postepeno usavršavao, a

njegova dotjerana varijanta pojavljuje se u današnjem IBM-ovom relacijskom DBMS-u

zvanom DB2. Druge softverske kuće (na primjer Oracle Corporation) ugradile su SQL u svoje

DBMS-e, te ga time učinile vrlo popularnim i dostupnim na svim važnijim računalnim

platformama. Preostale kuće (INGRES Corporation, DEC, . . . ) koje su razvijale svoje jezike,

bile su prisiljene da se prilagode SQL-u. Zbog pojave raznih “dijalekata” donesen je

ISO/ANSI standard za SQL.

4.1. Osnovne karakteristike i podjela SQL-a

Svaka naredba završava interpunkcijskim znakom točka-zarez (;), a ukoliko se

instrukcija prostire kroz više redova, znak ';' stavlja se na kraj posljednjeg reda. Kada se SQL

naredba uključuje u drugi programski jezik (Embedded SQL), ona završava na način

svojstven tom jeziku. Iako je SQL no-case-sensitive, odnosno ne razlikuje mala i velika slova,

uobičajeno je da se ključne riječi pišu velikim slovima. SQL se dijeli na četiri "podjezika":

- Data Definition Language (DDL) sastoji se od naredbi za definiranje objekata baze

podataka: npr. CREATE, DROP i ALTER

- Data Manipulation Laguage (DML) sastoji se od naredbi za manipuliranje podacima

u bazi: npr. INSERT, DELETE, UPDATE

- Data Control Lanuage(DCL): u ovu skupinu spadaju naredbe koje definiraju pitanja

sigurnosti baze podataka, kao što su ograničenja pristupa podacima. Ovaj skup naredbi se

koristi uglavnom kod većih projekata kada je uključen veći broj korisnika s različitim

razinama pristupa podacima: npr. GRANT i REVOKE

- Data Query Language (DQL) sastoji se od naredbi za pretraživanje i dohvaćanje

podataka u bazi : npr. SELECT

Naredba SELECT jedna je od najkorištenijih SQL naredbi, a njena snaga naročito

dolazi do izražaja upotrebom različitih operatora, funkcija i ključne riječi WHERE. Njoj ćemo

kasnije posvetiti čitavo poglavlje, ali prije toga ćemo se u idućem dijelu baviti tipovima

podataka u SQL-u. SQL je uglavnom zasnovan na relacijskom računu, s time da je

18

Page 21: 2 poglavlje(1)

matematička notacija zamijenjena ključnim riječima nalik na govorni engleski jezik. No

lagano se realiziraju i sve operacije iz relacijske algebre. Osim postavljanja upita, jezik

također omogućuje: definiranje relacija, ažuriranje relacija (upis, promjena, brisanje n-torki),

sortiranje i formatiranje ispisa, neke aritmetičke operacije s podacima, definiranje “pogleda”

(virtualnih relacija izvedenih iz postojećih), utjecaj na fizičku gradu baze (na primjer stvaranje

tzv. indeksa), te kontrolu sigurnosti.

4.2. Tipovi podataka

Znakovni tipovi podataka služe za prikaz nizova znakova, odnosno spremanje svih

tekstualnih informacija, a u literaturi se uobičajeno nazivaju string. Dijele se na alfanumeričke

znakove (slova i brojevi) i specijalne znakove (non-printing characters koji predstavljaju

određenu akciju). Posebna vrsta znaka je null ("\0") koji služi za prikazivanje null vrijednosti.

SQL standard definira sljedeće znakovne tipove:

- CHARACTER(n) ili CHAR(n)- predstavlja string duljine točno n znakova, a svaki

znak prikazuje se jednim bajtom. Dozvoljeni su alfanumerički i specijalni znakovi, a ako se

dopušta i unošenje null vrijednosti, ovaj tip podataka zauzima (n+1) byte memorije.

Maksimalna duljina nije određena standardom, a ako je stvarna duljina stringa manja od n,

sustav automatski dodaje prazne znakove do veličine n. Prilikom usporedbe stringova s

obzirom na veličinu veći je onaj koji je po abecedi poslije po rasporedu. Usporedba logičkih

stringova provodi se prema ASCII sustavu.

- CHARACTER VARYING(n) ili VARCHAR - predstavlja string maksimalne duljine

n znakova, a dopušten je unos alfanumeričkih i specijalnih znakova te null vrijednosti. Ovaj

tip podataka zauzima ukupan broj znakova+2 mjesta u memoriji, a ukoliko je duljina

unesenog stringa manja od n, preostala se mjesta ignoriraju.

- C(n) - predstavlja stringove fiksne duljine, a dopušteni su samo alfanumerički

znakovi. Zastario je, a umjesto njega koristi se CHAR.

- TEXT(n) - koristi se za stringove varijabilne duljine, a prihvaća sve znakove osim

null. Također je zastario, a zamijenio ga je VARCHAR.

Bit tipovi podataka predstavljaju nizove 0 i 1 koji se kao takvi unose u bazu. Dijele se na:

- BIT(n) - predstavlja niz bitova točne duljine n.

19

Page 22: 2 poglavlje(1)

- BIT VARYING (n) - predstavlja niz bitova maksimalne duljine n.

Numerički tipovi podataka se koriste za spremanje podataka numeričkog tipa, a dijele se na

dvije podskupine:

1) Precizni numerički tipovi podataka

- INTEGER - služi za prikazivanje cijelih brojeva s predznakom ili bez njega.

Zauzima 1 ili 4 bytea.

- SMALLINT - također služi za prikazivanje cjelobrojne vrijednosti, ali u memoriji

zauzima 2 bytea.

2) Približni numerički tipovi podataka

- NUMERIC(x,y) - decimalni broj koji ima ukupno točno x znamenki (+predznak) i y

znamenki iza decimalne točke.

- DECIMAL(x,y) - decimalni broj koji ima najmanje x znamenki

- FLOAT(x) - decimalni broj s pomičnim zarezom čiji su podtipovi podataka:

- FLOAT (8 byteova)

- REAL (4 bytea)

- DOUBLE PRECISION (sinonim za FLOAT)

SQL standard definira četiri podtipa podataka kojima se prikazuje vrijeme:

1. DATE se sastoji od polja - YEAR, MONTH i DAY. Pokazuje apsolutno vrijeme u

odnosu na jednu fiksnu točku u vremenu i ne dopušta negativne vrijednosti.

2. TIME – se sastoji od polja HOUR, MINUTE i SECOND. Posjeduje opciju WITH -

TIME ZONE koja ima dva parametra: TIMEZONE_HOUR i TIMEZONE_MINUTE.

3. TIMESTAMP – se sastoji od polja YEAR, MONTH, DAY, HOUR, MINUTE i

SECOND. Kao i DATE, TIMESTAMP pokazuje apsolutno vrijeme u odnosu na jednu fiksnu

točku u vremenu i ne dopušta negativne vrijednosti.

4. INTERVAL - služi za predočavanje određenog vremenskog intervala čija vrijednost

može biti i negativna. Dijeli se na: year-months (može sadržavati polja YEAR i/ili MONTH)

i date-time (može sadržavati polja DAY, HOUR, MINUTE i/ili SECOND).

Svaki od njih može sadržavati jedno ili više datumskih polja koja se dijele na:

- YEAR - vrijednost između 0001 i 9999

- MONTH - vrijednost između 01 i 12

- DAY - vrijednost između 01 i 31

- HOUR - vrijednost između 00 i 23

20

Page 23: 2 poglavlje(1)

- MINUTE - vrijednosti između 00 i 59

- SECOND - jedino polje koje dopušta unos vrijednosti koje nisu cjelobrojne (od 00.000...

i 61.999..., osim kod INTERVALA koji kao maksimalnu vrijednost sekunde dopušta

59.999).

Pritom YEAR ima najveći prioritet, a SECOND najmanji. Osim spomenutih tipova

podataka, često se koriste i:

- BLOB (Binary Large Object) - služi za spremanje slika, zvuka i sličnih podataka u

bazu maksimalne veličine do 2 GB

- CLOB (Character large Object) - njime se u bazu spremaju veći dokumenti

maksimalne veličine također 2 GB i

- DBCLOB (Double Byte Character Large Object) - također može spremiti podatke

duljine do 2 GB, a najčešće se koristi za spremanje dokumenata napisanih korištenjem

grafičkih stringova (double byte character data)

4.3. Stvaranje tablica i upis podataka

Tablica se sastoji od stupaca i redaka i sadrži podatke o određenim predmetima i/ili

pojmovima, poput autora, zaposlenika, knjižnice, knjige, člana i sl. Za izradu tablice

potrebno je kliknuti dvostruko na naredbu Create table in Design view te u okviru za

razgovor Table redom upisivati nazive i svojstva polja: Klikom na Data Type, u padajućemu

izborniku prikazati će se svi dostupni tipovi podataka. U stupcu Description može se polje

pobliže opisati (svrha, namjena i sl.). Prilikom spremanja tablice u okviru za razgovor

Access upozorava da za tablicu nije određen primarni ključ (iako nije nužno, ali je poželjno)

Slika 4. Okno za određivanje Primary key-a

Primary key je jedno ili više polja koja su jedinstvena za neku tablicu te se pomoću

Primary key polja tablice mogupostavljati u relacije (povezivanje) s drugim tablicama.

Korištenje Primary key-a ubrzava proces pretraživanja i spajanja podataka u tablicama. Svi

21

Page 24: 2 poglavlje(1)

podaci u ovim poljima su kontrolirano različiti ( znači da se ne mogu unositi iste vrijednosti

više puta ) i vrijednost ne može biti Null (prazno polje). Postoji nekoliko vrsta Primary key-a

- AutoNumber Primary key – za Primary key polje koristi se AutoNumber tip,

najčešće korišteno za identifikacijske brojeve, npr. knjiga, članova itd. Access će u slučaju ne

definiranja Primary keya automatski izabrati AutoNumber polje za Primary key.

- Single-field Primary key – za Primary key koristi sesamo jedno polje u tablici,

vrijednosti također ne mogu biti Null ili se ponavljati.

- Multiple-field Primary key – za Primary key korist se više polja u slučaju kada se ne

može sa sigurnošću tvrditi da samo jedno polje opisuje tu tablicu. Najčešća situacija u kojoj

postoji tablica s ovakvim Primary key-em je u many-to-many relacijama.

Nakon upisivanja svih potrebnih podataka i dodjeljivanja Primary key-a za primjer

knjižnice tablica za autore sada izgleda ovako:

Slika 5. Primjer tablice za bazu podataka knjižnice (autori)

Relacija se definira sa SQL naredbom CREATE TABLE, iza koje slijedi ime relacije,

te u zagradama navođenjem liste definicija atributa međusobno odvojenih zarezom. Atributi

se definiraju s imenom atributa iza čega slijedi specifikacija vrste atributa i ostalih svojstava

atributa. Primjer definiranja relacije AUTORI:

CREATE TABLE autori (

autori_sifra text not null,

prezime text not null,

ime text not null,

PRIMARY KEY (autori_sifra)

);

Primjer 1. Definiranje relacije autori

Za dodavanja zapisa u tablicu u popisu objekata Tables potrebno je dvostruko kliknuti

na naziv tablice. Ako je tablica prazna (tj. bez ijednog zapisa) biti će označeno polje u prvome

22

Page 25: 2 poglavlje(1)

stupcu prvoga (praznoga) redka sa sadržajem (AutoNumber). Na dnu okvira pisati će da je

označen 1 zapis od ukupno 1 zapisa. Novi podaci se upisuju u relaciju SQL naredbom

INSERT INTO, iza koje slijedi ime relacije te opcionalno lista imena atributa u zagradama, a

zatim riječ VALUES iza koje slijedi lista vrijednosti atributa u zagradama. Pogledajmo

primjer upisa autora u relaciju autori:

INSERT INTO autori

( autori_sifra, prezime, ime)

VALUES

( SIM, Simmons, Dan )

Primjer 2. Upis podataka u relaciju autori

Listu imena atributa nije potrebno navoditi ako lista vrijednost koja slijedi ide točno

po slijedu definicije relacije. Tekstualne vrijednosti su omeđene jednostrukim navodnim

znakom za razliku od brojčanih vrijednosti. Ako vrijednost za neki atribut nije navedena,

atribut poprima pre definiranu vrijednost koja se specificira kod definicije relacije, ili NULL

vrijednost (prazno). Nakon svih potrebnih upisa tablica izgleda ovako:

Slika 6. Okvir tablice autori

Postoje li već u tablici zapisi, biti će označeno polje u prvome stupcu prvoga redka, ali

će u njemu pisati neki broj (najčešće 1). Na dnu okvira pisati će da je označen 1 zapis od #

zapisa. Za dodavanje novoga zapisa potrebno se postaviti na prazan redak. Pri upisu podataka

potrebno je voditi računa o tipu polja koji je određen prilikom stvaranja tablice. U polje tipa

Text mogu se upisivati bilo koji znakovi. Međutim, u polje tipa Number mogu se upisivati

samo brojke. Tablicu nije potrebno pri izlasku posebno spremati/snimati, jer Access u nju

automatski sprema svaki novi zapis. Relacija se briše iz baze podataka naredbom :

23DROP TABLE <ime_relacije>

Page 26: 2 poglavlje(1)

Primjer 3. Brisanje relacije iz baze podataka

Isto se primjenjuje i na svim ostalim relacijama što se može vidjeti iz sljedećeg

primjera. Primjer definiranja relacije KNJIGE. Nakon upisivanja svih potrebnih podataka i

dodjeljivanja Primary key-a za primjer knjižnice relacija za KNJIGE sada izgleda ovako:

Slika 7. Primjer tablice za bazu podataka knjižnice (knjige)

Definiranje relacije KNJIGE izgleda ovako:

CREATE TABLE knjige (

knjiga_id text not null,

Naslov_knjige text not null,

isbn text not null,

godina_tiskanja number not null,

autori_sifra text not null,

odjeli_sifra text not null,

nakladnici_sifra text not null,

PRIMARY KEY (knjiga_id)

);

Primjer 4. Definiranje relacije knjige

Primjer upisa autora u relaciju knjige:

INSERT INTO knjige

( knjiga_id, naslov_knjige, isbn, godina_tiskanja, autori_sifra, odjeli_sifra,

nakladnici_sifra)

VALUES

( 203, Endymion, 978-0-553-57924-6, 1996, SIM, Strane_knjige, Bantam )

Primjer 5. Upis podataka u relaciju knjige

24

Page 27: 2 poglavlje(1)

Nakon svih potrebnih upisa tablica izgleda ovako:

Slika 8. Okvir tablice knjige

4.4. Mijenjanje i brisanje podataka

Podaci se mijenjaju SQL naredbom UPDATE. Primjer:

Problem: Promijeniti ime autoru David pod šifrom YAL u "Anthony David"!

Primjer 6. Izmjena postojećih podataka

Iza riječi SET dolazi lista atributa koji se mijenjaju međusobno odvojeni zarezima. Podaci se

brišu naredbom DELETE FROM. Primjer:

Problem: Izbrisati naslov knjige "U ime Boga" (343) iz knjiga!

Primjer 7. Brisanje upisanih podataka

25

UPDATE autor SET ime='Anthony David' WHERE autori_sifra=YAL;

DELETE FROM knjige WHERE knjiga_id=343;