Škola Accessa
predavač: Branislav Mihaljev

Bookmark and Share
Matična strana sajta
  Novo na sajtu
  Mapa sajta
  Beleške
  Kontakt
  Pretraga MSKB

 Blog Praktikuma
  RSS feed
  P@W @Tw

  Izvezi stranicu u PDF
 
Škola Praktikuma

Škola Accessa
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

 
       

Sponzori sajta

SBB CS 1.6 game server: 82.117.200.1
 
Connectivity by SBB

 


 

Informacije

NOVOSTI

I još dva nova priloga o Excelu
Novi prilozi o Wordu
Novi i prilozi u temi "razno o Officeu"
Novi članci o novostima u Officeu 2010!

SADRŽAJI ZA PREUZIMANJE

Lokalizacija Total Commandera 7.51Obe jezičke školjke za popularni program na srpskom sad funkcionišu u bilo kojoj varijanti Windowsa!
RNDalica.ExcelDodatak za Excel 2007/2010 za generisanje slučajnih podataka!
YuConv.ExcelDodatak za Excel 2007/2010 za konverziju pisama!
YuConvNetDodatak za Word 2007/2010 za konverziju pisama i kodnih rasporeda!

SKREĆEMO PAŽNJU

Kako pretraživati MSKB
a pronaći ćete i još mnogo novih sadržaja...

KONTAKT

Da li znate za pravila koja važe pri kontaktu sa nama? Molimo vas da se obavestite o tome!
 
POZIVAMO VAS

i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.

  (C) 2000-2010 Praktikum na Webu
 

Čas 4 - Povezivanje tabela

Na ovom času iskoristićemo postojeće, ranije kreirane tabele i povezaćemo ih međusobno u relacije. Punu snagu Access ostvaruje iz relacionih tabela (otuda naziv relacione baze podataka). Iz relacionih tabela podatke je lako filtrirati i na njih primeniti razne kriterijume bez obzira iz koliko tabela podaci potiču.

Ako analiziramo spisak polja i strukturu tabela iz drugog časa videćemo da međusobnog povezivanje tabela nema mnogo. Praktično, ima ih dva i oba se nalaze u tabeli Poslovanje. Polje ID_Knjiga bi valjalo povezati sa istoimenim poljem iz tabele Knjige i polje ID_Citalac sa istoimenim poljem iz tabele Citaoci.

