Baze Podataka 1 - Informatika 4

Embed Size (px)

Citation preview

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    1/324

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    2/324

    VISOKA ŠKOLAZA EKONOMIJU I INFORMATIKU

    PRIJEDOR

    Lazo Roljić Zoran Novaković 

    BAZE PODATAKA

    Prijedor, 2008.god.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    3/324

    Biblioteka:Udžbenici 

     Autori:

    Lazo Roljić Zoran Novaković 

    Naziv:BAZE PODATAKA

    Recenzenti:Pr of. dr Ratko Lončarević 

    Prof. dr Krsto Bošmkal

    Izdavači: Visoka škola za ekonomiju i informatiku Prijedor

    &M Power Banja Luka

    Za izdavača: Prof.dr Aleksandar Đokić 

    Tiraž: 

    300

    Prvo izdanje

    Prijedor, 2008.

    ISBN 978-99955-20-06-9

    Zabranjeno fotokopiranje, preštampavanje i drugi oblici umnožavanjaove knjige. Sva prava zadržavaju izdavač i autor. 

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    4/324

     3

    SadržajSADRŽAJ.....................................................................................................3

    UVOD...........................................................................................................71. PROGRAM MICROSOFT ACCESS ......................................................9

    2. POKRETANJE ACCESSA..................................................................10

    3. REŽIMI RADA ACCESSA...................................................................12

    4. ZATVARANJE APLIKACIJE MS ACCESSA ......................................13

    5. OTVARANJE POSTOJEĆE BAZE......................................................14

    6. KREIRANJE NOVE BAZE ..................................................................15

    7. ZATVARANJE BAZE PODATAKA I PROGRAMA ACCESS..............18

    8. KOMPONENTE PROZORA APLIKACIJE ACCESS-A .......................188.1 Linija za naslove ............................................................................198.2 Linija menija...................................................................................198.3 Traka sa alatima prozora aplikacije................................................23

    8.3.1 Prikaz ili sakrivanje linije sa alatima aplikacije Accessa........24

    9. PROZOR BAZE PODATAKA..............................................................259.1 Traka sa alatima baze podataka-Database Toolbar .......................259.2 Lijevo okno prozora baze podataka-Left Pane ...............................26

    9.3 Desno okno prozora baze podataka-Right Pane............................2610. OBJEKTI BAZE PODATAKA..............................................................27

    10.1 Promjena vrste pogleda na objekte baze .....................................32

    11. TABELE - OSNOVNI OBJEKT BAZE PODATAKA............................3311.1 Načini kreiranja tabele..................................................................3611.2 Pojam, važnost i definisanje primarnog ključa..............................43

    11.2.1 Vrste primarnih ključeva .....................................................4411.2.2 Definisanje primarnog ključa i indeksa................................4411.2.3 Strani ključ..........................................................................45

    11.3. Određivanje svojstava polja tabele..............................................5011.4. Povezivanja tabela u bazi podataka............................................5411.4.1 Tipovi relacija .....................................................................5711.4.2 Postavljanje relacija............................................................58

    11.5. Obezbjeđivanje integriteta baze podataka...................................6011.5.1 Integritet entiteta.................................................................6011.5.2 Referencijalni integritet.......................................................6011.5.3 Postavljanje referencijalnog integriteta između dvije tabele......61

    11.6. Vrste i formati podataka ..............................................................6811.7. Analizator tabela .........................................................................70

    11.7.1 Pokretanje čarobnjaka za analizu tabela ............................70

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    5/324

     4

    12. PREGLEDANJE SLOGOVA TABELE ................................................7312.1 Korištenje statusne oblasti za navigaciju po slogovima u tabeli ....7412.2 Prikazivanje slogova pomoću linije za skrolovanje .....................7512.3 Korišćenje tastature za navigaciju po slogovima tabele................76

    12.4 Selektor slogova tabele................................................................7612.5 Unošenje ili dodavanje sloga u tabelu u pogledu Datasheet View ......7712.6 Promjena dimenzije kolona u tabeli..............................................7812.7 Podešavanje visine reda tabele....................................................8012.8 Editovanje slogova tabele u pogledu Datasheet View .................8012.9 Editovanje sadržaja polja .............................................................8112.10 Isjecanje, kopiranje i lijepljenje slogova u tabeli..........................8112.11 Korišćenje osobine Undo ...........................................................8312.12 Provjera spelovanja (pravilnog pisanja) podataka......................8312.13 Brisanje slogova tabele ..............................................................84

    12.14 Pretraživanje podataka u tabeli ..................................................8612.14.1 Pronalaženje određenog teksta u tabeli............................8612.14.2 Korišćenje specijalnih znakova za pretraživanje ...............87

    12.15 Preporuke za ispravno konstruisanje tabela ..............................87

    APLIKACIJA BAZE PODATAKA U MS ACCESSU - I DIO .......................92

    13. UPITI ..................................................................................................10013.1 Vrste prikaza upita .....................................................................10113.2 Kreiranje upita u dizajnerskom prikazu.......................................10613.3 Kreiranje upita korišćenjem čarobnjaka - Simple Query Wizard -a ....11113.4 Selektovanje polja koja će biti prikazana u upitu.........................11313.5 Tipovi upita.................................................................................11513.6 Kreiranje selekcionog upita samo za regledanje-tipa Snapshot...11813.7 Kreiranje upita za izračunavanje zbirnih vrijednosti ...................11913.8 Kreiranje akcionih upita .............................................................120

    13.8.1 Upit za pravljenje tabela (Make-table query).....................12113.8.2 Upit za ažuriranje (Update query).....................................12213.8.3 Upit sa unakrsnim prikazom podataka (Crosstab Query)..12413.8.4 Upit za dodavanje slogova - Append query ......................128Zadatak 8: Dodavanje sloga podataka tabeli pomoću upita........13313.8.5 Upit za brisanje slogova - Delete query, ...........................13413.8.6 Kreiranje parametarskih upita (Parameter Query)............13713.8.7 Pravljenje upita s poljem za izračunavanje .......................140

    13.9 Funkcije u Accessu ....................................................................14713.9.1 Funkcija odlučivanja .........................................................14713.9.2 Funkcija za testiranje praznih polja...................................14813.9.3 Datumska funkcija DateDiff ..............................................14813.9.4 VBA kód funkcije DateDiff.................................................15013.9.5 SQL/Upit funkcije DateDiff ...............................................15013.9.6 Upiti sa izračunskim poljem ..............................................15113.9.7 Korištenje Expression Buildera.........................................152

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    6/324

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    7/324

     6

    17.11.1 Pregledanje izvještaja prije štampanja-Print Preview......26217.11.2 Štampanje izvještaja.......................................................26317.11.3 Eksportovanje izvještaja .................................................26417.11.4 Čuvanje izvještaja...........................................................264

    17.12 Modifikovanje izvještaja............................................................26417.12.1 Promjena dimenzija polja................................................26517.12.2 Sortiranje podataka ........................................................26517.12.3 Dodavanje ili brisanje polja.............................................26717.12.4 Paleta alata Toolbox.......................................................26717.12.5 Dodavanje novog tekstualnog okvira text box-a) u izvještaj..26817.12.6 Poravnavanje objekata na izvještaju...............................268

    18. MAKROI (MACROS) ..........................................................................27318.1 Kreiranje i editovanje makroa.....................................................27518.2 Pokretanje makroa....................................................................277

    18.3 Objašnjenje nekih makronaredbi i primjeri upotrebe...................28619. MODULI..............................................................................................291

    19.1 Vrste modula..............................................................................29319.2 Pisanje korisničkog kôda............................................................29519.3 Izgled i sastav modula................................................................29719.4 Osnova koncepta VBA ...............................................................29819.5 Pozivanje VBA editora................................................................30019.6 Elementi glavnog prozora editora...............................................301

    19.6.1 Početni izgled prozora editora ..........................................30219.6.2 Prozor projekta.................................................................30319.6.3 Prozor osobina .................................................................305

    19.6.3.1 Konfigurisanje osobina vizuelno..............................30719.6.3.2 Konfigurisanje osobina programski.........................307

    19.7 Opcije prikaza komandi u editoru ...............................................309

    20. PROGRAMIRANJE U VBA PROGRAMSKOM JEZIKU.....................31120.1 Vizuelno programiranje ..............................................................31120.2 Događaj......................................................................................31220.3 Faze pisanja VBA programa.......................................................313

    21. PRETVARANJE MAKROA U VBA KÔD............................................320

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    8/324

     7

    Uvod

    Pred vama se nalazi prvo izdanje knjige Baze podataka-ŠkolaAccessa. Knjiga je namijenjena studentima koji u okviru nastavnog plana iprograma izučavaju predmete Baze podataka i Projektovanje informacionihsistema, kao pomoć  u savladavanju i praćenju predavanja i vježbi iz tihpredmeta. Mogu je koristiti i studenti drugih fakulteta koji slušaju predmetInformatika po ECDL Modul 5 programu, kao i za predmet Informacionisistemi po ECTS programu. Po njoj se mogu pripremati studenti svihfakulteta koji po nastavnom programu izučavaju predmete Baze podataka,Menadžment informacionih tehnologija, Poslovna informatika, Upravljačkiinformacioni sistemi i Poslovni informacioni sistemi.

    Da bi mogao pratiti predavanja i raditi vježbe iz ovog predmeta, odčitaoca se zahtjeva da ima solidno znanje i iskustvo u obradi teksta(korišćenje MS Word-a) kao i u kompjuterskom tabelarnom izračunavanju(korišćenje MS Excel-a) i da je već  proučio sadržaj knjige Osnove bazapodataka, od istog autora, koja je prethodila ovoj knjizi, ili neku druguuvodnu literaturu iz osnova o bazama podataka.

    Radi lakšeg razumijevanja tematike i savladavanja gradiva, izloženamaterija podijeljena je po grupama tema:

    - Teoretski koncept logičke i fizičke baze podataka,

    - Osnovni pojmovi, principi i standard relacionih baza podataka,

    - Radno okruženje MS Access-a

    - Organizacija tabela (Tables) i njihovo kreiranje i povezivanje

    - Upiti (Queries) i njihovo kreiranje i korišćenje

    - Obrasci (Forms) i izvještaji (Reports) i njihovo kreiranje i korišćenje

    - Stranice za pristup podacima na web-u (Data Access Pages)

    - Makroi (Macros), Moduli (Modules) i VBA programiranje i

    - Kreiranje aplikacija Access relacione baze podataka.

    Izloženim gradivom nastojalo se čitaoca uputiti u osnovne pojmovevezane za relacione baze podataka i kroz nekoliko primjera u svakompoglavlju dati mu uvid u kreiranje jednostavnih aplikacija MS Accessa1.Sastavni dio knjige su dvadesetak praktičnih vježbi, u kojima se na

     jednostavnim primjerima pokazuje kako se praktično primjenjuje pređenogradivo, kao i desetak zadataka za samostalnu vježbu sa prikazanimrješenjima, u kojima se čitaocu pokušava nametnuti samoprovjera pređenog

    1 MS Access®© je softverski proizvod firme Microsoft®-USA, koji je registrovan i Copyright zaštićeniproizvod.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    9/324

     8

    gradiva. Neki od zadataka imaju i nešto detaljnija uputstva koja olakšavajunjihovo rješavanje, dok su drugi klasično postavljeni.

    Nadamo se da će studentima ova knjiga pomoći u lakšemsavladavanju gradiva i da će pomoću nje ostvariti uspjeh na ispitu s kojimćemo svi biti zadovoljni.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    10/324

     9

    1. PROGRAM MICROSOFT ACCESS

    Kako smo u knjizi Uvod u baze podataka naveli, baza podataka  je 

    kolekcija povezanih podataka sa višestrukom namjenom. To je skuppodataka koji se odnose na jednu temu ili namjenu. Možda je bazu podatakalakše shvatiti kao skladište opšte namjene za smještaj i obradu bilo kojevrste informacija, prema vašoj želji. Na primjer, u bazu podataka možetesmještati imena i adrese. Takođe biste mogli da skladištite podatke o vašojbiblioteci, videoteci, fonoteci, zalihama i naudžbama vašeg preduzeća,uplatama i isplatama kućnog budžeta, iz blagajne ili sa žiro računa banaka,kao i svih oblika evidentiranja i prikazivanja ostalih podataka o poslovanju.

    Baza podataka je više od samih podataka. Ona sadrži objekte koji ćevam pomoći pri upravljanju podacima, kao što su obrasci (za unos ili

    ažuriranje podataka) i izvještaji (za prikaz i/ili štampanje probranih grupapodataka u odgovarajućem obliku) kao i jedna ili više tabela u kojeskladištite podatke koji su značajni za vas.

    Komercijalna definicija za Microsoft Access je da je to moćan vizuelnisoftverski alat sa kojim se izrađuju aplikacije baza podataka u Windowsokruženju. Korisnici Windows-a mogu takođe koristiti Access da manipulišupodacima i generišu izvještaje. Uže stručna definicija, međutim, je da jeMicrosoft Access program za kreiranje i upravljanje relacionom bazompodataka. Kao što smo ranije naveli, relaciona baza podataka je vrsta

    sistema za organizovanoč

    uvanje podataka u tabelama na nekommemorijskom mediju. Ona koristi istovjetne vrijednosti iz dvije tabele zastavljanje u odnos (relaciju) informacije u jednoj tabeli prema informacijamau drugoj. U takvu bazu podataka informaciju smještamo (memorišemo)samo jednom, što je čini brzom i efikasnom. MS Access je programskisistem za organizovanje relacione baze podataka i rad s podacima u njojomogućuje sistem za upravljanje relacionom bazom podataka – RDBMS(Relational Data Base Management System ). To je kompjuterski programkoji podržava pristup bazama podataka na način da omogućava izgradnjubaza podataka, unošenje podataka u njih i manipulisanje sa podacima. Podmanipulisanjem   podacima podrazumijeva se pretraživanje i prikazivanjepodataka iz baze, unošenje novih podataka, te mijenjanje ili brisanjepostojećih podataka, tj. ažuriranje 2  podataka. Kako su datoteke same posebi baza podataka, DBMS sistem obavlja sve ove poslove, tj. strukturisanjepodataka, smještanje podataka i povezivanje slogova. Uobičajeno je da senaredbe za manipulisanje podacima nazivaju upitima  (engl. queries ), jer onivrše “propitivanje” baze, bez obzira da li se usput vrši i ažuriranje podataka.

    U početnim verzijama nesavršen, program je danas prerastao unajozbiljnijeg konkurenta za razvoj aplikacija kod kojih je osnova bazapodataka. Dok se nekada programirala svaka operacija nad bazom, u

    2 Ažuriranje podataka predstavlja izmjenu ili brisanje sadržaja zapisa ili polja ili upisivanje novog zapisa.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    11/324

     10

    Accessu je većina stvari automatizovana i uz oslanjanje na uslugeoperativnog sistema često se do gotove jednostavne baze dolazi koristećiisključivo rad sa mišem bez napisane ijedne linije programskog kóda. UAccessu svaki podatak ili polje se tretira kao objekat (Object) koji ima skup

    osobina (Properties). Zato kažemo da je Access objektni program za radbazom podataka i da se formiranje baze naziva objektno programiranjebaze.

    Microsoft Access omogućuje relativno laku izradu aplikacije za rad sbazama podataka, jer sadrži dosta čarobnjaka koji mogu na osnovu samonekoliko vaših odgovora da izrade jednostvne objekte, koje kasnije možetepo volji nadograđivati pomoću brojnih alata.

    Daje potpunu slobodu određivanja tipova podataka, načina njihovogčuvanja i izgleda prilikom prikaza i ispisa, te omogućuje lako povezivanje

    srodnih informacija.Dakle, prednosti su grafički interfejs koji omogućuje izradu aplikacije

    bez pisanja složenog koda, te spremanje svih podataka u jednu datoteku štoolakšava prenos baze na druge računare. Nedostatak mu je sporiji rad umreži računara i sa bazama podataka velikim dimenzija.

    2. POKRETANJE ACCESSA

    Microsoft Access pokreće se kao i svaki drugi program u Windowsu.

    To se može ostvariti na nekoliko načina:(1) izborom komandi

    Start→All Programs→Microsoft Office→Microsoft Office

    Access 2003

    Slika 1. Meni Start-All Programs

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    12/324

     11

    (2) klikom na ikonu programa Microsoft Office Access 2003 u menijuStart.

    Slika 2. Ikone prečica u Meniju Start

    (3) Da biste otvorili Microsoft Access uz pomoć prečice na desktopuračunara: dva puta kliknite na ikonu prečice  Microsoft Access-a na

    desktopu Windows-a .

    (4) Access automatski pokrećete dvoklikom na bilo koju ikonu fajla u

    MS Accessu .

    Drugi korak nakon startovanja programa je otvaranje postojeće bazepodataka ili kreiranje nove baze. Ako prvi put pokrećete MS Access, ili ako jeMS Access već pokrenut, otvaranje baze podataka vršite izborom iz menijaopcije: File→Open Database ili klikom na dugme Open na liniji alata:

    Slika 3. Alat File-Open

    Kreiranje nove baze podataka vršite izborom iz menija opcije: File→New

    Slika 4. Meni File-New

    Ili klikom na ikonu New  na liniji alata

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    13/324

     12

    Slika 5. Alat File-New

    3. REŽIMI RADA ACCESSA

    Access ima tri osnovna radna režima:-  Režim za pokretanje (Startup mode ) omogućava da konvertujete,

    šifrirate, dešifrujete i popravite podatke iz baze, izborom komandi iz

    podmenija Database   Utilities   i Security , menija Tools, prije otvaranjabaze podataka. Ove komande su dostupne samo ako baza podataka nijeotvorena.

    Slika 6. Meni StartUp moda Accessa

    Slika 7. Opcije menija Tools-Security

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    14/324

     13

    -  Režim projektovanja (Design mode ) omogućava da napravite imodifikujete strukturu tabela i upita, razvijate obrasce za prikaz iuređivanje podataka, kao i da formatirate izvještaje za štampanje. Ovajrežim se koristi kada pravimo novu bazu podataka ili kada je otvorena

    neka postojeća baza podataka.-  Režim izvršavanja (Run mode ) prikazuje dizajn tabela, obrasca i

    izvještaja u posebnim prozorima za dokument. Makroe izvršavate takošto jedan od njih izaberete, a zatim izaberete režim izvršavanja. Ovajrežim se ne primjenjuje na VBA module, jer se funkcije izvršavaju kadase pojave kao elementi upita, obrazaca ili izvještaja. Režim izvršavanjaza tabele i upite naziva se tabelarni pogled (Datasheet  View ), za obrascepogled Form (Form View), za strane za pristup podacima (Data AccessPages View)) pogled Page , a za izvještaje pogled Print Preview .

    Linija menija

    Linija alata

    Prozor

    Database

    Traka sa

    objektima

    Dugmad za izbor režima rada na

    Liniji alata prozora Database

    Ikone tabela

    Slog na kojem

    se trenutno radi

    Poruka o

    statusnoj liniji

    Otvaranje podorme

    podataka

    Izbor sloga na kojem

    se trenutno radi Traka za pomjeranje kroz polja

    Glavna forma

    aplikacije

    Slika 8. Osnovni prikaz prozora aplikacije Accessa za tabele

    4. ZATVARANJE APLIKACIJE MS ACCESSAAplikacija se zatvara klikom na opciju Exit u padajućem meniju File ili

    klikom na dugme u gornjem desnom uglu prozora aplikacije.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    15/324

     14

    Slika 9. Meni File-Exit

    5. OTVARANJE POSTOJEĆE BAZEU prozoru aplikacije Accessa okvir za komunikaciju Open  otvaramo

    klikom na opciju (naredbu) Open u padajućem meniju File ili klikom na ikonu

    Open na liniji sa alatima ili kombinacijom tastera Ctrl+O. Zatim, u poljuLook in:  pronalazimo folder u kojem se nalazi baza koju želimo da otvorimo,

    označimo je i kliknemo na dugme Open da je otvorimo.

    Slika 10. Prozor Windows Explorera u prozoru aplikacije Accessa

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    16/324

     15

    Drugi način je da otvorimo Windows Explorer   – alat za rad safajlovima, u kojem pronađemo folder u kojem se nalazi baza koju želimo daotvorimo, a zatim je dvoklikom na ikonu baze otvaramo.

    6. KREIRANJE NOVE BAZEDa bismo kreirali bazu podataka moramo prvo pokrenuti Microsoft

    Access. Nakon pokretanja Accessa na jedan od prva dva prethodno opisananačina otvara se prozor aplikacije Accessa:

    Slika 11. Prozor aplikacije nakon startovanja Accessa

    To automatski otvara okno za zadatak (Task Pane) Getting Started , ukojem biramo šta želimo da radimo u Accessu - da napravimo novu bazu(Create a new file...) ili otvorimo postojeću (Open ).

    Mi ćemo napraviti novu bazu i to na jedan od tri načina: (1)kliknućemo na Create a new file..., (2) u meniju File izabrati opciju New..., ili

    (3) na liniji alata kliknuti na ikonu New   .

    Nakon toga, u prozoru aplikacije Accessa, desno, otvara se oknoNew File (slika 12), u kojem nas Access, u okviru New , „pita“ da li želimo dapravimo potpuno novu (praznu) bazu podataka sasvim iz početka „Blankdatabase ...“, praznu HTML stranicu za pristup podacima - „Blank dataaccess page...“, novi Access projekat baze podataka korišćenjem postojećihpodataka iz neke baze - „Project using existing data ..“, novi Access projekat

    baze podataka korišćenjem potpuno novih podataka - „Project using newdata ...“, ili želimo da pravimo novu bazu podataka na osnovu podataka izneke postojeće baze podataka - „From existing file ...“.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    17/324

     16

    Slika 12. Okno-alatna traka New File

    Pored toga, u okviru Templates  Access nam nudi da pribavimo neki

    unaprijed pripremljeni šablon baze podataka on-line na Internetu, na lokalnojmreži ili na nekom drugom mjestu – „Search online for:“   , neki od šablonabaze podataka unaprijed napravljenih koji su dostupni online na sajtu MSOfficea – „Templates on Office online“, ili neki šablon na korisnikovomračunaru – „On my computer...“.

    Nakon što odaberemo jednu od ponuđenih opcija, u našem slučajuBlank database..., otvara se okvir za komunikaciju File New Database , kojinas, pored ostalog, „pita“ za ime nove baze podataka - „File name“ i nudinam da izaberemo neki od postojećih foldera ili da kreiramo novi folder,ikona New   , u kojem ćemo da smjestimo taj naš fajl baze podataka –

    „Save in:“.

    Slika 13. Prozor File New Database  

    Daćemo ime bazi (imenovaćemo bazu) ili ćemo prihvatiti ponuđenoime (db1) i sačuvati je na željeno mjesto na hard disku ili na nekoj drugojeksternoj memorijskoj jedinici. Postupak završavamo klikom na dugmeC reate . I tek sada smo spremni i u mogućnosti smo da kreiramo

    bazu podataka.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    18/324

     17

    Vjerovatno ste u toku opisa ove procedure primijetili da je postupakčuvanja (Save ) nekog dokumenta u MS Accessu nestandardno drugačiji odostalih aplikacija MS Officea (MS Word, MS Excel, MS Power Point i dr.). Zarazliku od ostalih programa iz paketa MS Office samo MS Access zahtijeva

    upisivanje (spremanje, čuvanje) nove baze (datoteke, fajla) na samompočetku rada, dakle snimamo (Save) „praznu“ datoteku u koju se (tek)kasnije unose (ažuriraju) sve promjene i to izborom opcije Save iz menijaFile ili klikom na ikonu na liniji alata, a može i kombinacijom tastera natastaturi Ctrl+S . Novonastale promjene moguće je takođe sačuvati i klikomna ikonu za izlaz iz pojedinih prozora (objekata) baze kada Accessautomatski zahtijeva da se izmjenjena ili ažurirana baza sačuva.

    To je zato jer kod programa za rad sa bazama podataka integritetpodataka je na prvom mjestu. To znači da svaki podatak koji unesemo,izmijenimo ili obrišemo trenutno se sačuva na disk, a naredba Save  pri tomnema isto značenje kao u drugim programima. Aktiviranjem naredbe Save snima se oblik prozora u kome radimo, a ne sami podaci. Otuda zahtjev zasnimanjem datoteke ne predstavlja iznenađenje, već razumnu pojavu.

    Kompletna baza podataka sa svim objektima i korisničkim interfejsomsnima se u jedinstvenu datoteku sa ekstenzijom (sufiksom) .mdb.

    Ukoliko želite postojeću bazu da sačuvate na disketi, USB disku ili nanekom drugom mediju, to ne možete uraditi direktno naredbom Save As ,kako ste to naučili u drugim MS  Office  aplikacijama, nego to možete obavitiiz Windows Explorera   kopiranjem (Copy ) sačuvane datoteke ili njenimslanjem na drugi uređaj (Send To ).

    Dakle, nakon izbora opcije otvaranja nove baze, davanje imena injenog smještanja na disk, ili otvaranje neke postojeće baze, u prozoruaplikacije Accessa otvara se prozor baze  podataka , kao na slici dole (slika14) 

    Slika 14 

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    19/324

     18

    U slučaju izboraTemplates  →  On my computer...  u desnom okviruprozora (Task Pane ), umjesto Blank Databases..., dobivamo okvir zakomunikaciju Templates  kao na slici dole (slika 15)

    Slika 15. Ponuda postojećih šablona baze podataka na korisnikovom računaru

    7. ZATVARANJE BAZE PODATAKA IPROGRAMA ACCESSBazu podataka zatvaramo iz menija File naredbom Close ili klikom na

    dugme prozora Database . Klikom na prozora MS Access  zatvaramokompletan program MS Access .

    8. KOMPONENTE PROZORA APLIKACIJE

    ACCESS-APoslije pozdravnog ekrana aplikacije, pojavljuje se prozor zadatka

    (projekta). Na desnoj strani prozora nalazi se Task Pane  (okno zadatka) kojinam daje mogućnost izbora vrste baze: kreiranja nove baze-New   iliotvaranja neke postojeće. Tom prilikom otvara se glavni prozor Access-a,koji je u mnogo čemu sličan prozorima Word-a, Excel-a i Power Point-a.Prozor aplikacije Access-a prikazan je na narednoj slici (slika 16).

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    20/324

     19

    Slika 16 Odzivni ekran-Prozoraplikacije Access-a

    Slika 17: Prozor baze podataka

    Sastavni dijelovi prozora Accessa, koji se mogu uočiti na ekranu, su:linija za naslove (Title bar ), linija menija (Menu bar ), traka sa alatima (Toolbar ) i u centru ekrana je prozor baze podataka (Database window ). Sastavnidijelovi prozora baze podataka su: linija za naslove, traka sa alatima, lijevookno (Objects ) sa dugmadima za izbor objekta i desno okno sa ponudomopcija načina pravljenja objekta izabranog u lijevom oknu.

    Primjetite na gornjim slikama da i prozor aplikacije Accessa (slika 16)i prozor baze podataka (slika 17) imaju liniju za naslov (titlle bar ) i liniju alata

    (tool bar ). Uvjerićete se, a sada samo da istaknem, da alati na jednoj i drugojliniji imaju potpuno različite funkcije.

    8.1 Linija za naslove

    U samom vrhu glavnog prozora Accessa nalazi se linija za naslove(naslovna traka) na kojoj se nalazi ime baze koja se obrađuje.U našemprimjeru na slici 16. naziv baze je db1. To je, podrazumijevajući naziv kojiAccess daje svakoj bazi koju prvi put kreiramo i kojoj nismo mi promijeniliime.

    8.2 Linija menija 

    U liniji menija (Menu bar ) ispisani su svi meniji koji se mogu koristiti(raspoloživi su) u MS Access-u. Sistem menija i paleta alatki funkcioniše nasličan način kao i ostalim programima Microsoft Office-a, dok se sve ostalosmatra radnom površinom u kojoj se razvija i radi MS Access aplikacija. Nasamom dnu prozora MS Access-a smještena je statusna linija (Status bar )preko koje se korisniku proslijeđuju dodatne informacije o tekućem objektu iinformacije koje se odnose na tastere: Insert , Num Lock, Caps Lock, ScrollLock,... 

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    21/324

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    22/324

     21

    Edit meni sadrži standardne stavke za pokretanje komandi ažuriranja(Cut, Copy , Paste , Undo, Delete, Rename) za rad sa objektima iz baze, kao imogućnost kreiranja prečice (Shortcut-a) na dati objekat. Za sve ove alatena raspolaganju su i odgovarajuće stavke PopUp (brzog) menija koji dobijate

    desnim klikom na objekat, pa ih koristite za brzi i kvalitetniji rad, jer MSAccess, kao i OS Windows predstavlja objektno orijentisano radnookruženje.

    Slika 20. Sadržaj opcija menija Edit

    View meni sadrži stavke izbora tipa objekta u prozoru bazepodataka, određivanje tipa ikona i njihov raspored, kao i pregled svojstava(Properties ) objekta i programskog kóda objekta (forme i moduli). Prekostavke Toolbars omogućen je pristup korisničkom podešavanju sistema

    menija i paleta alata.

    Slika 21. Sadržaj opcija menija View

    Insert meni sadrži opcije za kreiranje novog objekta u bazi, kao iautomatsko generisanje forme ili izvještaja na osnovu selektovane tabele iliupita (kao izvora podataka).

    Tools  je daleko najznačajniji meni, a u svom prvom dijelu sadrži

    poznate Microsoft Office alate Spelling i AutoCorrect. Spelling izvršavapravopisnu provjeru (engleskog) teksta dok AutoCorrect automatski ispravljaneke karakteristične greške (po želji).

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    23/324

     22

    Slika 22. Opcije menija Tools

    Korišćenje AutoCorrect -a je slično na nivou cijelog Microsoft Office-a,pa ga ovdje nećemo posebno objašnjavati. Database Utilities sekcija ovog

    menija, nudi mogućnost konvertovanja (Convert) fajla iz ranijih verzija MSAccess-a u fajl novog formata, a (u verziji MS Access 2000) baza se može

    konvertovati i u fajl starijeg formata (za MS Access 97), mada ne funkcionišekorektno u slučaju aplikacije, ipak, predstavlja alat od izuzetnog značaja.Compact obezbjeđuje sažimanje baze (kao i opravke fajla poslijeneregularnih izlazaka iz aplikacije-Repair). Sažimanje se može uporediti sadefragmentacijom diska, s tim da se odnosi na MS Access-fajl. Radi se oslijedećem: u toku rada na dizajnu baze, kao i u slučajevima većih zahvatana brisanju i dodavanju slogova, obrisani objekti izazivaju fragmentaciju fajla(samim tim on nepotrebno zauzima više prostora na disku), te ga sažimanjesvodi na optimalnu veličinu. Ovo se preporučuje kod velikih izmjena u fajlu.Repair se automatski startuje ako MS Access otkrije da nešto nije u reduprilikom otvaranja baze, dok je u verziji MS Access 2000 ovaj alat integrisanuz Compact. Ako se baza ponaša nepredvidljivo, ovaj alat se uvijek možestartovati i manuelno iz menija, a daje dobre rezultate samo u slučajudobrog relacionog modela (sa što manje propusta u optimizaciji) i uključenogreferencijalnog integriteta u što većem broju relacija.

    Window meni sadrži stavke za aranžiranje prozora na ekranu(objekti koji se obrađuju).

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    24/324

     23

    Slika 23. Opcije menija Window

    Help meni ima uobičajene alate za pomoć.

    Slika 24. Opcije menija Help

    8.3 Traka sa alatima prozora aplikacijeAccess ima 29 standardnih traka sa alatima (Toolbars ) koje se biraju

    po potrebi, a nakon otvaranja Accessa vidljiva je standardna (StandardToolbar ). Bilo koja operacija koja se može uraditi kada se klikne na dugmena liniji alata može da se uradi i izborom opcija iz menija, ali je korišćenjelinije sa alatima mnogo brži način. Linije sa alatima izabiraju se (aktiviraju se)izborom opcije Toolbars →Customize...  iz menija View,  zatim  klikom natabulator Toolbars i čekiranjem željene linije sa alatima. Na donjoj slicividimo da su u našem slučaju aktivne linije alata Database  i Menu bar .

    Slika 25: Okvir za dijalog sa opcijama izbora traka sa alatima

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    25/324

     24

    Iscrtana dugmad na liniji alata predstavljaju brzu i laku prečicu doodređenih akcija. Na primjer, ako želite da sačuvate tabelu uz pomoć menijavi ćete prvo kliknutli na File, a zatim na Save . Korišćenje linije sa alatima daizvedete operaciju čuvanja dokumenta uštedjeće vam jedan klik. Kliknete

     jedanput na to dugme da sačuvate tabelu.

    Slika 26. Traka sa alatima

    Neke komande u meniju imaju sličice ili ikone povezane s njim. Ovesličice mogu se takođe pojaviti i kao prečice u liniji alata, kao što je topokazano (uokvireno) na slici 26.

    8.3.1 Prikaz ili sakrivanje linije sa alatima aplikacijeAccessa

    Linije sa alatima (Toolbars ) mogu se postavljati i sklanjati (sakrivati)sa ekrana. To je moguće izvesti na slijedeće načine:

    -  U dizajn pogledu (Design View ) otvorene baze podataka, ili prijeotvaranja baze podataka, iz menija View  izabiremo opciju Toolbars  → Customize... koja otvara padajući meni ugrađenih traka sa alatima(slika 27), ili

    -  Isti meni dobivamo desnim klikom na prazan prostor za prikaz linijesa alatima i izbor opcije Customize.... (slika 28).

    Slika 27. Izbor iz menija Viewopcije za sklanjanje ilipostavljanje traka sa alatima

    Slika 28. Izbor izbrzog menijaopcije zasklanjanje ilipostavljanje trakasa alatima

    Slika 29. Okvir Customize zaIzbor mogućih traka sa alatima

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    26/324

     25

    Izborom opcije Customize...  otvaramo okvir (slika 29) u kojemmožemo označiti trake sa alatima koje želimo da prikažemo u padajućemmeniju i koji nam služi za postavljanje i sklanjanje traka sa alatima.

    9. PROZOR BAZE PODATAKAOtvaranjem Microsoft Accessa, odnosno pokretanjem postojeće ili

    izborom kreiranja potpuno nove baze podataka, odmah se susrećemo saprozorom  Database   (glavnim prozorom baze podataka) koji se nalazi usredištu glavnog prozora aplikacije Accessa.

    Slika 30: Izgled prozora baze podataka 

    9.1 Traka sa alatima baze podataka-Database Toolbar  

    Traka sa alatima za bazu podataka nudi operacije koje mogu bitiizvedene sa različitim objektima baze podataka, uključujući dugmad da seotvori neki objekt (Open ), da se kreira novi objekt (Design ) i da se obriše

    neki objekt (alat ).

    Slika 31: Traka alata baze podataka

    Namjenu preostalih četiri alata možete, kao što vjerovatno znate,utvrditi sami ako pri startovanom Accessu mišem pokažete na nekog od njihna traci, nakratko sadržite pokazivač miša nad njim i pojaviće vam se tzv.„tultip“ (engl. Tooltip ). Tekst tultipa će vam objasniti namjenu tog alata.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    27/324

     26

    9.2 Lijevo okno prozora baze podataka-Left Pane  

    Slika 32: Lijevo okno prozora baze podataka

    Objekti baze podataka kreiraju se i otvaraju prvo izborom nekog odobjekata izlistanih u lijevom oknu prozora baze podataka, a zatim izboromopcije kreiranja objekta ili izbora već postojećeg objekta, u desnom oknu.

    9.3 Desno okno prozora baze podataka-Right Pane

    Slika 33: Sadržaj desnog okna kada je u lijevom oknu izabrana opcija Tables  

    Izborom bilo koje od prvih četiri opcije u lijevom oknu -- Tables ,Queries , Forms   ili Reports  – otvara se u desnom oknu dodatni izbor opcije

    načina kreiranja koji je povezan sa izborom objekta u lijevom oknu.Izborom dugmeta Tables   u lijevom oknu, na primjer, ispisuju se u

    desnom oknu najmanje tri opcije: 1) Create a table in Design view -opcijakreiranja tabele manuelno u dizajn pogledu, 2) Create a table by usingwizard- opcija kreiranja tabele pomoću čarobnjaka za tabele i 3) Create tableby entering data- opcija kreiranja tabele odmah-unošenjem podataka. Desnookno takođe, u obliku ikone, prikazuje svaki objekat koji ste već  kreirali ubazi podataka.

    Prozor  baze podataka  je osnovna cjelina za sve operacije saprimjerima gotovih baza ili sa bazama podataka koje sami napravite. Gotovosve operacije koje radite sa MS Access-om počinjete sa izborom opcije izglavnog prozora baze podataka. Iz lijevog okna, obilježenog kao Objects ,

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    28/324

     27

    možete odabrati bilo koji objekat  (tabele, upiti…). Odabiranjem objektaodlazite u kategoriju odabranog objekta. Na primjer, ako odaberete Tables  vidjećete kategoriju Tables. 

    Slika 34. Ponuda opcija u desnom oknu kategorije Tables  

    Zadatak 1

    Ispišite sadržaje menija File, Edit, View, Insert, Tools, Window  iHelp iz glavne linije Access menija. Pošto je ovdje meni iscrtan, možete doleispod svakog da ispisujete sadržaj svakog od njih. Pri tome se služitestartovanim Accessom.

    Slika 35: Linija menija

    Identifikujte operacije koje se izvode sa svakim od dugmadi u glavnojliniji menija Accessa.

    Slika 36. Traka alata

    Neka dugmad na traci alata se pojavljuju takođe uz opcije izlistane umeniju. Za svako dugme u glavnoj traci alata Accessa identifikujte u menijugdje se ta operacija može izvesti.

    10. OBJEKTI BAZE PODATAKA

    Baza podataka u MS Access-u se čuva kao “mdb” fajl i može dasadrži slijedeće vrste objekata:

    Tabela (Table)  je osnovni tip objekta u bazi i predstavlja izvorpodataka. To su prvi objekti koji se kreiraju u bazi. U tabelama se čuvajupodaci, organizovani u polja (kolone, eng.Fields). Sva definisana polja čine

    slog (zapis, red, eng. Record). Kvalitetna organizacija podataka u tabelamabaze, kao i njihovim dobrim vezama (relacionom modelu) je preduslov zapravljenje uspješnog informacionog sistema.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    29/324

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    30/324

     29

    Organizacija podataka Funkcije za podršku

    Tabela Tabela Tabela

    Upit

    Forma Izvještaj

    Makro

    Modul

    Bezbjednost

    Štampanje

     Slika 37: Osnovni objekti i funkcije za podršku Accessa.

    Kako se na slici 37 vidi, na osnovu tabela prave se upiti, a na osnovuupita (i/ili tabela) prave se obrasci (forme) i izvještaji. Međutim, obrasce iizvještaje moguće je praviti i direktno na osnovu tabela, ali i u kombinacijitabela i upita. Za kompleksnije pretraga za podacima i njihovo prikazivanje u

    izvještajima koriste se objekti: makroi i moduli VBA kóda.Slično prethodnom prikazu sa slike 37, na narednoj slici (slika 38) još

     jednom je simbolično prikazan odnos objekata u bazi podataka MS Accessaali posmatrano odozdo prema gore.

    Slika 38: Odnos među objektima baze podataka u Accessu

    Koncepcijski, Access je dizajniran u hijerarhijskom obliku u pet nivoa(slika 39). Najniži nivo u hijerarhiji predstavljaju objekti: tabele, upiti, obrasci i

    ↔ Forme i Izvještaji

    ↔ Upiti

    ↔ Tabele

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    31/324

     30

    izvještaji, koji korisniku daju mogućnost da ih sam oblikuje po svojim željamai potrebama. Pri tome možemo koristiti različite vrste podataka-numeričke,tekstualne, vremenske i grafičke. Jednostavno procesiranje podataka jeizvodljivo uz upotrebu funkcija i formi (obrazaca). Makroi omogućavaju

    automatsko izvršavanje funkcija bez programiranja. Programski jezik VBA(Visual Basic for Application ) je za upotrebu veoma zahtjevan, jer supostupci procesiranja veoma kompleksni. Najviši nivo predstavlja WindowsAPI (Application Programming   Interface ), koji poziva funkcije ili bibliotekenapisane u drugim programskim jezicima, kao što su C, Java i Visual Basic.To znači veliku povezljivost sa drugim programima. Koncept Accessaomogućava da na svakom nivou korisnik može da kreira ili koristi sveelemente nivoa koji su ispod tog nivoa u hijerarhiji na kojem se nalazi.

    Slika 39: Hijerarhijska koncepcija Accessa

    MS Access je multifunkcionalni program. Sastoji se od mnoštvapovezanih alata za generisanje, organizovanje, izdvajanje, prikazivanje,štampanje i objavljivanje podataka.

    Kako smo već naveli, razvijena baza podataka u Accessu sastoji se

    od slijedećih elemenata, tj. objekata: tabele, upiti, obrasci (forme) i izvještaji,a može još da sadrži: Data Access strane (Data Access Pages), makroe(Macros) i/ili VBA module (Visual Basic for Application – programski jezik zaprogramiranje operacija u MS Office aplikacijama). Kombinovanjem ovihkomponenata i njihovo povezivanje i sinhronizovanje čini bazu podataka. Štosu komponente bolje postavljene u međusobne odnose to je baza podatakaefikasnija i brža. Baza podataka ne mora da ima svaki od sedam nabrojanihobjekata, to zavisi od problema koji ona obrađuje i posla za koji jenapravljena. Jedan ili više tih objekata formira se kada se kreira (dizajnira)sama baza podataka. Ove komponente su smještene u jednom fajlu baze

    podataka.

    TABELE UPITI FORME IZVJEŠTAJI

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    32/324

     31

    Slika 40: Skica organizacije i podjele funkcija objekata baze podataka

    Da bi se okvalifikovala kao potpun sistem za upravljanje relacionombazom podataka, aplikacija mora da izvršava slijedeće četiri osnovnefunkcije, od kojih svaka ima sopstvenu prezentaciju za korisnika:-  Organizacija podataka  – obuhvata izradu i rukovanje tabelama koje

    sadrže podatke u konvencionalnom tabelarnom formatu koju Accessnaziva tabelarni pogled (Datasheet View ).

    -  Povezivanje tabela i izdvajanje podataka  – povezuje više tabelaprema relacijama između podataka radi izrade privremenih tabela, kojesadrže izabrane podatke. Access koristi upite da bi povezao tabele iizabrao podatke koji će se čuvati u privremenoj tabeli, koja se naziva

    objekat Recordset. Objekti Recordset nazivaju se virtuelne tabele, jer sečuvaju u memoriji računara umjesto u datotekama baze podataka.

    -  Unos i uređivanje podataka – zahtjeva projektovanje i implementacijuobrazaca za pregled, unos i uređivanje podataka kao alternativutabelarnom prikazu. Obrasci su ti koji umjesto aplikacije omogućavajuda kontrolišete prikazivanje podataka.

    -  Prikazivanje podataka  – zahtijeva izradu izvještaja koji mogu dasumiraju podatke u skupovima zapisa (Recordset). Njih možete dapregledate, štampate ili objavljujete na Internetu ili intranetu.

    -  Makroi  su sekvence aktivnosti, koje automatizuju operacije nad bazom

    podataka koje se ponavljaju. Pri radu sa bazama podataka Access zaautomatizaciju koristi Visual Basic for Application (VBA).

    -  Moduli  su funkcije i procedure koje su napisane u programskom jezikuVBA. Funkcije VBA se koriste da bi se izvršavala složenijaizračunavanja od onih koja se mogu lako izložiti pomoću nizakonvencionalnih matematičkih simbola, ili za izračunavanja kojazahtijevaju donošenje odluka. VBA potprogrami napisani su zaizvršavanje operacije koje prevazilaze mogućnosti standardnihaktivnosti makroa što je jedan od razloga da se u Accessu napuštapodrška makroima. VBA podprogrami se izvršavaju tako što se

    pridružuju odgovarajućim događajima, kao što je pritisak na dugmepomoću miša, koji se dešava kada je aktivni objekat neki obrazac iliizvještaj.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    33/324

     32

    Bezbjednost   baze podataka sprječava neovlašćene osobe daslučajno ili namjerno pregledaju, mijenjaju, brišu ili uništavaju podatke koji seu njoj nalaze. Bezbjednost sačinjavaju funkcije koje su dostupne kao stavkemenija i preko VBA potprograma. Pomoću funkcija bezbjednosti podatakamože se dopustiti drugim osobama da u višekorisničkom okruženju koristevašu bazu podataka. Pristup možete dodijeliti grupi korisnika ili pojedincima,ali i ograničite njihove mogućnosti za pregled ili modifikacije svih ili samonekih tabela u bazi podataka.

    Štampanje   dopušta da odštampate praktično sve što možete dapregledate u radnom režimu programa Accessa.

    Mogućnost objavljivanja   unaprjeđuju distribuciju informacija prekointranet korporacije i javne Internet mreže u obliku Word Wide Web  strana.

    Access uvodi stranice za pristup podacima (DAP – Data Access Page ). Onevam dopuštaju da napravite aplikaciju za prikazivanje i ažuriranje podatakana stranicama, koje koriste prednosti jezika Dynamic HTML  (DHTML) iExtensible Markup Language  (XML). 

    10.1 Promjena vrste pogleda na objekte baze

    Kada otvorite bazu podataka ili neki Access-ov objekat, pojavljuje se

    prozor baze podataka (Database Window ) koji prikazuje prečice za stvaranjenovih objekata baze podataka i otvaranje postojećih objekata. U tom

    prozoru takođe možete birati koji od dva osnovna pogleda (Design View   iDatasheet View ) želite da prikažete za odabrani objekat u bazi.

    Slika 41:Prozor baze podataka sa ispisanim tultipom prve opcije

    Pokretanje Design View -a (dizajnerskog pogleda) vršimo klikom na

    ikonu, a pokretanje Datasheet View-a (tabelarnog pogleda) klikomna ikonu.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    34/324

     33

    Dizajnerski pogled (Design View) je prozor koji pokazuje dizajnobjekata baze   podataka: tebela, upita, obrazaca, izvještaja, stranica zapristup podacima, makro naredbi i VBA modula. U tom pogledu moguće jestvarati nove objekte baze podataka i mijenjati dizajn postojećih. Ovaj

    pogled koristimo za kreiranje odnosno za uređivanje i održavanje baze. Naslici dole prikazan je Design View  tabele Studenti_EF (slika 42).

    Tabelarni pogled   (Datasheet View ) je pogled koji krajnji korisnicibaze koriste za rad s podacima u bazi kao što je unos podataka, sortiranjepodataka itd. Tabelarni pogled na bazu studenti_EF   prikazan je na donjojslici desno (slika 43).

    Slika 42: Dizajnerski pogled natabelu (Design View )

    Slika 43: Tabelarni pogled (Datasheet View )

    Korišćenje Accessa je jednostavno za pojedine korisnike jeromogućuje dizajniranje objekata pomoću čarobnjaka, a pored toga ima iveoma razrađen i urađen meni za pomoć. Korisnik može objekte da uređujepo svojoj želji jer ima na raspolaganju veliki izbor boja, sjenila, dugmadi iostalog. Jedna od značajnih osobina Accessa je da objekte povezuje iprikazuje ih grafički. Tabele su međusobno povezane preko ključnih poljatzv. ključeva. Ključevi unikatno (jednoobrazno) definišu svaki slog, zatoključno polje ne smije biti prazno.

    11. TABELE - OSNOVNI OBJEKT BAZE PODATAKATabele (Tables ) su glavna komponenta Microsoft Accessa jer se u

    njima nalaze svi podaci sadržani u bazi podataka. Prema tome, one suprimarni izvor podataka. Za bolju organizaciju podataka poželjno je imati višetabela. U tabelama se, po osmišljenim principima i vezama, čuvaju podacikojima raspolaže korisnik i one su prvi objekti baze podataka koje trebakreirati. Podaci u tabeli su smješteni u polja   (kolone, eng. Fields ), a svadefinisana polja čine slog  (zapis, red, eng. Record )3. Kvalitet baze podataka

    3  Možemo reći i ovako: slog ili zapis je skup informacija opisan jednim ili većimbrojem svojstava (polja). 

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    35/324

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    36/324

     35

    podaci istog (određenog) tipa. Tabela je organizovana u kolone (polja - eng.columns, fields ) i redove (slogove, eng. records ). Svako polje u tabeli sadržiisti tip podatka za svaki slog. Svaki slog sadrži sve informacije o, u našemprimjeru, pojedinoj osobi iz tabele (Kontakti ).

    Da bismo ukazali na pojam tabele u Accessu pokazaćemo primjeronog što nije tabela:

    Svaki red ili slog tabele sačinjen je od kolona koje smo nazvali polja(engl. Fields), na primjer, u tabeli Kontakti: Prezime , Ime , Telefon , Adresa ,Grad , Drzava , Post_Br, koji u sebi sadrže određeni dio informacije. Koristećiodvojene tabele za pojedine teme znači da podatke spremamo samo

     jedanput i tako baza postaje efikasnija i smanjujemo greške pri unosu.

    Tabela: KontaktiPrezime  Ime  Telefon  Adresa  Grad  Drzava  Post_

    br Simić  Dejan 319111 Vidovdanska

    95BanjaLuka

    BiH 78000

    Mijanović  Krsto 419222 Hercegnovska14

    Trebinje BiH 75513

     Đumišić  Damir 345876 GudjerssonAlle 6

    Oslo Norveška 28806

    Mrđanović  Jasmina 5676788 Kisačka 11 Novi Sad Srbija 21000

    Podaci u redu Simi ć  Dejan  u gornjoj tabeli predstavljaju jedan slog. Ipodaci u redu Mijanovi ć  Krsto su takođe jedan slog baze podataka. I ostali

    redovi tabele su takođe slogovi baze podataka.Tabele su isključivi nosioci podataka, odnosno podaci se (fizički)

    mogu nalaziti isključivo u tabelama. Svi drugi objekti manipulišu podacima iztabela. Ispravno kreirana tabela donosi uštedu u prostoru, povećava brzinurada i eliminiše kasnije mukotrpno prepravljanje svih ostalih objekatavezanih za tabelu, ako se uvidi da je tabela pogrešno kreirana.

    Osnovne karakteristike tabela su:- ne postoje dva jednaka reda, tj. redovi se razlikuju među sobom,- ne postoje dvije jednake kolone, tj. u jednoj koloni postoji samo jedna

    vrsta podataka,- kolone imaju svoj naziv- redoslijed redova nije bitan- redoslijed kolona nije bitan.

    U relacionoj algebri4 umjesto termina tabela koristi se termin relacija,redovi se zovu n-torke, a kolone se zovu atributi, pa to u literaturi pojedini

    4  Relaciona algebra je oblast matematike (proceduralni upitni jezik) u kojoj seoperacije (selekcije, projekcije, unije, razlike, Dekartovog proizvoda, presjeka,dijelenja i spajanja) nad jednom ili dvije relacije (nad skupovima-tabelama, koje seovdje zovu relacije) obavljaju slično kao što se u algebri operacije (sabiranja,oduzimanja, množenja i dijeljenja) obavljaju nad brojevima ili varijablama.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    37/324

     36

    autori miješaju ili koriste naizmjenično, nekad tabela, a nekad relacija, nekadatributu, nekad polja. Tako se može reći da se relaciona baza podatakasastoji od relacija, a jedna tabela predstavlja relaciju. Takođe, engleskitermin relationship, koji u prevodu znači vezu-odnos, mnogi autori prevode

    (pogrešno) kao relacija (eng. Relation), što dodatno može da zbuni nekeneiskusne korisnike Accessa. Mi ćemo, stoga, ovdje prikazati bazu podatakai u toj notaciji, a onda ćemo prihvatiti da, u ovoj knjizi dalje, relaciju zovemotabela, a vezu ili odnos između tabela ćemo prihvatiti da (pogrešno, ali ipakzbog većine) nazivamo relacija.

    Ime relacije: STUDENT  Redovi   Maticni broj Prezime i Ime Godina studija —>  0604986100014 Zovkić Milutin III mgt —>  1212986117221 Petrašević Sara III inf —> 2103985271210 Samarđić Siniša IV fin

    Slika 47. Prikazivanje podataka u tabelama

    Primjer sa slike 47 mogao bi se prikazati pomoću šeme iz relacionealgebre kao:

    STUDENT (Maticni broj, Prezime i Ime, Godina studija),

    pri čemu je podatak ispred zagrade naziv relacije, podaci u zagradi su naziviatributa, a podvučeni podatak je ključ za jednoznačnu identifikaciju redova.

    11.1 Načini kreiranja tabelePočetni korak za kreiranje tabele je komanda New   u prozoru baze

    podataka (kada je u okviru Objects  aktivna karticaTables ). Ovim se otvaradijalog New Table , koji nudi pet načina u kreiranju tabele i to:

    Slika 48. Okvir New Table  za dijalog oko izbora načina (prikaza) kreiranja tabele

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    38/324

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    39/324

     38

    da bude ometan u njenom korišćenju. Mnogi će vam priznati da bez Link-anema ni mrežne orijentacije baze podataka i da je to tek kamen temeljac zadobar informacioni sistem.

    U kompleksnijim bazama podataka se obavezno praktikuje da ni svepotrebne tabele ne budu u odnosnoj bazi, jer MS Access omogućava njihovopovezivanje (Link) kroz baze. Ovo je od ključnog značaja za projektovanjeaplikacija za korišćenje u lokalnoj mreži ili informacionom sistemu.Održavanje i razvoj ovakvih sistema je mnogo lakši za programera, akorisniku daje mogućnost kontinuiranog rada bez obzira na zahvate naadministriranju.

    Nakon ovog uvodnog „traktata“ o tabelama spremni smo da kreiramo(dizajniramo, oblikujemo) tabelu, stoga odaberemo Tables  iz grupe objekata(Objects ) i izaberemo ˝New˝ (slika 49).

    Slika 49. Početak kreiranja nove tabele Slika 50. Opcije prikaza kreiranja

    objektaSada nam se, kao što je prikazano na slici 50, nudi da izaberemo

     jedan od pet načina prikaza kreiranja tabele. Da podsjetimo, to su:- Datasheet View    – Prebacuje nas na datasheet view (vidimo

    tabelu sa njenim kolonama i redovima i podacima u njima). Ovametoda omogućuje nam direktan upis podataka u tabelu.

    - Design View  – Najpogodnije za stvaranje tabele tj. kolona u tabeli(dajemo kolonama imena, tip podataka i ostale osobine…).

    - Table Wizard   – Čarobnjak koji nas vodi kroz proces pravljenja tabele

    i to tako da izabiremo kolone koje će biti u tabeli iz velikog izboragotovih polja (kolona).- Import Table   – Čarobnjak koji uvozi tabele i objekte iz nekog

    vanjskog fajla  u našu bazu koju trenutno kreiramo.- Link Table  – Čarobnjak koji kreira tabelu koja je ˝linkovana˝ (znači da

    ta tabela nije u našoj bazi već u nekoj drugoj ali je možemo pozvati iznaše baze) sa nekom tabelom u vanjskom fajlu.

    Mi ćemo odabrati Design View   pošto kreiramo tabelu od početka.Nakon odabira javlja nam se Design View  prozor. Svaki red u Design View-u  

    predstavlja jedno polje u tabeli koje ima svoje :- Field Name  – Ime polja, može sadržavati razmake

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    40/324

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    41/324

     40

    Uvijek kada mišem pokažemo neko polje u sekciji Field Name, u dnuprozora tabele u dizajn pogledu pojave se podaci o svojstvima (osobinama)tog polja, kako je pokazano na slici 53.

    Slika 53. Izgled polja u tabulatoru General , sekcije Properties  Kompletan pogled na prozor tabele u dizajn pogledu dat je na

    narednoj slici.

    Slika 54. Izgled tabele u pogledu za dizajniranje (Design View)

    Pri kreiranju baze podataka veoma je bitno postaviti tip polja, jer subrzina rada, organizovanost podataka i veličina same baze u direknoj vezisa ispravno postavljenim tipom polja. Na primjer, za datum tipa 01/01/2006 tip polja ćemo postaviti na Date/Time   (datum/vrijeme); za isključivonumeričke vrijednosti postavljamo tip polja na Number ; za kombinovanialfanumerički unos tip polja postavljamo na Text   kod koga se predviđamaksimalni broj karaktera u unosu, itd. U narednom tabelarnom prikazunavedeni su neki najčešće korišteni tipovi podataka i njihova tipičnaprimjena.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    42/324

     41

    Tip podatka Tipična primjenaText Tekst ili brojevi sa kojima se ne izvode računske

    operacije (do 255 znakova)Memo Duži tekst i brojevi, kao što su napomene ili opisi (do

    64000 unakova)Number Brojevi koji će se koristiti za matematska izračunavanja

    (dužina zavisi od tipa)Date/Time Datumi i vrijemeCurrency Tip podatka valuta (15 decimalnih mjesta)AutoNumber Jedinstveni sekvencijelni cijeli broj koji se automatski

    umeće pri svakom dodavanju slogaYes/No Bulova cifra (istina/laž). Koristi samo jedan bit.OLE Object Link na objekt kao što su Word dokumenti, Excel radni

    listovi, slike itd.

    Tabelarni prikaz 1: Lista i opis glavnih tipova podataka u AccessuIzabiranje tipa podatka. Postoje neka praktična pravila kojih se je

    dobro pridržavati, a koja mogu pomoći kod izbora tipa podatka za nekapolja:

    1. Nemojte koristiti numerički tip podatka sve dok to polje ne počneteda tretirate kao broj, odnosno da planirate da se nad njim izvodematematske operacije. Na primjer, vi možete da neku osobu memorišetepod njenim ličnim (matičnim) brojem (na primjer “64912”) kao integer -om(cjelobrojnom vrijednošću). Međutim, lični broj zaposlenog je u stvari

    sekvenca od numeričkih znakova, a ne broj. Ukoliko još u sebi sadrži crticeza razmak, vodeće nule ili prazne znakove, tada je izbor tipa podatkanumber  zaista neodgovarajući. Ima i izuzetak od ovog pravila, koji slijedi.

    2. Kao i većina sistema baza podataka, Access omogućuje specijalnipodtip numeričkog podatka nazvan AutoNumber. AutoNumber  predstavljacjelobrojni tip podataka koji se samostalno inkrementira (povećava za jedan)pri unosu svakog novog sloga. Ovim se osiguravamo da ne mogu postojatidvije iste vrijednosti sloga, tj. da su slogovi jedinstveni. Šta podrazumijevamopod jedinstvenošću sloga? Na primjer, u našoj tabeli kontakata vrlo jevjerovatno da možemo imati dvije osobe koje imaju isto ime i prezime te

    dodjeljivanjem različitog ID_ kontakta  svakom od njih osigurali smo da se nemiješaju podaci ove dvije osobe, a istom logikom i ostalih. AutoNumber   jeLong Integer  broj koji Access automatski uvećava svaki put kada se nekojtabeli doda neki slog. Polja koja se automatski inkrementiraju su pogodna dasluže kao primarni ključevi ako ne postoji neko drugo pogodnije polje. To

     jeste, automatski brojevi (AutoNumbers ) mogu služiti kao zamjenski(surrogate ) ključevi.

    Dakle, obavezan je unos naziva polja (Field Name ) u tabeli i tippodatka (Data Type ), a polje za opis podatka (Description)  nije obaveznopopunjavati, ono više služi projektantu tabele za podsjetnik. Vrijednost koja

     je tu unesena će biti vidljiva samo u statusnoj liniji (status bar -u) pri dnuekrana kada radimo sa tim poljem u formi ili tabeli u Datasheet View-u. 

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    43/324

     42

    Nakon što ispunimo ime polja i njegov Data Type   otvore se noveopcije koje pobliže opisuju to polje. Lista osobina polja koja se pojavi ukartici General u slučaju izbora tipa polja Text data je narednoj slici. 

    Slika 55. Lista svojstava polja tipa Text  

    • 

    - Field Size – Memorijska veličina polja. Zavisi od tipa podataka, možebiti i manja od maksimalne kod nekih tipova.

    - Format – Format u kojem će se podatak prikazati pri gledanju(možemo ga mijenjati kod polja tipova: brojevi, Date/Time, valuta iYes/No polja.).

    - Decimal Places – Namješta broj decimalnih mjesta za numeričkapolja.

    - Input Mask – Ograničava nam mogućnost unosa tj. osigurava upisuvijek u istom obliku (najkorisnije kod datuma). Čarobnjak za masku

    za unos podatka (Input Mask Wizard) radi samo sa tekstualnim idatumskim tipom podataka.- Caption – Tu upisujemo ime polja koje će se koristiti u Datasheet

    View-u ili u labelama u obrascima (npr. imamo polje čije je imeŠ_zap, a mi želimo da se, radi lakšeg snalaženja, prikazuje ime ŠifraZaposlenog).

    - Default Value – Vrijednost koja će biti automatski upisana u polje akoga mi pri unosu ostavimo nedirnuto.

    - Validation Rule – Omogućuje nam ograničavanje vrijednosti polja(recimo da vrijednost uvijek mora biti manja od 100).

    - Validation Text – Tekst koji se javlja ako Validation Rule nijeispunjen.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    44/324

     43

    - Required – Ako je ova opcija uključena konkretno polje obaveznomora imati neku vrijednost u sebi (slično sa „obavezno popuniti“).

    11.2 Pojam, važnost i definisanje primarnog ključ

    aGotovo svaka tabela mora sadržavati barem jedno polje koje ima

     jedinstvenu vrijednost za svaki slog. Na primjer, u tabeli „Osobe“ možda ćeteželjeti da svakoj osobi dodijelite njegov JMB - jedinstveni matični broj i na tajnačin u tabeli imate polje ID#, ili možete izabrati da upotrebite registarski brojlične karte ili pasoša svake osobe. Takvo jedinstveno identifikaciono poljenazivamo polje primarnog ključa.

    Primarni ključ (Primary key ) je jedno ili više polja koja su jedinstvenaza neku tabelu, odnosno pomoću kojih se može jednoznačno definisati red

    (slog) tabele. Pomoću primarnog klju

    ča polja tabele možemo dovoditi u vezu(postavljati u relacije). Korištenje Primary key-a  ubrzava proces pretraživanja

    i spajanja podataka u tabelama.

    Svi podaci u ovim poljima su kontrolisano različiti (znači da nemožemo unositi iste vrijednosti više puta) i vrijednost ne može biti Null(prazno polje).

    Primarni ključ upotrebljava se za povezivanje tabela. Primarni klju č  jekolona ili skup kolona koji jednoznačno određuju ostatak podataka usvakom redu. Na primjer, kolona IDVlasnika u tabeli VlasniciAntikviteta

     jednoznačno određuje određeni red. Ovo znači dvije stvari:- nijedna dva reda ne smiju imati istu vrijednost u koloni IDVlasnika,- kao i da čak ukoliko dva vlasnika imaju isto ime i prezime, kolona

    IDVlasnika obezbjeđuje da oni neće biti pomiješani jer se zamanipulisanje njima u cijeloj bazi koristi kolona IDVlasnika, a nenjihova imena.

    Primarni ključ  treba definisati prije unosa podataka, jer on mora biti jedinstven. Kod naknadnog definisanja primarnog ključa u tabelama u kojimaveć  postoje podaci može doći do problema uslijed eventualne pojave istihvrijednosti u polju ključa. Inače, kod dodavanja novih zapisa u tabele polje

    primarnog ključa ne može ostati prazno, niti se može duplirati.Polja koji su dobri kao kandidati za da budu primarni ključ su polja

    koja sadrže: jedinstveni matični broj građanina (JMBG), matični broj radnika,identifikacioni broj kupca, šifra proizvoda itd. Polja koja nisu dobri kandidatida budu primarni ključ su prezime ili ime, jer uvijek je moguće da bude višelica sa istim prezimenom i imenom.

    Osobine polja koja su označena kao primarni ključ su:

    Unique (True): Polje je jedinstveno, tj. u polju nisu dozvoljenadupliciranja. To znači da, ako je, na primjer, polje JMBG označeno kao

    primarni ključ (Primary Key), ne možete da imate dva različita sloga sa istim jedinstvenim matičnim brojem građanina.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    45/324

     44

    Ignore Nulls (False): Ignorišu se null polja. To znači da slog nemožete da sačuvate (Save ) sve dok se u ključno polje ne unese podatak. Uzto:

    Tabele će automatski biti sortirana po primarnom ključu iako je vi lakomožete presortirati po nekom drugom polju.

    Da biste kontrolisali unos podataka tabela se može povezivati sadrugom tabelom koristeći primarni ključ.

    11.2.1 Vrste primarnih ključeva

    - AutoNumber Primary key – Za polje primarnog ključa koristimo tipAutoNumber, najčešće korišteno za identifikacione brojeve, npr.

    kupaca, narudžbi itd. Accessće u slu

    čaju da mi ne definišemoPrimary key automatski izabrati AutoNumber polje za Primary key.

    - Single-field Primary key – Za primarni ključ  koristimo samo jednopolje u tabeli, vrijednosti takođe ne mogu biti Null ili se ponavljati.

    - Multiple-field Primary key – Za primarni ključ  koristimo više polja uslučaju kada ne možemo sa sigurnošću tvrditi da samo jedno poljeopisuje tu tabelu. Najčešća situacija u kojoj imamo tabelu sa ovakvimprimarnim ključem je u n:n (many-to-many) relacijama. 

    Polje primarnog ključa ne treba da kreiramo za tabelu koja nikadanije bila niti je primarna tabela. Primarna tabela sadrži informacije koje

    predstavljaju objekte iz realnog svijeta, kao što je osoba, čitalac, knjiga ilifaktura i samo jedan slog jedinstveno je povezan sa tim objektom.

    Korišćenje polja ključa je prost metod za sprječavanje izrade duplihslogova u tabeli. Access traži da definišete primarni ključ  ako želite danapravite relaciju jedan prema jedan ili da ažurirate dvije ili više tabela u istovrijeme. Primarna tabela koja učestvuje u relacijama koje postavljate saokvirom za dijalog Relationship  mora imati primarni ključ. Drugim riječima,ako tabela treba da bude strana „jedan“ relacije „jedan-prema-više“, tadaona mora imati primarni ključ. Access smatra da je tabela bez primarnogključa čudo; zato kada uradite promjene na tabeli i vratite se na dizajn

    pogled (Design View ), dobijete poruku da niste napravili polje primarnogključa.

    Ukoliko prilikom kreiranja tabele ni jedno polje niste postavili zaprimarni ključ, Access će automatski pri spremanju tabele (Save ) postavitipolje s oznakom ID i tipa AutoNumber za primarni ključ 

    11.2.2 Definisanje primarnog ključa i indeksa

    U Design View-u   označimo polje koje želimo definisati kao primarniključ (u slučaju da želimo izabrati više polja držimo taster Ctrl i označavamo

    polja koja želimo), a zatim stisnemo desni taster miša i odaberemo Primarykey ili, ako ga želimo definisati pomoću tastature, stisnemo 'Shift + k' .

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    46/324

     45

    Neko polje ne mora biti Primary key  da bi bilo posebno za tu tabeluveć  ga možemo definisati kao Indexed Value . To definišemo tako da uDesign View-u  pod opcijom Indexed  odaberemo Yes (No Duplicates).

    Indeks je poseban popis pokazivača na podatke u bazi.Indeksiranjem se omogućava da se, u daljem korišćenju tabele kao izvorapodataka, može brže sortirati, pretraživati i obrarađivati u svakom drugomobliku - po polju podataka koje je indeksirano. Indeksiranje se preporučujeza polja sa numerički tipom podataka i to samo u situacijama kada se nadnjima planira neki oblik pretraživanja. U bazama s velikom količinompodataka indeksiranje polja znatno ubrzava ove operacije jer se umjestosvih podataka u bazi pretražuju samo indeksi. Međutim, uključivanjeindeksiranja po polju podatka može dovesti do znatnog uvećanja fajla bazepodataka, a dešava se obično kod tabela koje imaju veliki broj slogovapodataka (u desetinama hiljada i više).

    Sličan primjer indeksiranja imamo kod traženja nekog pojma u knjizi.Ako u knjizi postoji indeks pojmova (obično na kraju knjige), traženi pojamćemo vrlo brzo pronaći, jer su tu tačno navedene stranice gdje se on nalazi inije ga potrebno tražiti prelistavajući cijelu knjigu.

    Indekse   za određenu tabelu pregledavamo tako da na traci sa

    alatima odaberemo Indexes dugme  . Njih takođe možemo stavljati urelacije  sa drugim poljima u drugim tabelama.

    11.2.3 Strani ključ Strani (spoljni, vanjski, sekundarni) ključ  je kolona u tabeli koja je

    primarni ključ u drugoj tabeli, što znači da sve vrijednosti u koloni stranogključa moraju imati odgovarajuće podatke u drugoj tabeli u kojoj je ta kolonaprimarni ključ. U terminologiji relacionih baza podataka, ova veza se nazivareferencijalni integritet. Na primjer, u nekoj tabeli Antikviteti obadvijekolone IDKupca i IDProdavca predstavljaju sekundarne ključeve za primarniključ  tabele VlasniciAntikviteta (tj. kolonu IDVlasnika; u cilju izlaganjapretpostavljamo da neko mora biti vlasnik antikviteta prije nego što može da

    kupuje ili prodaje komade antikvitetnog nameštaja), pošto se u obje koloneID brojeva koriste za identifikaciju vlasnika ili kupaca i prodavaca, a kolonaIDVlasnika je primarni ključ  tabele VlasniciAntikviteta. Drugim riječima, sviovi ID brojevi se koriste za ukazivanje na same vlasnike, kupce i prodavceantikviteta, bez potrebe za korišćenjem njihovih stvarnih imena.

    Vježba 1: Kreiranje tabele baze podataka

    Startujte program Access na vašem računaru. Ako odberete

    File/New, na ekranu ćete vidjeti prozor "New File" kao, na primjer, što jeprikazano na slici dole. Iz ponuđenih opcija izaberite "Blank Database".

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    47/324

     46

    Slika 56. Okno New File

    Ako ste već  imali MS Access program otvoren, onda otidite u meniFile  i izabrati opciju "New " da biste kreirali novu, praznu, bazu podataka.Pojaviće vam se drugi prozor, kao na slici dole. Ž

    Slika 57.

    Sada treba da izaberete disk jedinicu i folder na koji ćete smjestitidatoteku (fajl) i dajte joj ime. U gornjem primjeru biće vam ponuđenopodrazumijevajuće (default ) ime "db1." Promijenite ga u "XXXdbase1" pričemu XXX neka budu vaši inicijali imena i prezimena. Kliknite na dugme"Create" da napravite vaš fajl baze podataka. Ugledaćete slijedeći prozor:

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    48/324

     47

    Slika 58. Opcije prikaza kreiranja tabele u prozoru baze podataka

    Kao što možete vidjeti, fajl baze podataka u Accessu ima mnogokomponenata. Svaka sekcija u gornjem prozoru to pokazuje. Kao što takođeznate, baza podataka sastoji se od jedne ili više tabela koje su veoma sličnespredšit tabeli Excela. Svaki red u tabeli predstavlja jedan poseban slogbaze podataka, a svaka kolona predstavlja polje. To je pokazano nanarednoj slici.

    Slika 59. Worksheet prikaz jednog sloga tabele Student_Info

    Konkretan slog može biti pronađen brzo ako važna polja obilježimokao ključeve.

    Vaš zadatak sastoji se u slijedećem: treba da definišete polja koja ćebiti korištena da se mogu pratiti podaci o studentima na vašem fakulteta. Uto treba da uključite slijedećih sedam polja:

    - ime- prezime- ime oca- grad- adresa- broj telefona- e-mail adresa- datum rođenja- medicinske informacije.

    Kliknite u sekciju "Table" u gornjem prozoru, a zatim kliknite na"Create Table in Design View" da biste kreirali vašu tabelu. Ugledaćeteslijedeći prozor:

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    49/324

     48

    Slika 60. Dizajnerski prikaz tabele

    Gornja tabela omogućuje vam da definišete šest polja koja ćete

    koristiti za prikupljanje informacija o studentima. Na primjer, u prvi red, ukoloni Field Name , trebali biste kucati „Prezime“. U drugoj koloni možete daizaberete jedan od tipova podataka: text, memo , number , date/time,currency, autonumber, yes/no, OLE object, hyperlink i lookup wizard.  Zaprvo polje koristite tip podatka "text". Ovaj tip se uvijek postavlja kaopodrazumijevajući dok ga ne promijenite. Da biste izabrali neki drugi tip,kliknite u ćeliju Data Type   i iz padajućeg menija koji se pojavi izaberiteodgovarajući tip. Treća kolona "Description" u gornjem prozoru je opciona.Ona se može koristiti da se obezbijede neke dodatne informacije o polju kojehoćete da uključite.

    Struktura tabele se obično zadaje u obliku kao što je prikazano dole.Field Name  Data Type  DescriptionID_kontakta AutonumberIme  TextPrezime TextTelefon  Number  Telefonski broj (kućni, na poslu ili mob)Grad  Text Adresa  Text e - mail Textfax Number Broj faxa 

    Tabelarni prikaz 2. Oblik zadavanja strukture tabele

    Zatim, trebaćete da postavite primarni ključ za bazu podataka. To jepolje čija vrijednost jedinstveno identifikuje svaki slog u tabeli. S obzirom da

     je to baza podataka o informacijama o studentima, postavite da polje„Prezime“ bude primarni ključ. Da biste to uradili postupite na slijedeći način:

    - otidite u meni "Edit"- izaberite opciju "Primary Key". Ugledaćete simbol ključa koji će se

    pojaviti lijevo od imena polja koje ste izabrali.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    50/324

     49

    Slika 61: Opcije izbora uključenja primarnog ključa

    Definišite primarni ključ za vašu tabelu - kliknite mišem na sivu kućiculijevo od naziva polja Id_kontakta - označiće se cijeli red - kliknite na ikonuPrimary key  koja se nalazi na alatnoj traci aplikacije Accessa ili izaberiteopciju menija Edit→ Primary Key. 

    Unesite šest preostalih polja koje smo vam naveli i bilo koje još kojebiste htjeli uključiti. Promijenite tip podatka prema zahtjevu polja. Na primjer,za polje za datum rođenja koristićete tip podatka "date/time", a za polje za e-mail adresu koristićete tip podatka "hyperlink". Napominjemo da kadaunosite podatak u polje za e-mail vi morate neposredno ispred adrese da

    unesete "mailto:" da bi to program prepoznao kao neki e-mail hiperlink iotvorio vaš program za e-mail. Pri tome, pazite da između tog teksta i e-mailadrese ne bude prazan znak (blank). Kada biste u to polje, na primjer,ukucali samo "[email protected]", tada bi to program vidio kao adresu webstranice i kada biste kliknuli na nju taj link ne bi propisno radio.

    Ako ste kreirali i definisali sva polja za vašu bazu podataka, ondauradite slijedeće:

    - Zatvorite prozor "Table1".- Pojaviće se padajući meni koji će vas pitati da li želite da sačuvate

    promjene kod kreiranja tabele Table 1. Kliknite na Yes.

    - Zatim ćete ugledati pop-up prozor "Save As". Promijenite ime tabeleda bi ono ukazivalo (asociralo) na sadržaj tabele. Ja sam, na primjer,tu tabelu nazvao "Tab_kontakti."

    Slika 62. Dijalog za spremanje tabele

    - Ako ste unijeli novo ime, kliknite na dugme OK.- Tabela koju ste upravo kreirali, pod novi imenom, trebala bi da se

    pojavi u sekciji Table  u glavnom prozoru baze podataka.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    51/324

     50

    Zadatak 2:

    Kreirajte na svom računaru bazu podataka koja će imati slijedećetabele: Studenti, Ispiti i Predmeti i u svaku od njih unesite odgovarajućepodatke tako da imaju izgled sličan datom na slici dole.

    11.3. Određivanje svojstava polja tabele

    Kako smo već vidjeli, svaka tabela sadrži određeni broj kolona kojesmo nazvali polja . Tabele obično sadrže više polja. Svako polje ima

     jedinstvena svojstva (Field  Properties ). U prethodnom primjeru napomenulismo da se tabela može sastojati, na primjer, od polja: Prezime , Ime , Imeoca, Telefonski broj , Datum ro đ enja   itd. Neka polja sadrže karaktere-tekst,druga sadrže brojeve, treća datume itd. Svojstva polja definišu se prilikomkreiranja tabele. Ove opcije su prikazane u donjem dijelu okvira za dijalog u

    područ ju Field Properties .

    Slika 63 Tabela kartice svojstava polja tabele

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    52/324

     51

    Opcije formatiranja se mijenjaju zavisno od vrste polja i ima ih tolikomnogo da ćemo nabrojiti samo neke:

    Field Size   - sadrži dužinu tekstualnog polja. Ukoliko je tip poljaNumeric , možete da izaberete jednu od nabrojanih vrijednosti. Određujenajveći mogući broj znakova koje korisnik može unijeti u polje (može sedodijeliti samo polju vrste Text ).

    Format   - Padajući popis dostupnih formata za određenu vrstu polja.Određuje način na koji će vrijednost biti prikazana. Izaberite jedan odponuđenih formata sa liste.Takođe, možete stvoriti i korisničke formate.

    Input Mask   - omogućava da se prilikom unosa podataka koristimaska koja olakšava unos podataka. Za kreiranje maske možete koristitiInput Mask Wizard .

    Caption   - tekst koji se prikazuje, umjesto naziva polja, na formama,izvještajima, itd. Na primjer, ako se neko polje tabele zove 'ID', a u svojstvuCaption   je upisano 'Identifikacioni broj', onda će u izvršnom modu (udatasheet  prikazu) biti naziv polja 'Identifikacioni broj', a ne 'ID'.

    Decimal Places   - Za numerička polja (polja vrste Number ) možetepodesiti broj decimalnih mjesta koja će se prikazati.

    Default Value   - Određuje vrijednost koju polje dobija automatskiprilikom kreiranja novog sloga. Korisnik kasnije može da promijeni vrijednostpolja. Ako će polje najčešće sadržavati određenu vrijednost (na primjer, zasve zaposlene isti pozivni broj grada), unestite vrijednost uz ovu opciju iuštedićete na vremenu. Vrijednost unesena uz pomoć ove opcije, uvijek seprikazuje u novom slogu i možete je izbrisati i ukucati novu vrijednost kadaona ne odgovara sadržaju.

    Required   - Sadrži pravila i ograničenja koja moraju da se poštujuprilikom unosa podataka. Na primjer, ako unosite količinu artikala koji suprimljeni u magacin, logično je da vrijednosti moraju da budu veće od nule.Odaberite Yes ili No kako biste Accessu rekli kada ovo polje može ostatiprazno kod unošenja novog sloga. Ovo polje obavezno mora da sadrživrijednost. Nije moguće kreiranje novog sloga ako je ovo polje prazno.

    Validation Text  - sadrži poruku koja će se prikazati korisniku prilikomunosa podataka ako naruši pravila definisana u polju. Na primjer: "Brojartikala mora biti veći od nule!'.

    Allow Zero Length  - primjenljivo za Text i Memo polja. Omogućava dasadržaj polja bude Space  karakter(i).

    Indexed  - kao što je opisano, određuje da li će indeks biti kreiran nadtim poljem i na koji način.

    Unicode Compression  - omogućava da polja koja su tipa Text, Memoi Hyperlink zauzimaju manje memorijskog prostora.

    Svojstava ima previše, njihov broj i vrsta parametara polja zavise odtipa podatka koji selektovano polje sadrži, tako da ih nećemo sve

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    53/324

     52

    objašnjavati. Uočite da klikom na pojedino svojstvo u desnom dijelu oknadobivate njegov kratki opis.

    Na primjer, tip polja 'Text ' ima jedne parametre, a tip 'Number ' druge.Na narednoj slici prikazani su parametri za tip polja 'Text ': 

    Slika 64. Lista svojstava za polje tekstualnog tipa

    Ako kliknete lijevim tasterom miša na desnu ivicu polja koje sadrživrijednost parametra, desiće se jedna od slijedeće tri varijante:

    1. Pojaviće se ikona za padajuću listu , koja označava da postoji listasa koje možete da izaberete vrijednost parametra:

    Slika 65. Izbor iz padajuće liste vrijednosti parametra Required  

    2. Pojaviće se ikona sa tri tačkice , koja startuje Expression Builderkoji možete da iskoristite za unos vrijednosti parametra. ExpressionBuilder (editor za  unošenje matematskih i logičkih izraza) će

    kasnije biti detaljnije objašnjen.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    54/324

     53

    Slika 66. Dugme za poziv Expression Builder-a  

    3. Neće se pojaviti ikona, parametre morate da ukucate korišćenjemtastature.

    Slika 67. Primjer slučaja unošenja parametra sa tastature

    Vrlo često ćete u neku tabelu trebati unositi podatke datumskog tipa(Date/Time). Postavlja se pitanje kako će osoba koja unosi podatke (vi ilineko drugi) znati kakvog formata treba biti datum kojeg unosi. U takvimslučajevima nam pomaže tzv. ulazna maska (input mask). Ulazna maskapredstavlja uzorak koji nas vodi prilikom unosa podataka i sprječava mogućepogreške bez stvaranja nekih posebnih pravila provjere korisničkog unosa.U ovom slučaju ulaznu masku ćemo kreirati korištenjem čarobnjaka.

    Izaberite u dizajn modu neko polje datumskog tipa, kliknite desnimtasterom miša i

    U kartici General kliknite na svojstvo Input Mask i potom na dugmekoje će se pojaviti pored tog svojstva.

    Slika 68. Kartica (tabulator) General okviraField Properties 

    Slika 69.  Dugme za otvaranje dijalog Input Mask 

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    55/324

     54

    Pojaviće vam se dijalog čarobnjaka za stvaranje maske za unošenjepodataka.

    Slika 70. Okvir dijaloga čarobnjaka za izbor maske za unos datumskih podataka

    Izaberite Short Date i potom kliknite na dugme Edit List. Zatim popunite otvoreni dijalog kao na slici ispod.

    Slika 71. Dijalog za definisanje korisničkih ulaznih maski 

    Nakon klika na dugme Close u listi čarobnjaka bi vam se trebalapojaviti ulazna maska koju ste upravo kreirali.

    Slika 72. Izgled definisane ulazne maske

    Izaberite tu masku i kliknite na Finish. 

    11.4. Povezivanja tabela u bazi podataka

    Namjena ključeva (primarni i spoljni) je da podaci iz više tabela moguda se kombinuju, bez potrebe da se podaci ponavljaju u svim tabelama – uovome se sastoji snaga relacionih baza podataka. Da bismo vam mogli

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    56/324

     55

    predočiti na šta se odnosi pojam relacije poslužićemo se jednim primjerom.Rekli smo da su podaci u relacionim bazama podataka sačuvani u vidutabela. Neka nam se u jednoj tabeli nalaze podaci o narudžbama, a u drugojpodaci o kupcima (naziv, adresa, matični broj itd). Umjesto da se uz svaku

    narudžbu ponovno navode svi podaci o nekom kupcu, ta informacija sedobije uključivanjem samo jednog polja kojeg možemo nazvati identifikacionibroj  kupca . To polje je jedinstveno za svakog kupca tako da ne može doćido zamjene informacija. Ono će se nalaziti u tabeli kupci i u tabeli narudžbe.Na ovaj način izbjegavamo redundanciju podataka. Tako, na primjer, možeteda pronađete imena onih koji su kupili stolicu bez moranja da navedetenjihova puna imena, na primjer, u tabeli Antikviteti ili adresu i broj telefona utabeli Kupci . To ime možete da saznate povezujući one koji su kupili stolicusa imenima, na primjer, u tabeli VlasniciAntikviteta,  preko koloneIDVlasnika , koja uspostavlja odnos između podataka u ovim dvima

    tabelama.Ili, drugi primjer, zamislite da imate listu kontakata koja sadrži popis

    od recimo 300 osoba i da svaka od njih ima po tri telefona (kućni, posao imob) i da vam zatreba lista samo brojeva mobilnih telefona. Nameće sezaključak da bi puno elegantnije rješenje bilo kada bi podatke podijelili udvije tabele. Jedna tabela bi sadržavala telefonske brojeve, a druga sveostale podatke o osobama. Još ih je potrebno povezati po nekom ključu iproblem je riješen. Došli smo do relacione baze podataka. Imamo dvijetabele i jednu relaciju.

    Baza podataka može (često i treba) da sadrži više tabela koje sepreko relacija  (Relationship ) međusobno povezuju. Na primjer, u bazipodataka Biblioteke-čitaonice članove čitaonice ćemo držati u jednoj tabeli,knjige u drugoj, a iznajmljivanja/vraćanja knjiga u trećoj. Veze seuspostavljaju samo među istovjetnim podacima, a najčešće između šifara.

    Veza (Relationship ) je po definiciji povezivanje, a u konteksturelacione baze podataka je povezivanje dvije tabele preko vrijednostiprimarnog ključa. To znači da je vrijednost primarnog ključa sačuvana(sadržana) u obadvije tabele. Povezane tabele sadrže iste vrijednosti s

     jedne strane (u jednoj tabeli) u obliku primarnog ključa i s druge strane (u

    drugoj tabeli) u obliku spoljnjeg (stranog, vanjskog, sekundarnog) ključa.Spoljni ključ - Pored primarnog ključa, tabela može da ima i spoljni

    ključ. Ponekad se dešava da jedna tabela ne može da egzistirati bez druge,na primjer stavka fakture ne može da postoji bez fakture. Recimo da tabelaFakture  ima ovu šemu:

    Fakture (BrojFakture, Datum, Partner). 

    BrojFakture  je primarni ključ jer određuje jedinstvenost sloga. Fakturaima svoje stavke, pa iz toga proizilazi da tabela FaktureStavke   ima ovakavoblik (šemu):

    FaktureStavke (BrojFakture, BrojStavke, Artikal, JedinicaMjere, Kolicina). 

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    57/324

     56

    Kako stavka bilo koje fakture ne može da postoji bez fakture kojojpripada, tako ni tabela  FaktureStavke   ne može da egzistira bez relacije Fakture. Ove dvije relacije povezane su preko ključa  BrojFakture koji jezajednički za obadvije tabele. Na osnovu njega se zna koja stavka pripada 

    kojoj fakturi. Zato se kaže da, u ovom slučaju, relacija  FaktureStavkenasljeđuje atribut BrojFakture od relacije Fakture i on je za relaciju BrojFakture -spoljni klju č .

    Spoljni ključ (Foreign key) je polje koje jednoznačno određuje slogiz druge tabele. U jednoj tabeli možemo imati više stranih ključeva. Drugimriječima preko stranih ključeva ostvarujemo veze između tabela u relacionimbazama podataka.

    Zadatak 3:

    Kreirajte tabelu KUPCI(Naziv, Lice, Adresa, Mjesto, Telefon). Složenključ čine polja Naziv i Mjesto, jer se u istom mjestu (gradu) ne smije pojavitikupac sa istim nazivom firme, ali se dozvoljava da ista firma postoji sa istimimenom u više mjesta.

    Relacije postavljamo zato da bismo se mogli efikasno koristititabelama tj. podacima u njima. Relacije su zapravo način govorenjaMicrosoft Accessu kako da ponovno spoji podatke iz tabela.

    Tek nakon što smo postavili relacije možemo kreirati upite, forme iizvještaje  za prikazivanje podataka iz više tabela odjedanput.

    Da bismo mogli npr. u jednoj formi prikazati podatke iz više tabelakoje govore o istom predmetu, sva polja koja govore o istom predmetumoraju biti koordinisana. Ta koordinacija se postiže pomo ć u relacija .

    Tabela radnici

    ID_radnik

    Ime

    Prezime

    Datum_ r

    Norma

    Stimulacija

    Zaposlen

    Straniključ 

    Tabela preduzeca

    Preduzece Sjediste Adresa e-mail Z_racun

    Primarni ključ 

    Slika 73: Veza primarnog i stranog ključa

    Povezivanjem tabela dobivamo mogućnost izdvajanja podataka izdvije ili više tabela tako što, koristeći „upit“ (query ), prikazujemo slogove koji

    su sastavljeni od polja iz povezanih tabela, a fizički se ne moraju ponovnosnimati. Ovo predstavlja glavnu snagu relacionih baza podataka.

  • 8/9/2019 Baze Podataka 1 - Informatika 4

    58/324

     57

    Kod definisanja tabela primarne ključeve povezujemo sa stranimključevima i na taj način Accessu objašnjavamo način združivanja tabela spotrebnim podacima. Povezane tabele sadrže iste vrijednosti, u jednoj uobliku primarnog ključa, a u drugoj u obliku stranog ključa, što znači da polja

    koja sadrže ključeve moraju biti istog tipa.Postoje pravila koja osiguravaju pravilno unošenje, ažuriranje i

    brisanje ovih vrijednosti čime štitimo integritet podataka u bazi. Jedno odosnovnih pravila zaštite integriteta podataka u bazi je pravilopreferencijalnog integriteta. Ono je vrlo jednostavno i kaže: spoljni ključ  upovezanoj tabeli mora odgovarati primarnom ključu osnovne tabele.

    Kada u Accessu akt