Upload
armin-wolf
View
305
Download
2
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