Zašto ne koristimo "naša" slova u nazivima tabela i polja kada ih već imamo? Zato što, na žalost, još uvek postoje korisnici računara koji koriste YUSCII set karaktera. U osnovi, u YUSCII setu karaktera samo PRIKAZ naših slova je ispravan, računar slova tretira po kôdu. Kôd tzv. naših slova u YUSCII setu karaktera odgovara znakovima [{]}\|`~@^, od kojih se većina u Accessu koristi kao posebni, specijalni karakteri sa određenim značenjem. Npr. slovo 'Š' u YUSCII setu karaktera odgovara kôdu karaktera '[' što za Access predstavlja ogradu naziva entiteta i nikako se drugačije ne može koristiti (osim još za ispis unutar tekstualnih poruka).

Vraćamo se u Access i prozor baze. Selektujemo tabelu Poslovanje i kliknemo na taster Design. Sada se otvara već poznati dizajn-pogled tabele. Kliknimo u polje Number reda ID_Knjiga. Primetićemo da je polje "drop-down" tipa, odnosno da sadrži listu za izbor koja se može videti klikom na strelicu na dole ili pritiskom na taster F4.

Klikni za punu sliku

Ono što ćemo sada učiniti je da polja ID_Knjiga i ID_Citalac ograničimo na sadržaj tabela Knjige i Citaoci. Tip polja Number reda ID_Knjiga promenimo na Lookup Wizard...

Ovo je prvi, a verovatno i poslednji čarobnjak koga ćemo koristiti, bez obzira na to što verovatno ni u jednom programu nema više pomoćnih procedura koje Microsoft naziva čarobnjacima nego u Accessu.

Pokreće se procedura koja će na osnovu naših odgovora na postavljena pitanja formirati relaciju umesto nas:

Klikni za punu sliku

Na prvo pitanje odgovaramo sa prvom opcijom jer želimo da se u tabeli Poslovanje na mesto broja knjige pojavljuju samo vrednosti iz tabele knjiga, odnosno samo smisleni inventarni brojevi (biranjem druge opcije u koloni ID_Knjiga mogli bismo da kucamo bilo koji inventarni broj, pa i onaj nepostojeći). Klikom na Next (ili sa tastature ALT+N) sledi drugi korak:

Klikni za punu sliku

U ovom koraku biramo tabelu iz koje će se uzimati podaci, odnosno određujemo "izvorišnu" tabelu. Dalje, u trećem koraku određujemo kolonu (polja) koja će biti "izvor" podataka:

Klikni za punu sliku

Preostala dva koraka nisu neophodna i već sada možemo kliknuti na taster Finish. Četvrti korak je "kozmetički" i ovde određujemo širinu kolone koje će se prikazivati na ekranu:

Klikni za punu sliku

U poslednjem koraku možemo uticati na naziv kolone, a kako nam naziv ID_Knjiga već odgovara, kliknućemo na taster Finish:

Klikni za punu sliku

Ovim je kreirana prva tzv. relacija tabela Poslovanje i Knjige. Tabelu Poslovanje treba istom procedurom povezati sa tabelom Citaoci, što ćete prateći prethodni postupak sami uraditi. Polja koja se povezuju nose isto ime u obe tabele: ID_Citalac.

Još jednu, veoma bitnu, stvar moramo napraviti da bi ova veza funkcionisala kako valja: operateru se mora onemogućiti da u polja ID_Knjiga i ID_Citalac upisuje proizvoljne vrednosti, odnosno one vrednosti za koje ne postoji odgovarajuća šifra u tabelama Knjige i Citaoci. Otvorimo ponovo tabelu Poslovanje u dizajn-pogledu. Selektujmo red ID_Knjiga klikom miša. Ispod teksta Field Properties postoje dva tzv. taba - General i Lookup. Klikom na tab Lookup otvara se lista osobina za polja čiji sadržaj se gleda iz druge tabele. Na ovoj listi za polja ID_Knjiga i ID_Citalac tabele Poslovanje osobinu Limit To List postavimo na vrednost Yes.

Klikni za punu sliku

Snimimo i zatvorimo tabelu. Ovim smo ograničili sadržaj polja ID_Citalac i ID_Knjiga na sadržaj druge dve relevantne tabele - Knjige i Citaoci.

Pored ovih Lookup relacija napravićemo još i prave relacije između tabela. Iz menija Tools biramo opciju Relationships.... U prazan prozor koji se pojavi, dodaćemo tabele koje ćemo povezati. Spisak postojećih tabela dobija se klikom na taster Show Table.

Klikni za punu sliku

Dodajmo redom tabele: Citaoci, Poslovanje i Knjige. Iz tabele Citaoci prevucimo polje ID_Citalac u tabelu Poslovanje na polje ID_Citalac. U prozoru koji se pojavi, podešavamo osobine ove relacije.

Klikni za punu sliku

Na slici, obeleženo brojem 1 su tabele koje će biti povezane. Polja koja su međusobno povezana su obeležena brojem 2. Pod brojem 3 su opcije koje će definisati ponašenje ciljne tabele u zavisnosti od promene podataka u izvorišnoj tabeli. Ove opcije ćemo sve uključiti jer će one omogućiti da se, ukoliko se npr. promeni inventarni broj knjige u tabeli Knjige, ova promena reflektuje na tabelu Poslovanje.

Primer

Ako je čitalac sa šifrom 15 zadužio i razdužio knjigu sa inventarnim brojem 26, ove promene će ostati zapisana u tabeli Poslovanje i taj podatak može poslužiti u vođenju statistike o čitanosti knjige i broju pročitanih knjiga za čitaoca. Takođe, ukoliko se knjiga ošteti, može se na osnovu istorije izdavanja knjige utvrditi ko je od čitalaca iznajmljivao tu knjigu i tako eventualno pronaći krivca za oštećenje. U momentu kada se knjizi iz raznih razloga promeni njen inventarni broj, ili se knjiga rashoduje, ova promena se neće odraziti na tabelu Poslovanje, ukoliko pomenute opcije sa slike obeležene brojem 3 nisu uključene. U našem slučaju bismo rashodovali knjigu 26 i na mesto njenog broja postavili drugu knjigu, pa bismo dobili sasvim pogrešne podatke o izdavanju knjige i čitaocima koji su knjigu iznajmljivali. Uključenjem opcija pod Enforce Referential Integrity će se promene podataka u tabelama Citaoci i Knjige automatski reflektovati na tabelu Poslovanje.

Na slici pod brojem 4 označen je tip relacija. U našem slučaju One-to-many znači da knjiga može imati jedinstven broj, da se ta knjiga može više puta izdati, te da jedan čitalac u isto vreme može uzeti više knjiga. Sem ove relacije postoji još dva tipa relacije. Druga je One-to-one što bi značilo da jedan čitalac može uzeti samo jednu knjigu. Ova relacija bi bila primenljiva u, recimo, "Sega" klubovima, gde biste jednom članu dozvolili da iznajmi jednu konzolu za igranje. Treća vrsta relacija je Many-to-many. Ova relacija se upotrebljava u slučajevima kada postoji osobina zajedničke pripadnosti. Za primer, recimo da dva radnika zaduže dva kompleta alata bez posebne zajedničke pripadnosti. Obojica su tada vlasnici i jednog i drugog kompleta alata.

Pod brojem 5 na slici je označen taster Join Type.... Klikom na taster ili prečicom ALT+J otvara se dijalog sa tri opcije:

Klikni za punu sliku

Prva opcija će dozvoliti pojavljivanje knjiga u tabeli Poslovanje samo za one inventarne brojeve koji već postoje u tabeli Poslovanje. Biranjem druge opcije u tabeli Poslovanje će moći da se "pojave" svi inventarni brojevi knjiga. Trećom opcijom bismo dozvolili (slično prvoj) pojavljivanje inventarnih brojeva knjiga samo onih koji već postoje u tabeli Poslovanje. Praktično prva i treća opcija nemaju nekog smisla u našem slučaju. Stoga odabiramo drugu opciju i potvrđujem izbor klikom na taster OK. Takođe potvrdimo i promene osobina relacija još jednim klikom na taster OK.

Prateći postupak u kome smo kreirali relaciju između tabela Citaoci i Poslovanje gde smo povezali polja ID_Citalac, povežimo i tabele Knjige i Poslovanje. Nakon obavljene operacije imaćemo izgled relacija kao na sledećoj slici.

Klikni za punu sliku

Konačno zatvorimo prozor relacija i odgovorimo potvrdno na postavljeno pitanje kojim snimamo naše promene na relacijama tabela.

 Datoteka cas04.zip (15 kb) Možete preuzeti spakovanu datoteku baze Bibl_02.MDB sa kreiranim tabelama (veličina ZIP datoteke je oko 15 kB), ako vam je ovaj deo do sada poznat ili ako vam vežba negde zapne.

Rezime časa 4

Na ovom času, prepunom raznih opcija, povezali smo tabele sa nadom da smo dobro predvideli konačan model baze podataka. Nakon ovih akcija, svaka kasnija izmena je sve teža i teža što dublje ulazimo u razvoj baze. Plastično rečeno, slična stvar je i sa vodovodnim cevima koje se nalaze ispod kuće koje moramo promeniti nakon što je postavljen krov, jer smo utvrdili da je prečnik cevi neodgovarajući te da dolazi da pada pritiska. Vodovod će i dalje raditi, ali sa smanjenim pritiskom - što će povećati vreme čekanja da se kada napuni kao i vašu nervozu.

Ovim časom završava se priča o dizajniranju tabela. Na sledećem času ćemo testirati našu osnovu unošenjem podataka direktno u tabele, te se taj čas može računati kao međukorak. Takođe uz ovaj čas možete preuzeti aktuelnu arhivu u razvoju baze.

Čas 5 - Unošenje prvih zapisa

 

  (C) 2000-2010 Praktikum na Webu

24. decembar 2000.


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

Copyright © Praktikum na Webu, 2000-2010; Valinor Design; sva prava pridržana.