Ms access 2003 - Osnove

10,269 views
10,096 views

Published on

Osnovni priručnik za aplikaciju MS Acess 2003

Published in: Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,269
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
249
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Ms access 2003 - Osnove

  1. 1. 1. Uvod u MS Access MS Access je programski paket koji je sastavni deo grupe programa“MS Office”. MS Access je u stvari relacioni sistem Officea za upravljanjebazama podataka – RSUBP (Relational Data Base Management System,RDBMS). Do sada se, sa razvojem MS Officea, na tržištu našlo nekolikoverzija MS Accessa (verzije ... 97, 2000) od kojih je danas aktuelna Access2002. MS Access 2000 je 32-bitni sistem za upravljanje relacionim bazamapodataka i predviđen je za: • rad na jednom računaru, i • rad u računarskoj mreži (ravnopravnih korisnika ili u klijent-server aplikacijama). Access 2000 takođe podržava i rad sa Internetom, kao i izradu HTMLdokumenata. U osnovi MS Accessa 2000 leži programski jezik Visual Basic for Appli-cations (VBA), a namenjen je za projektovanje i eksploataciju prostih i slože-nih relacionih baza podataka. VBA ima najprostiju sintaksu i semantiku odsvih objektno orijentisanih jezika, pa je zato MS Access i najpogodnijiRDBMS za početnike u ovoj oblasti. Access 2000 je direktno spregnut saprogramskim jezikom Visual Basic 6 koji pruža još veće mogućnosti u izradiaplikacija. Kompatibilan je sa mnogim drugim programskim paketima za ob-radu baza podataka (dBase, Visual FoxPro, Paradox, SQL Server, Oracle idrugi), pa ga koriste i iskusni programeri baza podataka visokog stepenasloženosti. MS Access 2000 omogućava razmenu (“uvoz” i “izvoz”) podataka vanMS Officea, i to praktično sa svim programskim paketima koji podržavaju dbfformat datoteka, naravno i SQL Severom i Oracleom jer podržava ODBCstandard (Open Data Base Connectivity). Ima ugrađene mehanizme bezbe-dnosti na nivou korisnika (korisnici se mogu razvrstati u grupe koje imajurazličita prava pristupa), a takođe obezbeđuje podršku za transakcionu ob-radu. MS Access prihvata i tekst, slike (bmp i jpg datoteke), tonske zapise, fil-move i sl., odnosno povezivanje (Linking), pridruživanje (Attaching) i ugrađi-vanje (Embending) datoteka, odnosno dokumenata kreiranih iz raznih apli-kacija. Ono što je novo u Accessu 2000 jeste veza sa Internetom preko stra-nica za pristup podacima - Data Access Pages. Access može da se koristikao samostalan SUBP, a može da bude čeoni deo - aplikacija u kombinacijisa nekim snažnijim SUBP-om.
  2. 2. MS Access Access je moćna Windows aplikacija koja povezuje sve prednosti i lako-ću korišćenja grafičkih alata sa brzinom i efikasnošću obrade, koje daje sis-tem za upravljanje bazama podataka. Access podržava upotrebu primarnih i spoljnih ključeva i obezbeđuje re-ferencijalni integritet na nivou DBMS-a. Ima ugrađen veliki broj tipova poda-taka, većinu standardnih kao i neke nove, tipične za windows aplikacije (hi-perveza i OLE objekti). Kao pomoć u projektovanju baze i aplikacije Access nudi veliki broj alatai takozvane čarobnjake (Wizards) koji umnogome olakšavaju rad i omoguća-vaju brz razvoj aplikacija (RAD, Rapid Applications Development). Za definisanje i manipulaciju podacima korisnicima je na raspolaganjuSQL (Structured Query Language) i QBE (Query By Example). Ugrađeni sumehanizmi za rad sa više tabela istovremeno, a takođe postoje sredstva zaostvarivanje veza između njih. Na raspolaganju su alati za kreiranje obrazaca i izveštaja, izradu poslo-vnih grafikona i dijagrama. Zahvaljujući ugrađenim funkcijama moguće subrze poslovne i statističke analize, rad sa datumima i vremenom, kao i funk-cije za rad sa tekstualnim podacima. Naravno Access 2000 je za razliku od prethodnih verzija prava kli-jent/server aplikacija, a naravno zadržava sve pogodnosti jednokorisničkograda ukoliko je to neophodno. Srce Accessa i dalje predstavlja Jet DatabaseMachine namenjena za kreiranje tabela i izvršavanje upita. Njena funkcio-nalnost je sasvim dovoljna za podršku 10-tak radnih stanica i najviše 10 MBpodataka. Za veće informacione sisteme neophodno je koristiti jače RDBMS,odnosno SQL Server ili čak Oracle. Ono što je najveća prednost Accessa upravo je činjenica da je to jedanrelacioni sistem za upravljanje bazama podataka i da se logika rada na Ac-cessu ne razlikuje od logike rada na SQL Serveru ili Oracle RDBMS, samosu drugačiji alati i naravno snaga, ali i cena.2 Sistem za upravljanje bazama podataka
  3. 3. 2. Osnovne karakteristike MS Accessa U svetu koji nas okružuje postoji u svakom momentu veliki broj objekatakoji se neprestano menjaju, i veliki broj događaja koji se dešavaju nezavisnood naše volje i svesti o njima. Spoznajom svojstava nekih objekata ili ishodanekih događaja dolazimo do informacija o svetu oko nas. Podaci su diskret-ni, zapisani fakti o pojavama i događajima iz sveta koji nas okružuje, i iz kojihdobijamo informacije o svetu. Drugim rečima, podaci su činjenice, oznake ilizapažanja nastala u toku nekog procesa, a koja su zapisana, tj. kodiranapomoću nekih fizičkih simbola, ili simbola neke azbuke, i imaju svojstvo damogu da se zapisuju, čuvaju, prenose i obrađuju. Podaci su sredstva za iz-ražavanje i dobijanje informacija, i oni predstavljaju izolovane i neinterpreti-rane činjenice. Podatke prikupljamo i zapisujemo da ih čuvamo, i po potrebikoristimo. Osnovna uloga programskog paketa MS Access jeste upravo zapisi-vanje podataka, njihovo čuvanje i obrada na osnovu koje dobijamo nove po-datke koje interpretiramo I na taj način dobijamo nove informacije o svetuoko nas, a koje nismo mogli dobiti neposrednim posmatranjem. Na primer,svakodnevnim merenjem temperature tokom čitave godine mi prikupljamopodatka. Na bazi njih izračunavamo srednje temperature za svaki mesec ičitavu godinu, i dolazimo do novih podataka da je na primer 2001. godinabila najtoplija godina u poslednjih 100 godina. Dakle, obradom podataka do-bijamo nove podatke (srednja mesečna i godišnja temperatura, a interpreta-cijom tih podataka dolazimo do novih informacija da je neka godina jedna odnajtoplijih ili najhladnijih u nekom vremenskom periodu. Dakle prvi korak u obradi podataka jeste njihovo prikupljanje i skladiš-tenje na nekom medijumu. Danas se za skladištenje podataka najčešće ko-riste diskovi u sastavu nekog računarskog sistema, a da bi se podaci saču-vali na disku oni se organizuju u posebne celine koje se nazivaju datoteke(file). Znači, datoteke su osnovni organizacioni oblik povezivanja i čuvanjapodataka radi kasnije obrade ili prikaza, a u datotekama se čuvaju i rezultatidobijeni nakon obrade podataka.Datoteke MS Access baza podataka MS Access ima sopstvenu strukturu datoteka baze podataka, sličnu onojkoju koriste klijent-server sistemi za upravljanje relacionim bazama podata-ka, ali istovremeno i vrlo specifičnu.Korisnička datoteka baze podataka je datoteka tipa .mdb. Razlikuje se odtradicionalnih baza podataka za lične računare (PC) po tome što su i podacii aplikacija smešteni u jednoj .mdb datoteci. Datoteke .mdb sadrže čak i
  4. 4. MS Accessprogramski kôd koji je napisan u programskom jeziku Visual Basic For Appli-cation (VBA). Nije potrebno da korisnik brine o strukturi .mdb datoteka, jerMS Access rukuje svim detaljima upravljanja datotekama, što i jeste zadataksistema za upravljanje bazama podataka.Glavna datoteka baze podataka (datoteka radne grupe) ima nazivSystem.mdw. Ova datoteka sadrži sledeće informacije: • imena korisnika i grupa korisnika koji mogu da otvore MS Access • lozinke i jedinstveni binarni kôd korisnika koji se naziva System ID (System Identifier, SID) koji identifikuje korisnika koji trenutno koristi MS Access, • operativna podešavanja, koja se uspostavljaju izborom stavki iz pa- dajuće liste Tools - Options, i • definicije prilagođenih paleta alatki u Accessu 2000, koje pravi svaki korisnik.U bibliotečke datoteke (.mda i .mde) smeštaju se “čarobnjaci” za izradu ob-razaca, izveštaja, grafikona, kao i rečnik podataka za sve elemente bazepodataka. Dodavanjem ovih elemenata proširuju se mogućnosti MS Accessai dodaju mu se nove osobine. Ove biblioteke možemo povezati sa Accessomizborom opcije References iz liste Tools u prozoru Modules, ili pomoću ala-tke Add-In-Manager, kojoj možemo pristupiti izborom opcije Tools-Add-Ins.Čarobnjaci Accessa 2000, koji se koriste da bismo napravili obrasce, izveš-taje ili grafike, čuvaju se u nizu datoteka Accessovih bibliotečkih baza po-dataka: • Acwzlib.mde, • Acwztool.mde, i • Acwzmain.mde.Datoteka zaključavanja (Locking Information File, sa ekstenzijom .ldb) služiza smeštanje informacija o trenutno zaključanim podacima u bazi (tj. o onimpodacima koji su u procesu ažuriranja). Ako ovaj fajl ne postoji u trenutkuotvaranja baze, Microsoft Jet Database Engine ga stvara, dajući mu isto imekao što je i ime baze, samo sa ekstenzijom .ldb. Ovim se obezbeđuje daneki korisnik ne pristupi nekompletnim podacima, dok drugi korisnik vrši nji-hovu izmenu.Elementi MS Access baza podataka Osnovni elementi koji sačinjavaju MS Access 2000 su: • tabele (tables), • upiti (queries), • obrasci (forms), • izveštaji (reports),4 Sistem za upravljanje bazama podataka
  5. 5. Osnovne karekteristike MS Access-a • stranice za pristup podacima (data access pages, DAP), • ugrađene funkcije (built-in functions), • makroi (macros), i • moduli (modules). Tabela (table) je osnovni objekat (svih relacionih sistema za upravljanjebazama podataka a ne samo MS Accessa) koji služi za smeštanje i memori-sanje podataka. Baza podataka u MS Accessu može da sadrži maksimalnodo 32768 tabela od kojih maksimalno 1024 mogu biti istovremeno “aktivne”,to jest “otvorene”. U toku rada moguća je i dinamička “razmena” podataka,kao i direktno povezivanje sa drugim tabelama kreiranim u drugim aplikaci-jama i sistemima za upravljanje bazama podataka. Access podržava primar-ne ključeve (integritet podataka, jedinstvenost svake n-torke) i spoljnje klju-čeve (obezbeđuje potpuni referencijalni integritet na nivou samog RDBMS-a,čime su onemogućena nepotpuna brisanja i ažuriranja podataka). Upit (query) je najčešće korišćen “alat” u radu sa relacionim bazamapodataka. MS Access 2000 omogućava: • grafički, brz i komforan način kreiranja upita na bazi primera (QBE), • postavljanje upita pomoću strukturiranog upitnog jezika (SQL), • upotrebu “čarobnjaka” za izradu upita, obrazaca i izveštaja, • postavljanje upita nad najviše 16 tabela, i • formiranje rezultata upita kao tabele od najviše 255 kolona. Access podržava postavljanje upita nad više tabela (istovremeno) kao iuspostavljanje veza - relacija između tabela. Relacije mogu, a ne moraju, bititrajne, tj. unapred zadane, već se mogu kreirati u momentu kreiranja upita iodnose se samo na taj upit. Rezultat upita je dinamički skup podataka(Dynaset) čiji se sadržaj menja u zavisnosti od promena sirovih podataka ufizičkim tabelama. Obrazci (Forms) služe za komfornije i sigurnije unošenje podataka utabele (Data-Entry Forms), te preglednije prikazivanje rezultata na ekranumonitora. U osnovi kreiranja obrazaca je objektno programiranje, tako da uokviru obrazaca postoji veliki broj raznih grafičkih formata, slika, zvučnih za-pisa, itd., koji čine njegovu osnovu. Obrasci za unos podataka ujedno obez-beđuju proveru ispravnosti i zaštitu podataka kroz mehanizme ograničavanjapristupa određenim poljima u tabeli. Za neke korisnike mogu se kreirati ob-rasci pomoću kojih je moguće samo izveštavanje (pregled podataka), i tosamo određenih polja. Na taj način se obezbeđuje zaštita podataka od neov-lašćenih izmena, kao i tajnost nekih podataka u odnosu na neke korisnike. U sklopu svakog objekta mogu se implementirati razne funkcije i proce-dure koje će se “aktivirati” tek kada se nad datim objektom obavi određena Sistem za upravljanje bazama podatka 5
  6. 6. MS Accessradnja ili kada se desi neki događaj (na primer pritisnemo neki taster na tas-taturi ili mišu). Izveštaji (Reports) prikazuju na papiru ili ekranu monitora nove infor-macije (podatke), koje smo dobili kao rezultat obrade raspoloživih podatakaiz baze. Izveštaji mogu kombinovati podatke iz više tabela i na taj način namomogućavaju da predstavimo složene veze koje postoje između raznih sku-pova podataka. U izveštajima se kao i u upitima mogu koristiti razne funkcije,pa se sem podataka mogu prikazati i izračunate veličine. Prilikom pravljenjaizveštaja mogu se koristiti razne grafičke mogućnosti, tako da se mogu ge-nerisati fakture, cirkularna pisma, itd. Stranice za pristup podacima (Data Access Pages, DAP) služe zarazvoj aplikacija pogodnih za upotrebu u lokalnim računarskim mrežama i naInternetu. Ugrađene funkcije (Built-In-Functions) , ima ih preko 200, daju pose-bnu snagu Accessu u procesu izračunavanja raznih statističkih i finansijskihveličina kao i u radu sa datumima i tekstom. Dobijeni rezultati su nezamen-ljva pomoć rukovodiocima u donošenju strateških odluka. Makroi (macros) su skupovi komandi koje zadaje korisnik, a služe zaautomatizaciju poslova koji se ponavljaju tj., obavljaju na isti način (na primerpozivanje obrazaca u određenom redosledu ili na bazi nekih događanja,pravljenje izveštaja, itd.). Moduli (modules) su skupovi procedura i funkcija koje su napisane unekom programskom jeziku (najčešće je to VBA, ali može biti i u nekom dru-gom jeziku, na primer u Visual Basicu, Visual C++, idt.), a mogu se povezi-vati sa elementima Accessa 2000. U osnovi modula a i makroa je objektnoprogramiranje upravljano događajima (Event Driven Programming).6 Sistem za upravljanje bazama podataka
  7. 7. 3. Kreiranje baze podatakaPojam baza podataka Ako bismo želeli da u jednoj rečenici definišemo baze podataka onda bidefinicija bila da je to skup povezanih podataka koji su organizovani na od-ređen način i među sobom postavljeni u određene veze - relacije. Iako imaviše mogućih modela podataka danas su u fazi projektovanja dominantnimodel objekat-veze tzv. MOV (E-R Model, Entity-Relationship Model) i nor-malizacija, a u fazi implementacije relacioni model, odnosno relacione bazepodataka. Relaciona baza podataka je skup vremenski promenljivih tabela (relaci-ja) koje mogu biti bazne i izvedene. Izvedena tabela može se dobiti iz baznihrelacija operacijama koje se definišu nad relacijama. Bazne tabele se jošnazivaju i fizičke tabele, jer one zbilja postoje trajno memorisane na disku,dok izvedene tabele nastaju kao rezultat neke operacije nad fizičkim tabela-ma i postoje samo privremeno u operativnoj memoriji računara. Zbog togase izvedene tabele nazivaju i virtuelne. Kreiranje baze podataka, bar kadase radi o Accessu, predstavlja u stvari proces kreiranja fizičkih tabela i vezaizmeđu njih, a sve ostalo spada u domen aplikacije, tj. obrade podataka. Sam pojam baza podataka pojavio se krajem šezdesetih godina i ozna-čavao je skup međusobno povezanih podataka koji se čuvaju zajedno i me-đu kojima ima samo onoliko ponavljanja koliko je neophodno za njihovo op-timalno korišćenje pri višekorisničkom radu. Podaci se pamte tako da budunezavisni od programa koji ih koriste, i strukturiraju se tako da je omogućenporast baze. Model podataka služi za prikazivanje objekata sistema - entiteta, nji-hovih svojstava - atributa, kao i njihovih međusobnih veza. Svaki modelpodataka mora da sadrži strukturu objekata, ograničenja i operacije nad ob-jektima. Koji su to objekti, i koji su relevantni podaci kojima se izdvojeni enti-teti (objekati) mogu opisati, vrlo je bitno odrediti sa merom, jer od toga najvi-še zavisi efikasnost obrade i informacije koje će biti rezultat obrade podatakaiz modela. Ako je izabrano malo podataka obrada će biti vrlo brza, ali modelće biti jednostavan i imaće malu verodostojnost, pa će samim tim biti i malibroj korisnih informacija koje može da pruži. Ako se model opiše sa suviševelikim brojem podataka, postaje suviše složen, pa je obrada teška, dugot-rajna, a dobijene informacije mogu biti konfuzne. Odabrani entiteti po svojoj prirodi mogu biti: • realni deo sveta (na primer: aparat, preduzeće, radnik, račun, narud- žbenica i sl.), • apstraktni pojam (mera, količina, boja, zvanje, itd.),
  8. 8. MS Access • događaj (narudžbina, transport, upis studenata, i sl.) i • asocijacija (službenik-firma, predmet-nastavnik). Model realnog sistema formira se korišćenjem semantički najbogatijegobjektnog modela. U zavisnosti od softvera koji će se koristiti za implemen-taciju takav model prevodi se najčešće u odgovarajući relacioni model – ta-bele, kao model za implementaciju. Relacioni model je danas najpopularniji model baze podataka i to zahva-ljujući pre svega sledećim osobinama: • struktura modela veoma je jednostavna, baza podataka predstavlja skup tabela, • moguća je formalno-matematička interpretacija tabela. Kao što mu i samo ime govori ovaj model se zasniva na tabelama, tj., re-lacijama između određenih skupova. Relacija: Koncept atributa omogućava predstavljanje relacije kao tabele,pa se relacija RADNIK može predstaviti sledećom tabelom: Ime tabele-RADNIK IDBR# BROD$ IME PLATA Imena atributa 5497 10 Aco 1000 5780 20 Božo 2200 Jedan slog, zapis, n-torka 5900 20 Slobo 900 Skup vrednosti za atribut-domen primarni ključ spoljni ključ Pojedinačna vrednost atributa Slika 3.1 Tabele - osnovni pojmovi i sastavni delovi Osobine objekata (entiteta) predstavljaju njegove atribute koji ga bližeopisuju i to u onom obimu koji je za datu primenu dovoljan. Izbor pogodnogskupa atributa koji su od značaja za neku aplikaciju zove se apstrahovanjepodataka i vrlo je važan korak u projektovanju sistema. Na primer, za jedno preduzeće koje nam isporučuje neku robu (dobav-ljač) od značaja je da znamo sedište, adresu, telefon, osobu za kontakt, aliuopšte nije od značaja koliko zaposlenih ima, koje radne jedinice, na kojimprojektima rade i sl. Kada posmatramo to isto preduzeće sa stanovišta nje-govog poslovanja od značaja su i ovi podaci, ali i mnogi drugi. Ako su pred-met našeg posmatranja zaposleni u nekom kolektivu i ako je naš posao daodredimo plate radnika, onda broj njihovih cipela nema nikakvog značaja8 Sistem za upravljanje bazama podataka
  9. 9. Kreiranje baze podataka(nije relevantan). Ali ako tog istog zaposlenog posmatramo iz ugla nabavkeHTZ opreme onda je i broj cipela i veličina odela i te kako važna. Iako su neki podaci vrlo važni za neke aplikacije, oni ponekad uopšte ni-su pogodni da budu atributi u nekoj relaciji. Takav primer je, recimo, radnistaž zaposlenog. Naime iako je vrlo bitan on se svaki dan menja, pa bi biloneophodno svaki dan ažurirati bazu podataka. Mnogo je pogodniji recimodatum zaposlenja kao podatak na bazi kojeg možemo, ako je to potrebno,izračunati radni staž. U bazi podataka ne treba da postoje podaci koji su višeznačni. Na pri-mer, bračno stanje koje može biti neoženjen, oženjen, razveden i udovac.Jer ako je neko oženjen po treći put, onda on može istovremeno biti i razve-den i udovac. Takve podatke takođe treba isključiti iz baze, ako nisu neop-hodni, jer nas mogu dovesti u zabludu. Pošto je relacija skup, a svaka tabela nije, definišu se sledeći uslovi kojetabela mora da zadovolji da bi bila relacija:1. ne postoje duplikati vrsta tabele (odnosno, dve vrste moraju se razlikova- ti bar u vrednosti jednog atributa koji na jedinstven način opisuje tu vrstu i zove se primarni ključ),2. redosled vrsta nije značajan,3. redosled kolona nije značajan, ali je isti za sve vrste jedne tabele,4. sve vrednosti atributa u relacijama su atomske, tj. nije dozvoljeno da at- ributi budu relacije, odnosno da ima više vrednosti. Ako tabela zadovoljava uslov (4) tada je ona u Prvoj normalnoj for- mi. Svaka relacija mora biti u prvoj normalnoj formi (1NF). Svi atributi (kolone) unutar jedne tabele moraju imati različita imena, ali u raznim tabelama mogu imati ista imena. Ključ relacije (primarni ključ) je takva kolekcija njenih atributa, koja za-dovoljava sledeće uslove: • ne postoje bilo koje dve n-torke sa istom vrednošću ključa (osobina jedinstvenosti), i • ako se bilo koji atribut izostavi iz ključa gubi se osobina jedinstvenosti (osobina neredundantnosti). Definiše se takođe spoljnji ili strani ključ, kao atribut ili grupa atributa kojisluže za povezivanje sa vrednošću primarnog ključa neke druge relacije.Spoljnji ključevi služe da se uspostave veze između relacija (tabela) u relaci-onoj bazi podataka. U prethodnoj tabeli RADNIK spoljnji ključ služi za pove-zivanje tabele RADNIK sa tabelom u kojoj se nalaze podaci o odeljenjima.Svi atributi po kojima se vrši pretraživanje baze (sem primarnog ključa) zovuse sekundarni ključevi. Razlika između primarnog i sekundarnih ključeva je utome što pri pretraživanju baze po primarnom ključu dobijamo najviše jedanzapis, ako takav zapis postoji, ili nijedan, ako ne postoji. Pri pretraživanju po Sistem za upravljanje bazama podataka 9
  10. 10. MS Accesssekundarnim ključevima dobijamo skup zapisa (recordset), jer više objekatamože imati istu vrednost za taj atribut. Kao što mu i samo ime govori, relacioni model se zasniva na relacijamaizmeđu određenih skupova - tabela. I sama relacija je prikazana kao tabela,dakle u relacionom modelu sve je sastavljeno od tabela.Kreiranje baze podataka Da bi kreirali bazu podataka u MS Accessu potrebno ga je prvo, pokre-nuti, na primer pomoću ikonice koja se nakon instaliranja može “postaviti” naekran monitora, tj. na radnu površinu (Desktop). To je takozvana prečica(Shortcut). Ako nemamo ikonicu na radnoj površini, Access se pokreće kao isve druge Windows aplikacije, iz liste Start/Programs, ili preko istraživača(Explorer) dvostrukim klikom[1]... [4] na bilo koji .mdb dokument. Nakon pokre-tanja pojavljuje se prvi, osnovni dijalog Microsoft Accessa (slika 3.2), kojipruža mogućnost izbora jedne od tri opcije i to: • Blank Access Database, • Access Database Wizard, pages and projects i • Open an Existing file. Slika 3.2 Prvi “prozor” MS Accessa • Blank Access Database je opcija za kreiranje nove baze podataka bez upotrebe “čarobnjaka” (wizard) i ostalih poluautomatizovanih[1] U Windows operativnom sistemu dovođenjem pokazivača miša na neki objekat i pritiskom na radni, najčešće levi, taster miša vrši se izbor (označavanje, selekcija) nekog objekta.[2] Pritisak na radni taster miša predstavlja događaj koji se naziva klik (Click).[3] Pritisak na radni taster miša dva puta u kratkom vremenskom intervalu predstavlja događaj koji se naziva dvostruki klik (Double click).[4] Pritiskom na alternativni, najčešće desni taster miša, dobija se brza lista, skup najčešće korišćenih naredbi za izabrani objekat.10 Sistem za upravljanje bazama podataka
  11. 11. Kreiranje baze podataka operacija koje MS Access nudi u radu. U kasnijim fazama rada (eks- ploatacija baze) ove pogodnosti MS Accessa mogu se opet, po želji, aktivirati. • Database Wizard je praktična opcija za brzo kreiranje nove, i eks- ploataciju (sa čarobnjakom) postojeće baze podataka.Open an Existing file je opcija za otvaranje postojeće baze podataka kojuhoćemo da modifikujemo ili koristimo. Microsoft je za potrebe demonstriranjamogućnosti MS Accessa “postavio” i “popunio” podacima nekoliko “tipičnih”baza podataka koje korisnik može koristiti i modifikovati po želji. Najkom-pleksnija od njih je baza podataka Northwind, iz koje se, “igrajući” se njome,može mnogo naučiti o mogućnostima MS Accessa. Vežba sa Northwindomje korisna i poučna i zbog relacionog pristupa problemu koji je primenjen prinjenom kreiranju. Sve ponuđene opcije biraju se mišem. Za kreiranje nove baze podataka“označimo” mišem Blank Access Database i kliknimo OK. Nakon toga Access traži ime datoteke (File name) u koju ćemo smestitinovu bazu podataka, neka je to PREDUZECE. Folder, direktorijum u kojićemo smestiti taj fajl treba “pripremiti” ranije, tako da uz pomoć istraživača(explorera) lako dolazimo do njega. Ako direktorijum nismo ranije odredilikoristi se opcija Create New Folder. Access nudi ime baze db1.mdb, ali jojkorisnik može dati i drugo ime, na primer PREDUZECE.mdb. Postupak ko-načno završavamo, nakon imenovanja fajla, izborom dugmeta Create. Ovajpostupak prikazan je na slici 3.3. Slika 3.3 Smeštanje baze na disk pod određenim imenom Kada kreiramo .mdb datoteku, pojaviće se radni prozor Accessa, (slika3.4). Sistem za upravljanje bazama podataka 11
  12. 12. MS Access Padajuće liste Paleta alatki Prozor Alati za Database rad sa objektima Lista objekata Slika 3.4 Radni prozor MS Accessa sa prozorom “Database” za kreiranje novih, i menjanje postojećih tabela baze podataka Kao i druge Windows aplikacije, radni prozor Accessa na vrhu ima linijusa padajućim listama File, Edit, View, itd., u kojima su grupisane brojne na-redbe koje su delimično iste kao i u drugim aplikacijama (Word, Excel I sl.),ali sadrže i neke naredbe koje su tipične samo za Access, tj. za rad sa ba-zama podataka. Ispod ove linije nalazi se linija alatki (Tools) sa najčešće ko-rišćenim alatkama, a njen sadržaj zavisi od trenutne aktivnosti u Accessu.Unutar radne površine postoji prozor sa karticama: Objects koja odgovaraosnovnim objektima Accessa (Tabele, Upiti, ...) i ono što je novo jeste karticagrupe (Groups), koja daje mogućnost razvoja aplikacija za koje nisu potre-bne sve, već samo neke od postojećih tabela. Ona sadrži grupu omiljeni(Favorites), a sam korisnik može kreirati i dodatne grupe (desnim tasterommiša kliknemo na neku tabelu i smestimo je u neku od postojećih grupa, ilikreiramo novu grupu).Zadaci za samostalan rad:3.1. Kreirati novu bazu podataka “MojaPrvaBaza” pomoću wizarda.3.2. Kreirati novu bazu podataka “MojaDrugaBaza” koristeći opciju Blank Accesss Database.3.3. Otvoriti već postojeću bazu podataka “MojaPrvaBaza”Mogućnosti izrade tabela u MS Accessu Najpre treba uočiti da radni prozor “Database” ima sopstvene alate zarad sa objektima, a to su dugmad otvori (Open), projektuj (Design), novi12 Sistem za upravljanje bazama podataka
  13. 13. Kreiranje baze podataka(New), uništi - obriši (Delete) i alatke za prikaz objekata u obliku padajućihlista.1. Da bi kreirali novu tabelu u listi objekata izaberemo objekat tabele (Tab- le) i ako kliknemo na dugme nova (New) dobijamo novi okvir za dijalog I u njemu jednu od pet ponuđenih mogućnosti: • ručno kreiranje tabele (Datasheet View i Design View), • automatsko kreiranje tabele (Table Wizard opcija), • mogućnost unosa-uvoza tabele iz neke druge baze (Import Table), • virtualnu vezu sa tabelom iz druge baze (Link Table).2. Za kreiranje nove tabele treba odabrati opciju Design View nakon čega se otvara prozor za definisanje polja (atributa koji će se nalaziti u tabeli). Novu tabelu u prethodno formiranoj bazi podataka možemo kreirati na sledeće načine: • Create table in Design view (ručno kreiranje tabele), • Create table by using wizard (kreiranje tabele upotrebom “čarob- njaka”), i • Create table by entering data (preuzimanje neke tabele).3. Odaberimo prvu opciju (Create table in design view) da bi mogli us- pešno da pratimo sve faze u radu, što u radu sa “čarobnjakom” (wizard) nije uvek moguće. Isti efekat postiže se akcijom nova tabela New, izbo- rom druge opcije Design view. Otvara se prozor sa dva okna (slika 3.5.) za definisanje polja i svojstava polja: okno za definisanje imena polja i tipa podatka (definisanje atributa) okno za opis svojstava polja - opis atributa Slika 3.5 Maska za definisanje tipa podatka i svojstava budućih atributa • Field name (ime atributa), • Data type (tip podatka) , Sistem za upravljanje bazama podataka 13
  14. 14. MS Access • Description (opis atributa) , i • Field Properties (osobine polja) . Field name (ime atributa) - imena atributa u budućoj tabeli. Ime atribu-ta (ili ime polja) ne sme biti ni jedna od ključnih reči programskog paketaSQL i mora počinjati slovom engleskog alfabeta. Od specijalnih znakovamože sadržati samo znak podvučeno “_”, a takođe je moguće nazvati poljeimenom koje sadrži razmaknicu (“space” karaktere). U slučaju upotrebe ra-zmaknice u imenu polja, prilikom izrade upita, moramo navoditi ime polja uuglastim zagradama [ ]. Dužina imena ograničena je na 40 karaktera. NAPOMENA: Upotreba YU karaktera (“Š”,”Ć”,”Đ”,”Č”,”Ž”) u imenima atributa (i uopšte, imenima objekata baze podataka) je moguća, ali samo u slučaju da je kôd korisnika podrazumevani jezik Serbian Latin ili Slovenian (Opcija Regional Set- tings na Win95/98/NT, tj. Regional Options na Win 2000). Samim tim se uma- njuje prenosivost aplikacije sa sistema na sistem. Zbog toga u urađenim primeri- ma u praktikumu nisu upotrebljavani ovi karakteri. U jednoj bazi podataka može postojati više atributa sa istim imenom, alioni ne smeju pri tome biti u istoj relaciji (tabeli). Preporučljivo je ovu opciju(ista imena atributa u raznim tabelama), radi preglednosti i eliminacije greša-ka, izbegavati kad god je to moguće, sem kada se radi o atributima za spa-janje (spoljašnji ključevi). Data type (tip podatka) - tip podatka koji će poprimiti ti atributi. Accesspodržava sledeće tipove podataka: • Text (slovni ili znakovni tip), koristi se kada podatak predstavlja niz alfanumeričkih znakova. Takav podatak je na primer ime i prezime, adresa ili zanimanje radnika, broj telefona itd. Slovni ili string poda- tak može biti svaki niz alfanumeričkih i nekih od specijalnih znakova. Broj znakova kod ovog tipa podatka je ograničen na 255. • Memo tip, je u principu slovni (alfanumerički) tip, ali sa većom duži- nom (na primer do 64 KB) a koristi se za unošenje opisnih podataka (dijagnoza ili anamneza pacijenta, na primer). Ovakvi podaci se ne mogu indeksirati, niti biti polja za primarni ključ. Memo tip podataka ima od 256 do 65 535 znakova. • Number (brojni tip), na primer visina ličnog dohotka ili dužina neke ulice, može slično kao i u drugim programskim jezicima, da bude ce- lobrojan (Byte, ako je dužina 8 bita, Integer, ako je dužina 16 bita i Long Integer, sa dužinom od 32 bita), ali i realan broj sa fiksnom ili pomičnom decimalnom tačkom razne preciznosti koja zavisi od duži- ne, to jest broja cifara. Tako je tip podataka Single realan broj do 7 dekadnih cifara, odnosno Double dužine do 15 dekadnih cifara. • AutoNumber je numerička (Long Integer) vrednost, koju MS Access automatski inkrementira za svaki novi zapis koji se doda u tabelu. Pogodan je za primarni ključ.14 Sistem za upravljanje bazama podataka
  15. 15. Kreiranje baze podataka • Date /Time (datumski i vremenski) tip podatka često se koristi u in- formacionim sistemima, jer je čitav niz podataka vezan za vreme, za neke rokove, bez obzira da li su iskazani danima, mesecima i godi- nama ili satima, minutima i sekundama. • Date (datumski tip) je jedna celina, jedan podatak, iako u sebi sadrži tri numerička polja (za dan, mesec i godinu), međusobno odvojena tačkom, crtom ili kosom crtom, a što zavisi od zemlje u kojoj će se koristi. Za ovakav tip podatka važi i posebna aritmetika koja omogu- ćava korisniku da računa vremenske intervale. • Time je vremenski tip podatka za koji važe ista pravila kao i za da- tumski, s tim što se koriste različiti postupci za obradu zasnovani na različitim aritmetikama: jedna aritmetika za datumski tip, a druga za vremenski, jer godina ima 12 meseci, a mesec 28 (29), 30 ili 31 dan, dok je za sat, minut i sekundu taj odnos 24:60:60, pa se i odgovara- juće aritmetike shodno tome moraju razlikovati. • Yes/No (logički tip), predstavlja podatak koji se koristi kod atributa kod kojih je domen ograničen na dve vrednosti. • Currency je numerički tip fiksnog formata sa četiri decimalna mesta. Koristi se za atribute koji izražavaju novčane vrednosti. • OLE objekti služe za čuvanje podataka - dokumenata kao što su MS Word ili MS Excel dokumenti, slike, zvuk i ostali tipovi binarnih poda- taka kreiranih u drugim programima. OLE objekti mogu biti povezani (linked) ili ugrađeni (embeded) u polje Microsoft Access tabele. OLE tip se ne može proglasiti za polje ključa, niti ga možemo uključiti u in- deks. • Hyperlink - polja hiperveza čuvaju adrese HTML dokumenata (HyperText Markup Language). Web adresa koja se čuva u hyperlink polju može da se odnosi na neku Web stranicu na Internetu, ili na stranicu koja se čuva lokalno na računaru ili mreži. Izbor mišem polja Hyperlink prouzrokuje pokretanje Web pretraživača (browser) i pri- kazivanje Web strane na koju smo se pozvali. Da bismo dobili novu adresu hiperveze, treba izabrati komandu Insert - Hyperlink. • Konačno, u tehnici definisanja podataka postoji i pomenuti slučaj ne- postojećeg podatka, kada vrednost podatka (određenog tipa) nije poznata, ili nije nastupio momenat njegovog prisustva u bazi, a koji u drugim programskim jezicima nije poznat, to je takozvana Null- vrednost. Access dopušta svakom podatku (sem primarnog ključa) da ima i nepostojeću, Null-vrednost. Description (opis atributa), možemo pisati na bilo kome jeziku (pa inašem), jer taj podatak ne učestvuje kasnije u obradi, nego nam služi isklju-čivo da u složenijim bazama podataka znamo šta smo prilikom kreiranja ta-bele zamislili. Sistem za upravljanje bazama podataka 15
  16. 16. MS AccessPrimer izrade tabela U sledećem primeru možemo videti kako se jednostavno pomoću Ac-cessa kreira nova tabela. Tok formiranja nove baze podataka prikazan je na konkretnom primerupredloženog relacionog modela preduzeća koji je jednostavan i u kome senalaze samo četiri tabele: RADNIK <idbr#,kvalif, ime, posao, rukovodilac, dat_zap, premija, plata, brod$> ODELJENJE <brod#, naziv, mesto> PROJEKAT <brproj#, imeproj, sredstva> UČEŠĆE <idbr#, brproj#, brojsati, funkcija>1. U osnovnom prozoru, slika 3.4, kliknemo na objekat tabele (Table), a zatim na alatku nova (New). Pojavljuje se prozor za kreiranje tabela. Pretpostavimo da u informacionom sistemu nekog preduzeća treba krei- rati tabelu RADNIK, u kojoj bi se nalazili podaci o kvalifikaciji, imenu rad- nika, poslu koji obavlja, njegovom rukovodiocu, datumu zaposlenja, pre- miji i plati. Tabelu RADNIK kreiramo tako da ima pomenute atribute: RADNIK (idbr# [1] INTEGER, kvalif TEXT(3), ime TEXT(25) NOT NULL, posao TEXT(10), rukovodilac INTEGER, dat_zap DATE, premija DOUBLE, plata SINGLE);a kao rezultat dobijamo relaciju: RADNIK <idbr#,kvalif, ime, posao, rukovodilac, dat_zap, premija, plata>u kojoj atributi idbr# (šifra, identifikacioni broj radnika) i ime ne mogu imativrednosti Null.2. Zatvoriti prozor za kreiranje tabela klikom na alatku ⌧. Access šalje upozorenje i pita da li želite da sačuvate izmene napravljene u tabeli, ko- ju privremeno zove Table1, jer joj još nije dato ime. Pritisnemo dugme da (Yes), i Access sada nudi naravno imena tipa Table1, Table 2 i sl. Nazovimo tabelu RADNIK, i kliknimo na dugme da (Yes).3. Access šalje poruku, upozorenje da tabela nema primarni ključ, i nudi pomoć, predlaže da on kreira primarni ključ kao jedno polje tipa auto- number. Pritisnite dugme ne (No), jer za sada treba ostaviti tabele bez primarnog ključa.[1] Znak # je upotrebljen u ovom praktikumu kao oznaka da je dati atribut primarni ključ, inače nije implementiran u sintaksu SQL jezika.16 Sistem za upravljanje bazama podataka
  17. 17. Kreiranje baze podataka4. Za potpuniju informaciju o preduzeću sem tabele RADNIK potrebno je kreirati i tabelu ODELJENJE, koja opisuje organizaciju preduzeća i tabe- lu PROJEKAT, koja sadrži informacije o poslovima kojima se preduzeće trenutno bavi: ODELJENJE (brod# INTEGER NOT NULL, ime_od TEXT(15) NOT NULL, mesto TEXT(20));u kojoj atributi brod# (šifra odeljenja) i ime_od ne mogu imati vrednosti Null, PROJEKAT (brproj# INTEGER NOT NULL, imeproj TEXT(25) NOT NULL, sredstva INTEGER);u kojoj atributi broproj# (šifra projekta) i imeproj ne mogu imati vrednostiNull. Obratimo pažnju na neke činjenice koje su implicitno sadržane u ovak-voj definiciji tabele RADNIK. Ona sadrži u sebi i neke relacije između pojedi-nih radnika – unarne veze (neki radnici istovremeno su rukovodioci nekimdrugim radnicima). Za opis organizacije preduzeća i njegovog poslovanja između pojedinihentiteta - tabela moraju se uspostaviti određene veze, tj. relacije. Treba dabude ostvarena i jedna relacija entiteta radnik sa entitetom odeljenje – bi-narna veza tabele RADNIK sa tabelom ODELJENJE, jer radnici su zaposleniu nekom od odeljenja koja se nalaze u sastavu preduzeća. Pri tome jedanradnik pripada samo jednom odeljenju, a u jednom odeljenju radi više radni-ka. Ovo je veza tipa 1:N (jedan prema više), a ostvaruje se tako što se u ta-beli RADNIK na strani više (više radnika) uvodi kao atribut spoljašnji (strani)ključ brod$ koji predstavlja primarni ključ u tabeli ODELJENJE. Kako nekiradnici ne moraju trenutno biti raspoređeni ni u jedno odeljenje, ova veza jeopcionalna na strani entiteta (tabele) RADNIK. Zbog toga atribut za vezu(strani ključ) u ovoj tabeli može imati Null-vrednost. Tako tabela RADNIKstvarno ima sledeći izgled: RADNIK <idbr#,kvalif, ime, posao, rukovodilac, dat_zap, premija, plata, brod$[1] >5. Kliknuti na objekat tabele, pa izabrati tabelu RADNIK, i otvoriti je u reži- mu projektovanja (alatka Design).6. Dodati novi atribut brod$, i dati mu ista svojstva koja ima istoimeni atribut u tabeli ODELJENJE.[1] Znak $ je upotrebljen u ovom udžbeniku kao naznaka da je dati atribut spoljnji ključ, inače nije implementiran u sintaksu SQL jezika. Sistem za upravljanje bazama podataka 17
  18. 18. MS Access7. Zatvoriti prozor za projektovanje tabela na način kako je to opisano u ko- racima 2. i 3. (sačuvati izmene, bez primarnog ključa). Ali, svi radnici rade na nekim konkretnim poslovima, projektima i pri to-me jedan radnik može raditi na više projekata, a istovremeno na jednom pro-jektu radi više radnika. Dakle ovo je relacija M:N (više prema više). Da bismoostvarili ovu relaciju između dva entiteta treba kreirati novu tabelu, nazovimoje UČEŠĆE, koja ima složeni primarni ključ (idbr#,brproj#) koji sačinjavajuprimarni ključevi iz tabela RADNIK (idbr#) i PROJEKAT (brproj#).8. Na način kako je to opisano u prethodnim koracima kreirati tabelu UČEŠĆE, takođe bez definisanja primarnog ključa, i zatvoriti prozor za projektovanje tabela. UČEŠĆE [1](idbr# INTEGER NOT NULL, brproj# INTEGER NOT NULL, brojsati BYTE, funkcija TEXT(15)); Izgled tabela kreiranih u Accessu na osnovu prethodno opisanih primera,može se videti ako izaberemo neku od tabela i onda kliknemo na alatku ot-vori Open, ili dvostrukim klikom na tabelu. Izgled je prikazan na slikama 3.6.i 3.7. Naravno, podaci još uvek nisu uneti. Slika 3.6 Baza podataka PREDUZECE (tabela RADNIK)[1] Ako je strani, spoljnji ključ deo složenog primarnog ključa onda ćemo i njega označiti znakom # kao što je to učinjeno u tabeli UČEŠĆE.18 Sistem za upravljanje bazama podataka
  19. 19. Kreiranje baze podataka Slika 3.7 Baza podataka PREDUZECE (tabele ODELJENJE, PROJEKAT i UČEŠĆE)Definisanje dodatnih svojstava atributa Za svaki od atributa mogu se definisati dodatna svojstva, u zavisnostikoja je uloga atributa u tabeli (primarni ključ, obavezan, može imati Null-vrednost, itd.) i koji je tip podatka u pitanju.1. Otvorimo bazu podataka PREDUZEĆE (slika 3.8. a), izaberemo tabelu RADNIK, i otvorimo je u režimu projektovanja (kliknemo na alatku De- sign), (slika 3.8. b). U donjem oknu svojstva polja Field Properties pos- toje dve kartice: opšta svojstva (General) i posebna u smislu domena podatka (spoljnji ključ može imati samo one vrednosti koje postoje u ta- beli u kojoj je on primarni ključ) ili objekta u kojem će biti prikazan (karti- ca Lookup). Na prvoj kartici General podešavamo svojstva polja za određeni tip po-datka: • veličina polja (Field Size), • formatiranje (Format), Sistem za upravljanje bazama podataka 19
  20. 20. MS Access a) baza podataka PREDUZEĆE sadrži četiri tabele b) izbor atributa i njihovih svojstava u tabeli RADNIK Slika 3.8 Podešavanje svojstava atributa • ulazna maska (Input Mask), za unos podataka u unapred de- finisanom i proverenom formatu (na primer želimo da datumi imaju izgled: 26-jun-1976; Medium Date), pridruženi tekst, • Caption (natpis, pridruženi naslov), koji se pojavljuje umesto imena polja u rezultatima upita, obrascima i izveštajima,20 Sistem za upravljanje bazama podataka
  21. 21. Kreiranje baze podataka • Default Value (podrazumevana vrednost), koja se automatski upisu- je ukoliko ne unesemo ni jednu drugu, • Validation Rule (pravila ispravnosti), odnosno domen atributa (skup dozvoljenih vrednosti). Ova polja omogućavaju proveru ispravnosti podataka, tj. proveru integriteta domena pri unosu i ažuriranju poda- taka, čime se povećava zaštita podataka, • Validation Text (tekst poruke), koji se ispisuje u slučaju unosa neis- pravnih podataka koji ne zadovoljavaju kriterijume zadate u Validati- on Rule, • Required (obavezno), služi za definisanje polja koja ne mogu imati vrednost Null. Za atribute koji su primarni ključ ovo svojstvo je uvek “Yes” jer oni ne mogu imati vrednost Null, • Indexed (indeksirano polje), postavlja indeks na atribut (samo je pri- marni ključ uvek indeksiran - podrazumevana vrednost). Ova opcija ima mogućnost No Duplicates, znači ne dozvoljava ponavljanje istih vrednosti, i podrazumeva se kod primarnog ključa. Opcija Duplicates OK, dozvoljava duplirane vrednosti i može se primeniti kod atributa koji se indeksiraju, a nisu primarni ključ, • Decimal Places (decimalna mesta), određuje tačnost, Precision (preciznost), definiše ukupan broj cifara za tip podatka decimal, Sca- le (skaliranje), definiše broj cifara sa desne strane decimalne tačke, i • Allow Zero Length (dozvoljena je dužina nula) što treba razlikovati od Null koja označava da polje nema vrednost. Atribut koji ima oso- binu Allow Zero Length može biti string dužine nula ““, tj. prazan niz znakova (string). Primarni ključ podrazumevano ima vrednost svojstva Required Yes isvojstvo Indexed mora biti Yes (No Duplicates).Za svaki atribut biramo tip podatka i definišemo posebna svojstva, za nekeatribute (koji imaju mali prebrojiv skup vrednosti), poželjno je definisati svojs-tva provere ispravnosti i tekst poruke u slučaju unosa pogrešnog podatka. Svojstvo provere ispravnosti (validation rule) daje implicitno moguć-nost definisanja sopstvenih domena za pojedine atribute, drugim rečima ko-risničkih tipova podataka. Ovo je u stvari simulacija domena koji se kod sna-žnijih RDBMS-a kao što su Oracle ili SQL Server zaista i mogu kreirati. Nai-me, za atribut kvalif možemo definisati skup dozvoljenih vrednosti (KV, VKV iVSS) i ako se unese neka vrednost RDBMS Access ispisuje poruku: “uneliste neispravan podatak za kvalifikaciju’’ tj. tekst koji je definisan u svojstvuValidation Text. Na slici 3.9. prikazana je upotreba ova dva svojstva. Sistem za upravljanje bazama podataka 21
  22. 22. MS Access Slika 3.9 Upotreba svojstva Validation Rule i Validation Text PRIMER 1: Za atribut KVALIF tabele RADNIK postaviti vrednosti ’’KV’’ OR ’’VKV’’ OR ’’VSS’’ u polje Validation Rule. U polje Validation Text upišite tekst ’’uneli ste neispravan podatak za kvalifikaciju’’, koji se pojavljuje u slučaju po- grešnog unosa podataka u polje KVALIF.1. Obeležite (selektujte) tabelu RADNIK, otvorite prozor za kreiranje tabela (kliknite na alatku Design).2. U zadata polja unesite tekst dat u prethodnom primeru (primer 1.).3. Zatvorite prozor za kreiranje tabela, naravno sačuvajte napravljene iz- mene (pritisnite dugme Yes), a zatim kliknite dvaput na tabelu radnik.4. Otvoriće se tabelarni prikaz (Datasheet View). Unesite podatke za rad- nika Petra, a u polje kvalifikacija ukucajte vrednost NK.5. Naravno, Access nije dozvolio unos neispravnog podatka, koji ne pripa- da skupu dozvoljenih vrednosti, i korisniku je poslao odgovarajuću poru- ku.6. Ukucajte vrednost KV, sada će podatak biti prihvaćen i upisan u polje.7. Zatvorite prozor sa tabelarnim prikazom (kliknite na ⌧). Uočite da nije bilo nikakvih obaveštenja! Access bez ikakvih dodatnih koraka sve pro- mene u tabelarnom režimu (ako su podaci ispravni) odmah trajno preno- si u bazu! Vrlo korisna opcija je takozvana ulazna maska (Input Mask) koja olak-šava unos podataka koji moraju imati određeni izgled, kao što je to na primerdatum ili neka tekstualna polja. Ulazna maska ne postoji za numeričke poda-tke, oni koriste decimalna mesta za olakšavanje unosa. Za datumsko poljevrlo je korisno prokazati ulaznu masku, a ona mora biti saglasna sa vred-nošću koja je izabrana u polju veličina polja (Field Size). Access ima velikibroj unapred definisanih maski za tekstualne podatke kao što su: telefonski22 Sistem za upravljanje bazama podataka
  23. 23. Kreiranje baze podatakabrojevi, brojevi socijalnog osiguranja, lozinke, razni formati za datume itd.,(slika 3.10). PRIMER 2: Postavite u tabeli RADNIK za polje DATZAP (datum za- poslenja) veličinu polja i ulaznu masku vrednost Short Date. Za polje DATZAP postavite odgovarajuću ulaznu masku Short Date.1. Otvorite tabelu RADNIK u režimu projektovanja.2. Kliknite na polje DATZAP, a zatim u kartici opšta svojstva (General) iza- berite svojstvo ulazna maska (Input Mask) i kliknite na (…).3. Otvoriće se prozor za izbor ulazne maske (slika 3.10), u kome treba iza- brati opciju Short Date.4. Otvorite tabelu u tabelarnom prikazu. Datum zaposlenja će biti prikazan u formatu dd.mm.gggg (npr. 17.12.1990), a ne kao 17-dec-1990. Slika 3.10 Access omogućava korisniku da bira ulaznu masku za svoje podatke Kartica Lookup pruža velike mogućnosti u pogledu unosa i provere is-pravnosti podataka, ali i u automatskom generisanju formi preko ’’čarobnja-ka’’. Naravno, to se posebno dobro može iskoristiti kod spoljašnjih ključeva utabelama. Tako recimo u tabeli RADNIK atribut broj odeljenja brod$ je spo-ljašnji ključ, dakle to je ujedno primarni ključ u nekoj drugoj tabeli (u ovomslučaju u tabeli ODELJENJE). Dakle podatak u ovom polju tabele RADNIKpotiče iz tabele ODELJENJE. PRIMER 3: Podesiti opciju Lookup atributa BROD tabele RADNIK tako da je moguć izbor broja odeljenja samo iz skupa vrednosti koje postoje u tabeli ODELJENJE. U ponuđe- nim opcijama prikazati samo prvu kolonu te tabele (tj. samo atribut BROD tabele ODELJENJE). Sistem za upravljanje bazama podataka 23
  24. 24. MS Access1. Otvorimo tabelu RADNIK u režimu projektovanja i izaberemo polje brod$, a zatim na kartici Lookup izaberemo da to bude objekat tipa pada- juća lista - Combo Box, slika 3.11.2. U svojstvu vrsta izvora reda, poreklo reda (Row Source Type) izabere- mo da podatak potiče iz tabele ili upita (Table/Query), a da je izvor reda (Row Source) tabela ODELJENJE.3. Pošto je brod# (primarni ključ) u tabeli ODELJENJE prvi atribut, izabe- remo da je granična kolona 1 (Bound Column), a kako nam treba samo jedna kolona u broj kolona upišimo takođe 1 (Column Count je 1). Ovo je korisno zbog toga što prilikom unosa podataka o radniku možemo uneti samo broj odeljenja koje postoji. Slika 3.11 Podatak u polju RADNIK.brod$ potiče iz tabele ODELJENJE4. Zatvorite prozor za kreiranje tabela, kliknite na tabelu RADNIK, a zatim kliknite na alatku otvori Open. Ponovo se na ekranu pojavio tabelarni prikaz. Kliknite na polje brod$ zapisa o jedinom unetom radniku, otvara se padajuća lista sa brojevima odeljenja, slika 3.12.5. Zatvorite tabelarni prikaz i ponovo otvorite tabelu radnik u režimu projek- tovanja (kliknemo na tabelu RADNIK, pa na alatku oblikovanje Design).6. Izaberite atribut brod$, pa ponovite prethodno opisani postupak za izbor vrste izvora reda, samo u polju broj kolona postavite 2 (Column Count je 2).7. Ponovite postupak iz koraka 4. i uočite da je sada u listi sem broja ode- ljenja i njegov naziv, ali se u polje prenosi samo broj odeljenja, tj. prva granična kolona (Bound Column je i dalje 1).24 Sistem za upravljanje bazama podataka
  25. 25. Kreiranje baze podatakaSlika 3.12 Pošto je izvor podatka neka tabela u padajućoj listi se nude samo pos- tojeće vrednosti u tabeli pa je unos podataka brz, a podaci su uvek ispravniZadavanje imena i završetak procesa kreiranja tabela Formiranje tabele završavamo komandom File / Save, upisivanjem ime-na tabele, ili komandom File / Close. U oba slučaja Access traži da tabelidamo ime. Isti postupak treba ponoviti i za sve tabele. Postoji i druga mogućnost. Dovoljno je pokušati zatvaranje radnog pro-zora (kliknemo na ikonicu ⌧ u desnom uglu prozora za kreiranje tabela) pada se automatski pokrene procedura pamćenja. Naime, Access postavljapitanje da li želimo da sačuvamo urađene izmene. Ovo je ujedno i zaštita odslučajnog zatvaranja prozora za kreiranje tabela. Ukoliko nije definisan primarni ključ tabele (a do sada nije) Access ćeposlati odgovarajuće upozorenje i ponuditi da on doda primarni ključ - jedanatribut tipa Autonumber. Naravno nećemo prihvatiti ponuđenu opciju, izab-raćemo No. Primarni ključ se može i naknadno kreirati. Ako izaberemo Yes,Access će kreirati ključ i dati mu ime ID (identifikator).Izbor primarnog ključa1. Otvorimo sada svaku od kreiranih tabela u režimu projektovanja Design. (Tabelu otvaramo u režimu projektovanja tako što u prozoru Database od ponuđenih objekata izaberemo opciju Tables, zatim izaberemo odgo- varajuću tabelu i dugme Design).2. Otvara se isti prozor kao onaj u kome smo kreirali tabelu (slika 3.5). Iza- beremo atribut (na primer, idbr# u tabeli RADNIK) ili atrubute (idbr# i brp- roj# u tabeli UČEŠĆE koja ima složeni ključ) koji će biti proglašeni za primarni ključ i izaberemo alatku sa nacrtanim ključem Primary Key. Sistem za upravljanje bazama podataka 25
  26. 26. MS Access Nakon toga ce se u polju ispred tog atributa pojaviti grafička oznaka za ključ .3. Uočite da se svojstvo Indexed automatski promenilo na Yes (No Duplica- te). Tabela je uvek indeksirana po primarnom ključu.4. Ukoliko se ne možemo odlučiti koji od atributa treba da bude ključni, iz- borom tipa podatka (Data Type) kao AutoNumber, MS Access dodaje u tabelu još jedan atribut koji smatra ključem. Vrednost toga atributa se u toku rada kreira automatski, pa ga korisnik ne može po svom nahođenju menjati.5. Zatvorite prozor za projektovanje (i sačuvajte izmene), a zatim otvorite tabelu RADNIK u tabelarnom prikazu i unesite podatke o radniku čije je ime Aco, ali nemojte uneti idbr#.6. Zatvorite tabelarni prikaz. Naravno nije uspelo, jer indeks ili polje primar- nog ključa ne može sadržati Null-vrednost (mora biti definisano). Unesite idbr#: 5367 i zatvorite tabelu. Primarni ključ treba definisati pre unosa podataka, jer on mora biti jedin-stven, tj. ne mogu postojati dve vrste sa istim ključem. Kod naknadnog defi-nisanja primarnog ključa (kada u tabeli već postoje podaci) može doći doproblema zbog moguće pojave istih vrednosti u polju ključa. Od ovog pravila se naravno može, i mora, odstupiti kada se podaci preuzimaju iz nekog spoljnjeg izvora, kao što su Excel tabele. Kako ove tabele nemaju ugrađene mehanizme za zaštitu integriteta (ni primarne ključeve), to se u njima mogu pojaviti identične n-torke (duplikati). U slučaju da podatke prenosimo u tabelu koja ima defini- san primarni ključ ovakve n-torke ne bi bile preuzete. Zato se ovakvi podaci najpre preuzmu u tabelu bez primarnog ključa. Zatim se po- moću specijalnog tipa upita, tačnije čarobnjaka koji pronalazi dupli- kate (Find Duplicates Query Wizard), izdvoje duplirani zapisi (zapisi sa istim kandidatom za primarni ključ), izvrši se potrebna analiza (otkrije uzrok pojave duplikata) i isprave moguće greške. Primarnom ključu uvek je pridružen indeks koji znatno ubrzava pretraži-vanje tabele, tj. izvršavanje upita. Kada se dodaju novi zapisi polje primarnog ključa ne može ostati nepo-punjeno, tj. primarni ključ ne može imati Null vrednost, a takođe neće dopus-titi unos zapisa sa istom vrednošću primarnog ključa jer on se ne može du-plirati (mora biti jedinstven).Zadatak za samostalan rad3.4. Kreirati primarni ključ za sve četiri tabele baze PREDUZEĆE.26 Sistem za upravljanje bazama podataka
  27. 27. Kreiranje baze podatakaPreuzimanje tabela i povezivanje sa postojećimtabelamaPreuzimanje tabela U radu sa bazama podataka, često dolazimo u situaciju kada je potreb-no preuzeti strukturu neke već postojeće tabele (sa ili bez podataka) iz dru-ge baze podataka. Svi podaci koje računar može da organizuje u obliku ta-bele, pa čak i tabele u datotekama za obradu teksta, mogu da se konvertujuu tabele baze podataka. Jedna od mogućnosti Accessa je i transformisanjepostojećih tabela baza podataka, radnih tabela i tekstualnih datoteka nap-ravljenih u drugim DOS i Windows aplikacijama u Accessov .mdb format.Ovaj postupak preuzimanja poznat je kao “uvoz” (Import)). PRIMER 4: U bazi podataka “MojaPrvaBaza.mdb” preuzeti tabele “RADNIK” i “UCESCE” iz baze podataka “PREDUZECE.mdb”.1. Otvoriti bazu podataka “MojaPrvaBaza”.2. Iz padajuće liste File izabrati opciju uzmi spoljnje podatke Get External Data, a zatim Import (slika 3.13).3. Pojaviće se prozor “uvoz” (Import) u kome treba izabrati fajl iz koga že- limo da preuzmemo tabele. Kada na disku pronađemo željeni fajl (u na- šem primeru “PREDUZECE.mdb”), selektujemo ga i pritisnemo dugme “Import” (slika 3.14). Slika 3.13 Početni korak preuzimanja tabele4. Pojaviće se prozor “Import objects” u kome možemo izabrati objekte baze podataka koje želimo da preuzmemo. Obzirom da želimo samo ta- bele, izabraćemo karticu “Tables”, u kojoj će biti prikazane sve tabele Sistem za upravljanje bazama podataka 27
  28. 28. MS Access koje nam stoje na raspolaganju. Pritiskom na dugme “Options” omogu- ćavamo izbor dodatnih opcija preuzimanja tabela. Izabraćemo opciju “Definition and data”, koja nam omogućava da preuzmemo i strukturu podataka i podatke. Takođe ćemo izabrati, “čekirati” opciju “Rela- tionships” koja nam omogućava da preuzmemo i relacije koje su defini- sane između tabela koje želimo da preuzmemo (slika 3.14). Se- lektovaćemo tabelu ODELJENJE i držeći pritisnut taster “Shift”, izabra- ćemo tabelu RADNIK. Kada izaberemo sve potrebne tabele, pritisnuće- mo dugme “OK” i Access će započeti proces preuzimanja tabela. Slika 3.14 Selektovanje tabela koje želimo da uvezemo – importujemo5. Nakon ovog postupka u prozoru “Database” baze podataka “MojaPrva- Baza” pojaviće se preuzete tabele RADNIK i ODELJENJE (slika 3.15). Naravno, na slici 3.15 neće postojati tabele PROJEKAT i UČEŠĆE, jer su samo dve tabele uvezene. Preuzete tabele su prikazane identično kao i fizičke tabele (slika 3.8 a)), jer to u stvari i jesu (duplikati tabela iz baze preduzeće). Slika 3.15 Izgled preuzetih i povezanih tabela u prozoru Database28 Sistem za upravljanje bazama podataka
  29. 29. Kreiranje baze podatakaPovezivanje sa postojećim tabelama Access takođe ima mogućnost povezivanja tabela iz datoteke baze po-dataka koja je napravljena u Accessu ili nekom drugom RDBMS-u sa aktiv-nom bazom podataka u Accessu. Ova opcija je od značaja kada u Accessuprojektujemo samo aplikacioni deo, a izvor podataka se nalazi na serveru iobično mu pristupa više korisnika odjednom. PRIMER 5: U bazi podataka “MojaPrvaBaza.mdb” povezati tabele UCESCE i PROJEKAT iz baze “PREDUZECE.mdb”.Povezivanje tabela je slično njihovom preuzimanju. Da bismo povezali tabe-le, potrebno je izabrati istu opciju kao i pri preuzimanju, iz liste File pokrenutikomandu Get External Data, slika 3.13, a zatim:1. u drugom koraku umesto opcije “Import” treba izabrati opciju “povezati tabele” (Link tables),2. u trećem koraku ne postoji mogućnost izbora dodatnih opcija,3. po završetku ovog procesa, prozor Database imaće izgled kao na slici 3.15,4. možemo uočiti da pored tabela koje nisu fizički preuzete, već samo “po- vezane”, postoji strelica (tabele PROJEKAT i UČEŠĆE). Ove tabele ne postoje u bazi podataka MojaPrvaBaza.mdb već se koriste originalni po- daci iz baze podataka preduzeće,5. otvorite uvezenu tabelu RADNIK u tabelarnom prikazu i radniku sa ime- nom Jovan promenite ime u Jovo,6. otvorite povezanu tabelu PROJEKAT u tabelarnom prikazu i projektu plasman promenite ime u prodaja,7. sada otvorite bazu podataka PREDUZEĆE i otvorite tabelarni prikaz ta- bele RADNIK. Uočićete da u njoj i dalje postoji radnik sa imenom Jovan. To je trebalo i očekivati jer je promena imena urađena u uvezenoj kopiji tabele, a original je ostao nepromenjen,8. otvorite tabelarni prikaz tabele PROJEKAT. Uočićete da u njoj više ne postoji projekat sa imenom plasman. To je takođe trebalo i očekivati jer je promena imena urađena u povezanoj, originalnoj tabeli,9. sada u tabeli PROJEKAT (u bazi preduzeće.mdb) promenite ime prodaja u plasman. Kako je baza MojaPrvaBaza.mdb još uvek otvorena, otvorite tabelu PROJEKAT u tabelarnom prikazu. Uočićete da je ime već prome- njeno, jer ova tabela je virtuelna i podaci postoje samo u tabeli PROJEKAT u bazi preduzeće.mdb.Unos podataka Da bismo otvorili tabelu za unos podataka, u prozoru Database (slika3.16) potrebno je dvaput kliknuti na odgovarajuću tabelu. Drugi način je da Sistem za upravljanje bazama podataka 29
  30. 30. MS Accessse izabere odgovarajuća tabela, a zatim izaberemo dugme otvori (Open, ). Na ekranu se pojavljuje formular za unos podataka, odnosno pojavljujese tabelarni prikaz (Datasheet) )sa imenovanim poljima u koja se direktnounose podaci. Podaci se unose u pripremljena polja vodeći računa o tipupodataka. U tabelarnom prikazu su već popunjeni redovi (n-torke, zapisi) sapostojećim podacima, i na kraju postoji jedan prazan red u koji se moguunositi podaci (novi zapis). Ako pogrešimo i unesemo podatak koji nije odgovarajućeg tipa (tekstumesto broja) ili ne zadovoljava postavljena ograničenja bićemo upozorenina grešku, koju možemo popraviti. Ukoliko smo u polju Validation Text upi-sali odgovarajuću poruku ta poruka će biti prikazana na ekranu. Ukoliko ni-smo sami definisali poruku sam Access će ispisati svoju: “The value you en-tered is not valid for this field” (Vrednost koju ste upisali nije prihvatljiva uovom polju). Slika 3.16 Osnovni prozor MS Accessa sa kreiranim tabelama Naravno možemo definisati dopunska, sopstvena pravila za proveru is-pravnosti u svojstvu Validation Rule, na primer da plata mora biti veća odminimuma propisanog zakonom (recimo 500 evra). Ako se propisi promeneonda treba promeniti vrednost ovog svojstva atributa. Za tekstualne i datum-ske tipove podataka korisno je definisati i ulazne maske da bi olakšali posaounosa podataka. Veliko olakšanje u unosu podataka obezbeđuje zadavanje podrazume-vane vrednosti (Default Value) a za podatke koji najčešće imaju neku poz-natu vrednost, na primer većina zaposlenih u preduzeću je VKV ako je ono30 Sistem za upravljanje bazama podataka
  31. 31. Kreiranje baze podatakaproizvodno, ili VSS ako je recimo projektantsko. Ova opcija je posebno po-godna za podatke tipa datum i vreme kada treba uneti tekuće, trenutne vre-dnosti. Postupak je sledeći: 1. otvorimo tabelu RADNIK u režimu projektovanja, 2. izaberemo atribut datzap, i u kartici opšta svojstva (General) kliknemo u polje podrazumevana vrednost, 3. na kraju polja pojave se tri tačke (...), 4. kliknemo na (...) i otvara se prozor za građenje izraza (Expression Builder), slika 3.17, 5. izaberemo funkcije i kliknemo na znak +, pa izaberemo ugrađene funkcije (Built-In-Functions), 6. u drugom oknu izaberemo Data/Time a u trećem oknu izabe- remo funkciju Date(), 7. pritisnemo dugme OK i u polju podrazumevana vrednost je sada upisana funkcija koja zadaje tekući datum. Slika 3.17 Osnovni prozor MS Accessa sa kreiranim tabelamaKorisne napomene kojima se ubrzava unošenje podataka:Kod unošenja teksta ukoliko želimo da tekst bude prikazan u više redova treba pritisnuti kombinaciju tastera Ctrl + Enter za prelazak u novi red.Kod unosa datuma možemo izabrati proizvoljan format i ulaznu masku. Formati utiču samo na način kako će podaci biti prikazani, ali ne menjaju način kako će podaci biti sačuvani u tabeli, pa ih možemo i naknadno menjati. Sistem za upravljanje bazama podataka 31
  32. 32. MS AccessUnošenje memo podataka treba obaviti preko prozora Zoom koji se pokre- će kombinacijom tastera Ctrl + Enter. U prozoru Zoom nalazi se dugme Font za izbor vrste slova (Font).OLE objekti se unose ili kopiranjem iz Clipboarda (Copy / Paste) ili umeta- njem preko komande iz liste Insert/Object kao i u drugim Windows apli- kacijama.Zadatak za samostalan rad:3.5. U sve četiri tabele uneti odgovarajuće podatke date na slikama 3.6 i 3.7.Ispravljanje grešaka u projektovanju tabela U slučaju da smo pri definisanju strukture tabele pogrešili, nešto zabora-vili, ili uveli nepotreban atribut, aktiviranjem postupka za projektovanje tabele(Design View), moguće je sve te ispravke odmah i provesti u on line modu. Problemi se mogu javiti najčešće u slučaju kada se menjaju osobineprimarnih i spoljnjih ključeva, nakon što su uspostavljene relacije među tabe-lama. Problemi mogu nastati i kada se naknadno definišu primarni ključevi,jer možda među unetim podacima postoje duplikati ključeva (n-torke sa is-tom vrednošću primarnog ključa). Vrlo opasna (i štetna) je mogućnost dodavanja, brisanja i preimenovanjakolona direktno u tabelarnom prikazu. Promena imena vrši se tako što dva-put kliknemo na zaglavlje kolone (ime polja) i upišemo novi tekst. Nevolja jeu tome što je zaglavlje kolone upravo ime podatka koje se možda već koristiu nekim upitima, obrascima ili izeštajima. Za dodavanje i brisanje su na ras-polaganju komande: • Insert / Column za dodavanje kolone, i • Edit / Delete Column za brisanje kolone.Ispravljanje grešaka u unetim podacima U slučaju da smo uneli pogrešne podatke moguće je odmah ispravitigrešku. Svi podaci direktno se mogu menjati u tabelarnom prikazu sem: pri-marnih ključeva tabela koji su u nekoj drugoj tabeli spoljnji ključevi (inače bibio narušen integritet podataka), polja tipa Autonumber, izračunata polja izaključana ili isključena polja. Access pruža nekoliko pogodnosti u ispravkama vrednosti podataka (po-lja): • zamena postojeće vrednosti podrazumevanom ostvaruje se kombi- nacijom tastera Ctrl + Alt + space (razmak),32 Sistem za upravljanje bazama podataka
  33. 33. Kreiranje baze podataka• kombinacija tastera Ctrl + ; (tačka zarez), upisuje u polje tekući da- tum,• zamena postojeće vrednosti onom koja se nalazi u istom polju pret- hodnog zapisa kombinacijom tastera Ctrl + (apostrof, jednostruki znak navoda),• pronalaženje (Find) i zamena postojećih vrednosti novim (Replace) vrši se slično kao i u drugim programima preko liste Edit ili kombi- nacijom tastera Ctrl + F. Pojavljuje se okvir za dijalog kao na slici 3.18. U polju gledaj (Look In) odlučujemo da li pretražujemo kolonu ili celu tabelu, a u polju Match biramo da li podatak koji tražimo može biti bilo gde u polju (Any Part of Field), celo polje (Whole Field) ili po- četni deo polja (Start of Field),Slika 3.18 Pronalaženje podatka ili dela podatka u tabeli ili koloni (polju)• kombinacijom tastera Ctrl i + (plus) dodaje se novi zapis,• dodavanje novih zapisa vrši se u slogu ispred koga se nalazi * (zvez- dica), ili preko komande Edit / New Record ili Edit / GoTo / New Record. Ako izaberemo opciju Records / Data Entry sa ekrana će se privremeno ukloniti svi zapisi dok dodajemo nove. Vraćanje prika- za zapisa na ekran vrši se komandom Records / Remove Fil- ter/Sort,• kombinacija tastera Ctrl + - (crtica) briše tekući zapis,• brisanje izabranog, selektovanog zapisa može se uraditi tasterom Delete ili komandom Edit / Delete Record. Ali, kao i uvek kada bri- šete sistem će vas upozoriti i dati vam priliku da odustanete ako ste to uradili slučajno. Za brisanje ćemo pritisnuti dugme Yes, a dugme No je za odustajanje. Sistem za upravljanje bazama podataka 33
  34. 34. MS AccessKorišćenje opoziva Za opoziv akcije ili izmene kao i u drugim Windows aplikacijama i u Ac-cessu je na raspolaganju komanda i dugme opoziv (Undo). Komanda Undose nalazi u listi Edit. Postoji više vrsta opoziva: • Edit/Undo Typing za opoziv poslednje izmene koja je uneta u po- datke, • Edit/Undo Current Field/Record poništava poslednju izmenu u te- kućem polju ili sve izmene u tekućem zapisu, • Edit/Undo Saved Record poništava sve izmene u zapisu koji je pos- lednji sačuvan na disku.Promena redosleda i širine polja i visine reda Ako nije drugačije zadato, Access prikazuje polja tabelarno po istom re-dosledu kojim su ona navedena u definiciji tabele ili u upitu, a zapisi su sorti-rani u redosledu primarnog ključa. Ali ponekad je potrebno da se neka drugapolja prikažu jedno pored drugog da bismo bolje analizirali podatke. Postav-ljanje dve kolone jedne pored duge vrši se jednostavnom tehnikom prevla-čenja. Obeležimo jednu od kolona (klikom na zaglavlje). Otpustimo taster,ponovo kliknemo na obeleženu kolonu i, držeći taster pritisnut, prevučemo jelevo ili desno od druge kolone. Kolone se mogu premeštati jedna po jedna iligrupa susednih kolona odjednom. Naravno premeštanje kolona u tabelar-nom prikazu ne menja redosled polja u strukturi tabele. Izgled linija kojima su oivičena polja podešava se komandom Format /Datasheet, pojavljuje se okvir za dijalog prikazan na slici 3.19. Vrsta slovabira se, kao u svim Windows aplikacijama, komandom Format / Font. Slika 3.19 Izbor linija za oivičavanje polja Širina polja menja se kao i Excelu, kliknemo na zaglavlje kolone (selek-tujemo kolonu). Zatim dovedemo pokazivač miša na liniju koja razdvaja dvapolja i dvaput kliknemo levim tasterom miša. Kolona automatski dobija širinu34 Sistem za upravljanje bazama podataka
  35. 35. Kreiranje baze podatakakoja je dovoljna da bude prikazan najduži podatak ili ime kolone. Druga mo-gućnost je promena širine komandom Column Width u padajućoj listi For-mat. Visina reda podešava se komandom visina reda iz liste Format / RowHeight, ili jednostavno postavite kursor između dva reda i prevlačenjempromenite širinu.Skrivanje, prikazivanje, zamrzavanje, i odmrza-vanje kolona Skrivanje kolone može se obaviti sužavanjem kolone dok se granične li-nije ne dodirnu ili komandom Format / Column Width i zadavanjem vredno-sti 0. Treći način je da obeležimo kolonu (kolone) koju hoćemo da sakrijemo,na primer kolonu rukovodilac, i onda iz liste Format izaberemo komandusakrij Hide Column. Prikazivanje skrivene kolone obavlja se komandom Format / Unhide,pojaviće se okvir za dijalog sa spiskom kolona (slika 3.20). Skrivene kolonenemaju znak za potvrdu ispred imena, u ovom slučaju to je kolona rukovo-dilac. dugmad za pri- kazivanje i skri- vanje kolona Slika 3.20 Skrivanje i prikazivanje sakrivenih kolona U ovom okviru za dijalog možemo ne samo da prikažemo skrivene kolo-ne, nego i da sakrijemo proizvoljne kolone, izborom odgovarajućeg dugmetaza potvrdu. Ako hoćemo da kolona rukovodilac ponovo bude vidljiva klikne-mo na dugme za potvrdu ispred njenog imena. Ako hoćemo da i kolone pla-ta i posao budu nevidljive, izabraćemo odgovarajuće dugme za potvrdu. Kada tabela ima veliki broj kolona na ekranu se mogu videti samo neko-liko susednih. Ako hoćemo da analiziramo podatke u dvema udaljenim kolo-nama to najčešće nije moguće. U tu svrhu možemo neke bitne kolone, naprimer ime, učiniti uvek vidljivom. Kliknemo na kolone ili kolonu (ime), i ondaiz liste Format izaberemo komandu zamrzni (Freeze Columns). Nakon togakolona ime će uvek biti prva sleva. Za odmrzavanje se koristi komanda Sistem za upravljanje bazama podataka 35
  36. 36. MS AccessFormat / Unfreeze All Columns, ali do zatvaranja tabele prethodno zamrz-nute kolone biće prikazane kao prve sleva.Trajno čuvanje izmenjenog izgleda tabelarnogprikaza Ako podešeni izgled tabele želite trajno da zadržite dovoljno je da pozo-vete komandu Save iz padajuće liste File (File / Save).Uređivanje i izdvajanje zapisa u tabelarnom pri-kazu U tabelarnom prikazu (Table Datasheet) moguće je brzo i jednostavnovršiti uređivanje i izdvajanje podataka. MS Access uvek prikazuje podatkeuređene po vrednosti primarnog ključa. Ako želimo da podaci budu prikazaniu nekom drugom redosledu ili da izdvojimo samo neke zapise na raspolaga-nju su nam odgovorajući alati. Da bi izvršili uređivanje (sortiranje) zapisa po jednom polju, potrebno jemišem izabrati vrh polja po kome vršimo sortiranje i izabrati ikonicu za sorti-ranje po rastućem ili opadajućem redosledu . Sortiranje po više poljamože se uraditi tako što se prevuku polja koja se žele sortirati jedno do dru-gog, selektuju se držeći pritisnut taster SHIFT i izabere se ikonica za sortira-nje. Da bi se uklonio redosled sortiranja primenjen na neku tabelu uradi seponovo sortiranje po primarnom ključu, ili se zatvori tabela bez snimanja iz-mena. MS Access pruža tri mogućnosti sortiranja: • Filter by selection (izdvajanje prema izboru) omogućava filtri- ranje podataka po uspostavljenom redu samo u jednom polju tabele. Na primer, ako želimo da dobijemo podatke o svim upravnicima, ot- vorićemo tabelu RADNIK u prikazu Datasheet, pozicionirati se na vrednost UPRAVNIK u nekom od zapisa i pritisnuti dugme Filter By Selection, ili iz menija izabrati opciju Records – Filter – Filter By Selection. • Uklanjanje ovoga filtra vrši se pritiskom na dugme Remove Filter (u pitanju je isto dugme kao i Apply Filter, koje je pritisnuto kada je fil- ter primenjen i izdignuto kada nije). • Filter by Form (izdvajanje prema obrascu) omogućava filtriranje prema kriterijumu koji se zasniva na više polja istovremeno. Postu- pak je sledeći:36 Sistem za upravljanje bazama podataka
  37. 37. Kreiranje baze podataka1. otvorimo tabelu RADNIK u prikazu Datasheet i pritisnemo dugme Filter by Form, ili se iz menija Records – Filter – Filter By Form, otvara pra- zan obrazac u kome biramo kriterijume po kojima želimo sortiranje,2. ako, na primer, želimo da izdvojimo radnike čiji je posao upravnik ili sa- vetnik, iz padajuće liste prvo biramo jedan kriterijum (upravnik),3. zatim na dnu prozora izaberemo jezičak kartice OR, a onda u polju po- sao iz padajuće liste biramo drugi kriterijum koji nam je potreban (savet- nik),4. kada smo izabrali željene uslove pritisnemo dugme Applay Filter i dobi- jemo samo one zapise koje smo tražili (slika 3.21.) Slika 3.21 Rezultati primene opcije Filter by Form Filter by Form možemo primeniti i kod kriterijuma sa logičkim uslovomAND (istovremeno zadovoljavanje više uslova), unoseći potrebne uslove naistoj kartici prozora Form u više kolona. Da bi uklonili sve prethodne kriterijume filtriranja treba iz liste zapisi Re-cords izabrati komandu Remove Filter/Sort. Advanced Filter/Sort (napredno filtriranje/sortiranje) je slično izradi upi-ta nad jednom tabelom.Zadaci za samostalan rad:3.6. Prikazati sve podatke za radnike koji rade u odeljenju 20, tako da budu uređeni po opadajućem redosledu u odnosu na platu.3.7. Prikazati zapise o radnicima koji rade u odeljenju 40, čija je kvalifikacija VSS i koji su rukovodioci.Kreiranje veza-relacija između tabela Tabele se mogu povezati među sobom određenim relacijama tipa1:1, 1:N i N:M (preko dve relacije 1:N i M:1).1. Uspostavljanje relacija između tabela vrši se izborom opcije Relations- hip iz padajuće liste alatke Tools ili izborom dugmeta Relationship koje je vidljivo kada je aktivan glavni prozor baze Database. Sistem za upravljanje bazama podataka 37
  38. 38. MS Access2. Nakon toga se otvara radni prozor kao na slici 3.22. Kliknemo mišem na željenu tabelu dva puta, ili selektujemo tabelu koja učestvuje u relaciji i kliknemo na dugme dodaj (Add).3. Izabrana tabela će se pojaviti u gornjem oknu relacije (Relatioships). Na opisani način preneti sve tabele koje učestvuju u nekoj relaciji u gornje okno, a zatim zatvoriti okno sa tabelama Show Table klikom na dugme zatvori (Close). Slika 3.22 Izbor tabela koje se povezuju relacijama4. Ukoliko se naknadno setite da treba dodati još neku tabelu u relaciju kli- knite desnim tasterom miša na sivu radnu površinu prozora relacije (Re- lationships). Pojaviće se okvir za dijalog u kome treba izabrati dugme pokaži tabele (Show Table).5. Opet će na ekranu biti prikazan prozor sa tabelama. Na prethodno opi- sani način izaberite potrebne tabele koje nisu već uključene u relacije. U informacionom sistemu preduzeća uspostavljaju se pomenute relacije,veze među tabelama. Između tabela ODELJENJE i RADNIK postoji vezajedan prema više, odnosno 1:N (jedan radnik radi u jednom odeljenju - stra-na 1, a u jednom odeljenju radi više radnika - strana N). Veza se u Accessunajlakše ostvaruje tehnikom prevlačenja, na sledeći način:1. u tabeli na strani 1 izaberemo atribut za povezivanje, primarni ključ, (brod# u tabeli ODELJENJE),2. kliknemo na njega, držimo pritisnut levi taster i odvučemo pokazivač mi- ša do spoljašnjeg ključa u tabeli na strani više (brod$ u tabeli RADNIK),3. pojavljuje se okvir za dijalog Edit Relationship u kojem se dodatno mo- že opisati veza koja postoji između dva entiteta - tabele,38 Sistem za upravljanje bazama podataka
  39. 39. Kreiranje baze podataka4. ako želimo da se obezbedi referencijalni integritet u ovom okviru za dija- log treba izabrati opciju nametnuti referencijalni integritet (Enforce Refe- rential Integrity), odnosno treba kliknuti na dugme za potvrdu sa tim imenom,5. moguće je dodatno izabrati kaskadno brisanje i kaskadno ažuriranje (ka- da se u tabeli na strani 1 obriše ili promeni podatak, u tabeli na strani vi- še moraju pre toga da budu obrisani ili promenjeni svi zapisi koji sadrže tu vrednost),Integritet podataka, odnosno sigurnost očuvanja podataka, po pravilima koja su propisana da bi neki sistem za upravljanje bazama podataka uopšte bio relacioni (Coddova pravila), mora biti definisana u bazi podataka. U tom cilju u relacionim bazama moraju postojati određena ograničenja koja se odnose na vrednosti pojedinih atributa. Prvo ograničenje ostva- ruje se preko zadavanja tipa podataka i definisanja skupa dozvoljenih vrednosti (validation rules). Sem ovih, postoje i opšta ograničenja koja se nazivaju pravila integriteta relacionog modela, a to su: integritet enti- teta i referencijalni integritet.Integritet entiteta: Primarni ključ ili neki njegov deo ne mogu imati Null- vrednost. Kako je primarni ključ jedinstven i neponovljiv, to se na ovaj način obezbeđuje da svaki red, odnosno objekat koji je opisan podaci- ma, u toj tabeli bude jedinstven.Referencijalni integritet: Skup vrednosti spoljnjeg ključa u nekoj tabeli T1, koja je u relaciji N:1 (povezana) sa nekom drugom tabelom T2, mora biti podskup skupa vrednosti primarnog ključa u tabeli T2 sa kojom je tabela T1 povezana. Na primer atribut BROD u tabeli RADNIK može imati samo one vrednosti koje postoje u tabeli ODELJENJE.6. vrste spajanja su: prirodno spajanje, levo spoljnje spajanje ili desno spoljnje spajanje, a izabiraju se dugmetom vrsta spajanja (Join Type), nakon čega se pojavljuje novi okvir za dijalog Join Properties (slika 3.23),7. pretpostavljena vrsta spajanja je prirodno spajanje, opcija 1. Ukoliko ho- ćemo spoljašnje spajanje onda biramo opciju 2 ili 3,8. između entiteta RADNIK i PROJEKAT postoji relacija više prema više (M:N), jer jedan radnik radi na više projekata, a na jednom projektu radi više radnika. Ovakve veze se ostvaruju preko novog entiteta - tabele (UČEŠĆE), koja je sa svakim od dva entiteta - tabela (RADNIK i ODELJENJE) u relaciji 1:N, odnosno 1:M Sistem za upravljanje bazama podataka 39
  40. 40. MS Access Slika 3.23 Definisanje svojstava relacija PRIMER 6: Kreirati relacije, povezati tabele tako da sve relacije osim između tabela RADNIK i UČEŠĆE imaju nametnut refe- rencijalni integritet (1:beskonačno), slika 3.23. Ako naknadno želimo da ukinemo neku vezu između tabela, ili da pro-menimo neka svojstva postojećih relacija u prozoru Relationship, desnimtasterom miša kliknemo na postojeću vezu i otvara se okvir za izmene (EditRelationship) i ukidanja veze (Delete), slika 3.24. Slika 3.24 Model objekti-veze za informacioni sistem preduzeća U daljem opisu mogućnosti Accessa ponekad ćemo ukidati veze iz-među tabela da bi demonstrirali način rada ili pogodnosti koje pruža Access. Tabele koje su korišćene u ovom primeru nastale su kao rezultat pro-jektovanja informacionog sistema preduzeća (glava 13). Dakle, tabele, veze40 Sistem za upravljanje bazama podataka
  41. 41. Kreiranje baze podatakaizmeđu njih, kao i njihovi atributi, rezultat su postupka projektovanja informa-cionog sistema, odnosno predstavljaju relacioni model realnog sistema. PRIMER 7: Kreirati novu tabelu ORGANIZACIONA_JEDINICA di- rektnim unosom podataka u tabelu. Tabela ima atribute brod, naziv i mesto. Uneti podatke za dve organizacio- ne jedinice.Koraci realizacije ovog zadatka su sledeći: 1. na glavnom prozoru baze biramo opciju za kreiranje tabele direktnim unosom podataka Create table by entering data. Otvara se rešet- kasta struktura tabele Datasheet View za direktno unošenje podata- ka (slika 3.25). 2. na vrhu svake kolone su podrazumevane vrednosti za imena tih ko- lona Field1, Field2 itd. Promenu imena polja izvršimo desnim klikom na odgovarajuće polje i biranjem opcije Rename. Izabrano polje je time označeno za izmenu i upiše se novo ime, tako umesto polja Fi- eld1 upišemo novo ime brod, sledeću kolonu Field2 nazovemo na- ziv, a treću mesto. Slika 3.25 Redovi i kolone prazne tabele 3. dalje unosimo zadate vrednosti u te tri kolone Ostale kolone se ne koriste u ovom slučaju i biće uklonjene nakon što sačuvamo tabelu (slika 3.26). Slika 3.26 Tabela ORGANIZACIONA_JEDINICA nakon unosa podataka 4. kada je završen unos podataka sačuvamo tabelu pod imenom ORGANIZACIONA_JEDINICA. Postavlja se pitanje da li da program sam kreira primarni ključ (slika 3.27). Ako se izabere opcija Yes do- Sistem za upravljanje bazama podataka 41
  42. 42. MS Access daje se tabeli još jedna kolona imena ID tipa Autonumber. Ako ne želimo da imamo takav primarni ključ, izaberemo opciju No i kreramo tabelu bez primarnog ključa. 5. sve izmene u strukturi tabele mogu se uraditi naknadno, pa tako ot- vorimo novokreiranu tabelu u režimu projektovanja, izborom opcije Design View. Dodamo primarni ključ za polje idbr ovoj tabeli na ra- nje opsisani način. Slika 3.27 Dijalog prozor o automatskom kreiranju primarnog ključa PRIMER 8: U bazi FIRMA kreirati tabelu o zaposlenim radnicima ko- rišćenjem čarobnjaka. Ime tabele je ZAPOSLENI, a atri- buti su idbr, ime, rukovodilac, plata i brod. Korišćenje čarobnjaka kod kreiranja tabela može da bude korisno u slu-čaju ako se kreiraju tipične tabele, u nekim standardnim bazama podataka. 1. Dvostrukim klikom na opciju za kreiranje tabele uz pomoć čarobnjaka Create table by using wizard otvara se prozor (slika 3.28), gde se mogu izabrati dve odvojene liste tabela: • poslovna (business), • lična (personal). polja nove tabele primeri tabela primeri polja izabrane tabele Slika 3.28 Kreiranje tabele pomoću čarobnjaka42 Sistem za upravljanje bazama podataka
  43. 43. Kreiranje baze podatakaIzborom jedne od te dve opcije prikazuje se odgovarajuća lista primera tabe-la. Izabraćemo opciju Business, jer nam je zadatak kreiranje table o zapos-lenim radnicima. 2. Iz liste prikazanih primera, proverimo koja tabela najviše odgovara postavljenom zadatku. Logično je očekivati da je svaki zadatak sam za sebe jedinstven i da ima svoje specifičnosti, ali korišćenje čarob- njaka može pomoći u onom delu koliko se prikazana polja tabele iz primera poklapaju sa zahtevom koji se od nas očekuje. Tabela iz lis- te, Zaposleni (Employees), najviše odgovara postavljenom zadatku, pa je biramo. 3. Iz liste koja prikazuje ponuđene atribute Sample Fields, označe se polja koja treba da budu atributi tabele koja se kreira. Izabere se po- lje EmployeesID (koje predstavlja šifru zaposlenog) i klikom na du- gme sa jednom strelicom prebacujemo ga u listu polja koja će sadr- žati tabela koja se kreira Filds in my new table (slika 3.29). Slika 3.29 Dodavanje atributa tabeli koja se kreira i njihova promena imena 4. Da bi izmenili naziv atributa potrebno ga je označiti klikom miša, za- tim klikom na dugme Renamed Fild otvara se prozor u kome damo novo ime atributu. U ovom slučaju umesto ponuđenog imena EmployeesID upiše se idbr (slika 3.29). 5. Na isti načim biraju se i ostala polja i izvrši njihova promena imena. Polju FirstName treba promeniti ime u ime, polju SupervisorID u rukovodilac, polju Salary u plata i polju DepartmentID u polje brod. Ostala ponuđena polja ne koristimo jer u ovom slučaju to se ne zah- teva. 6. Nakon dodavanja svih potrebnih polja, prelazi se na sledeći korak u kome se daje ime tabeli, u ovom slučaju tabelu ćemo nazvati Sistem za upravljanje bazama podataka 43
  44. 44. MS Access ZAPOSLENI (slika 3.30). U tom prozoru ponuđene su dve opcije za izbor primarnog ključa: • Yes, set a primary key for me - program sam doda polje ko- je će biti primarni ključ, u tom slučaju on dodaje jednu kolonu imena ID, čije se vrednsti inkrementiraju za 1 za svaki novi zapis. • No I’ll set the primary key - sami biramo polje koje će biti primarni ključ. U ovom slučaju odlučićemo se da sami izaberemo polje koje će biti primarni ključ, tj. biramo opciju No I’ll set the primary key. Slika 3.30 Davanje imena tabeli 7. U sledećem koraku se otvara prozor u kome iz padajuće liste biramo polje koje će biti primarni ključ, za tabelu ZAPOSLENI to je polje id- br. Takođe u tom prozoru se nude i tri opcije za izbor tipa podataka polja koje je izabrano za primarni ključ. U ovom slučaju biramo opciju da je to numerički tip za koji sami unosimo vrednost, Number, a ne da je numerički tip koji se sam inkrementira kod svakog novog zapi- sa, Autonumber, ni tekstualni tip Text. 8. Sledeći prozor nudi opciju povezivanja tabele ZAPOSLENI koju krei- ramo sa nekom od već postojećih tabela. Povezivanje tabela se mo- že uraditi i kasnije u prozoru Relationships. Ako već imamo neke kreirane tabele koje bi mogli povezati sa tabelom koju kreiramo, onda to možemo uraditi izborom te tabele, u ovom slučaju tabele ORGANIZACIONA_JEDINICA i klikom na dugme Relationships (slika 3.31). 9. Otvara se prozor (slika 3.32), koji nudi tipove veze između izabranih tabela. Ove dve tabele, ZAPOSLENI i ORGANIZACIONA_JEDINICA su povezane vezom n:1 preko atributa brod, znači biramo treću opci-44 Sistem za upravljanje bazama podataka
  45. 45. Kreiranje baze podataka ju od ponuđenih: One record in the tabele ORGANIZACIONA _JEDINICA will match many records in the ZAPOSLENI table. Slika 3.31 Izbor tabela za povezivanje sa tabelom koja se kreira Slika 3.32 Izbor tipa veze među tabelama10. U poslednjem koraku (slika 3.33) biramo jednu od opcija u kojoj ćemo otvoriti tabelu koju smo kreirali. Slika 3.33 Otvaranje tabele nakon kreiranja korišćenjem čarobnjaka• Prva opcija omogućava da se tabela otvori u režimu projektovanja, da se dodaju ili izmene neki detalji koji nisu mogli upotrebom čarob- Sistem za upravljanje bazama podataka 45
  46. 46. MS Access njaka da budu realizovani, naravno te izmene se mogu uraditi i kasni- je. • Druga opcija nudi otvaranje tabele u tabelarnom prikazu, tj. omogu- ćava odmah unos podataka. • Izborom treće opcije otvara se automatski napravljen obrazac nad tabelom koji omogućava unos podataka u tabelu na pristupatičniji način.Zadaci za samostalan rad: 3.9. Dodati referencijalni integrit za vezu između tabela RADNIK i UČEŠĆE. 3.10. Kreirati bazu podataka za evidentiranje knjiga i njihovih autora čiji je E-R model datan slici 3.34. AUTOR KNJIGA NAPISALI Slika 3.34 E-R model baze za evidentiranje knjiga i autoraUputstvo: Kod kreiranja ove baze uslov je da jedan autor može napisati više knji-ga, a jedna knjiga može imati više autora. AUTOR (id_autor, ime, prezime, adresa, zvanje, ...) KNJIGA (id_knjiga, naziv, izdavač, datum_izdavanja, isbn, ...) NAPISALI (id_autor, id_knjiga, ...)3.11. Kreirati bazu podataka za servis elektronskih aparata.Za realizaciju ovog projekta treba vodoti računa o sledećim stavkama: • potrebno je da imamo podatke o radnicima koji servisiraju uređaj, nji- hove lične podatke, ali i informaciju o tome koji je radnik iyvršio pop- ravku ili zamenu određenog dela, • treba da znamo informacije o vlasnicima aparata, da bi mogli da ih obavestimo o završenom poslu, kao i da li je u pitanju fizičko ili prav- no lice, • da ne bi došlo do slučajne greške, o apratima koji su donešeni na servis takođe treba evidentirati koji su tip, serijski broj, ko je proizvo- đač, kao i kome vlasniku propada,46 Sistem za upravljanje bazama podataka
  47. 47. Kreiranje baze podataka • svi delovi koji postoje u servisu treba da se evidentiraju, njihova koli- čina, cena i osnovni opis, • kod ispostave računa potrno je navesti sve stavke popravke tj. koji je deo zamenjen, cena rada, koji je radnik obavio popravku i slično. Razmatranje veza među tabelama: 1. Radnik može primiti više aparata, a svki aparat može biti primljen od samo jednog radnika (1:n). 2. Radnik može izdavati više računa, a račun može imati samo jednog radnika koji ga je izdao (1:n). 3. Vlasnik može da na servis donese više aparata, a svki aprat može da ima smo jednog vlasnika (1:n). 4. Završetak rada na jednom aparatu može imati više računa. 5. jedan račun može sadržati više popravki, a jedan deo materijala koji se ugrađuje može da bude na više stavki, pa je to veza (n:n) iymeđu objekta RAČUN i DELOVI koja ja realiyovana preko objekta STAVKE_POPRAVKE. Slika 3.35 E-R model baze servisa za elektronske uređajeRADNIK (id_radnik, ime, prezime, telefon, korisnicko_ime, ...)VLASNIK (id_vlasnik, ime, prezime, broj_licne_karte, adresa, telefon, vrsta_lica, ...)APARAT (id_aparata, serijski broj, vrsta, proizvođač, tip, primedba, dodaci,id_vlasnik, ...)DELOVI (id_dela, opis, količina, cena, ...)RAČUN (id_računa, id_aparata, datum, suma, id_radnik, ...)STAVKA_POPRAVKE (id_računa, id_stavke, id_dela, količina, cena_rada, ukup-no,...) Sistem za upravljanje bazama podataka 47
  48. 48. MS Access3.12. Kreirati bazu podataka za agenciju za izdavanje nekretnina. Uputstvo: Agencija za izdavanje nekretnina treba da ima informacije o svim ponu-dama stanova, njihovim vlasnicima, lokacijama i strukturi stana. Na osnovunekretnina koje su na raspolaganju zakupac iznajmljuje određene nekretni-ne. Jedan vlasnik može da ponudi više nekretnina za izdavanje, a jedna ne-kretnina može da bude vlasništvo jednog čoveka. Svaka nekretnina koja se izdaje ima određenu struktura, a više nekretni-na može imati istu strukturu. Pod strukturom se podrazumeva kvadratura,broj prostorija i slično. Svaka nekretnina koja je u ponudi može da bude na jednoj lokaciji, a najednoj lokaciji može biti više ponuda. Svaka nekretnina koja je u ponudi može biti izdata ili ne, ali samo jed-nom zakupcu, pa je tip veze između tabela PONUDA i IZDAT 1:1. Zakupac može iznajmiti više nekretnina, ali jedna nekretnina može bitiizdata samo jednom zakupcu.VLASNIK (id_vlasnik, prezime, ime, telefon, adresa, ...)LOKACIJA (id_lokacija, opština, ...)STRUKTURA (id_struktura, m2, br_prostorija, ...)PONUDA (id_ponuda, id_vlasnik, id_struktura, id_lokacija, cena, sprat, ...)ZAKUPAC (id_zakupac, prezime, ime, telefon, ...)IZDAT (id_ponuda, id_zakupac, datum_izdavanja, ...) VLASNIK IZDAT STRUKTURA PONUDA LOKACIJA ZAKUPAC Slika 3.36 E-R model agencije za izdavanje nekretnina48 Sistem za upravljanje bazama podataka

×