2. Vje`ba
PLANIRANJE
BAZE PODATAKA
U ovoj }ete vje`bi nau~it osnovne principe dobrog izgleda baze podataka koji }e vam kasnije pomo}i u planiranju rada.
PLANIRANJE
JE VA@NO!
Koliko ste se puta za vrijeme rada uhvatili u razmi{ljanju da ne znate {to zapravo radite. Va{ prvi poku{aj je vjerojatno bio jadan, bilo da je va{e znanje slabo ili ra~unalo lo{e. No, za vrijeme rada ste vjerojatno bilje`ili {to }ete sljede}i puta uraditi druk~ije, pa ste stoga sljede}i puta bili br`i i u~inkovitiji. S ne~im {to je va`no poput baze podataka ne mo`ete si priu{titi eksperimente i gre{ke u radu. U ovoj vje`bi poku{at }emo vam pribli`iti principe planiranja koje mnogi ljudi u~e na te`i na~in. Prije nego zapo~nete sa stvaranjem baze podataka postavite si nekoliko pitanja: l
l
l
Koje podatke `elim spremiti i kako ih je najbolje organizirati? Odgovorom na ovo pitanje olak{at }ete si izbor tablica koje trebate. Koje akcije unosa podatka `elim ovisno o mom poslu ili hobiju? Odgovorom na ovo pitanje olak{at }ete si izbor formi koje trebate. Koje informacije `elim znati o statusu posla ili hobija? Odgovorom na ovo pitanje olak{at }ete si izbor izvje{taja i upita.
PLANIRANJE
IZBOR
BAZE PODATAKA
TABLICA
Tehni~ki, za stvaranje baze podataka trebate stvoriti jednu tablicu. No, najve}a gre{ka je u tome {to mnogi ljudi u jednu tablicu unesu mnogo razli~itih informacija. Access je program koji ~uva odnose u bazi podataka, {to zna~i da jednostavno ~uva mnogo tablica i stvara vezu izme|u njih. Na primjer, ako `elite stvoriti bazu podataka koja ~uva informacije o narud`bama kupaca, slijedite naredne tablice: Kupci
Vrsta kupca
Narud`be
Na~in otpreme
Uvjeti pla}anja
Proizvod
Prodava~
Planirajte tablicu Planirajte tablicu prije stvaranja baze podataka jer su promjene u strukturi tablice nakon popunjavanja vrlo te{ko izvedive (ali ne i nemogu}e).
Sljede}a velika gre{ka je poku{aj da tablica izgleda poput izvje{taja. Na primjer, mo`da }ete ponavljati ime kupca i njegovu adresu u svih osam tablica kako bi vam te informacije bile uvijek dostupne. To je vrlo glupo i lo{e ura|eno. Jednostavnije je stvoriti izvje{taj ili formu koja uklju~uje te informacije kad god su potrebne, a prikazane su u samo jednoj tablici.
NORMALIZACIJA
BAZE PODATAKA
Kada je baza podataka lo{e organizirana, znalci ka`u da nije normalizirana. Odre|ena pravila govore kako tablice moraju biti spremljene u bazu podataka. Ta pravila nazivamo pravila normalizacije podataka.
11
12
2. VJE@BA
Normalizacija podataka Stvorite tablice tako da budu {to preglednije i kompaktnije kako biste izbacili mogu}nost gre{ke i nerazumijevanja.
Postoji pet pravila normalizacije, no posljednje tri su toliko slo`ene da ih upotrebljavaju samo stru~njaci pri izradi baza podataka. U ovoj vje`bi objasnit }emo prva dva pravila normalizacije koja bi trebao savladati svaki po~etnik da bi shvatio kako izbje}i osnovne pogre{ke.
^arobnjaci za normalizaciju Na svu sre}u, ako stvarate baze podataka pomo}u Access Database ~arobnjaka (5. vje`ba), sve tablice bit }e normalizirane.
1. IZBJEGAVANJE
PONOVLJENOG UNOSA INFORMACIJA
Pretpostavimo da `elite sa~uvati informacije o kupcu zajedno sa slogovima svih transakcija. Ako }ete te informacije smjestiti u jednu tablicu, vjerojatno }ete morati ponavljati ime kupca, njegovu adresu i telefonski broj svaki puta kada unesete novu transakciju. Sve to postaje jo{ ve}a no}na mora ako se promijeni adresa kupca, jer morate promijeniti adresu u svakom slogu transakcije za kupca.
Jednostavniji na~in je pridjeljivanje identifikacijskog broja (ID). Uklju~ite ID broj u tablicu koja sadr`ava imena i adrese i tada upotrijebite isti ID broj kao vezu s odvojenom tablicom koja sadr`ava transakcije.
PLANIRANJE
BAZE PODATAKA
Tablica kupaca
Tablica narud`bi
2. IZBJEGAVANJE
UNOSA SUVI[NIH PODATAKA
Pretpostavimo da `elite pratiti koji zaposlenici poha|aju odre|ena predavanja. Ima mnogo zaposlenika i mnogo raznih predavanja. Jedan na~in pra}enja je stvaranje tablice Personnel, koja izgleda ovako:
Ali, {to }e se dogoditi ako jedan zaposlenik poha|a vi{e od jednog predavanja? Morat }ete dodavati jo{ jedan redak u tablicu i tada }ete imati isti problem opisan u prethodnom odlomku vi{e slogova s istim unosima u poljima. [to ako jedan zaposlenik koji je poha|ao predavanja napusti tvrtku? Kada izbri{ete slog tog zaposlenika, izbrisat }ete i informacije o cijeni sata predavanja. Jednostavniji je na~in stvaranje odvojenih tablica za zaposlenike, predavanja i vrijeme predavanja, koje izgledaju poput:
13
14
2. VJE@BA
Tablica zaposlenika
Tablica predavanja
Tablica vremena predavanja
ZAKLJU^NO: DIZAJNIRAJTE
TABLICU
Ne optere}ujte se svim ovim informacijama o normalizaciji baze podataka. Dobro organizirana tablica sadr`i nekoliko osnovnih principa: l
l
l
Svaka tablica mora imati temu na primjer, Employee Contact Information ili Customer Transaction. Nemojte se truditi imati vi{e od jedne teme za tablicu. Ako znate da }ete tijekom rada morati ponavljati podatke, kao {to je spremanje telefonskog broja u svakoj transakciji, planirajte tako da podijelite informacije u vlastite tablice. Ako `elite sa~uvati popis referentnih informacija (imena ili cijena predavanja), takve informacije spremite u vlastite tablice.
PLANIRANJE
l
l
BAZE PODATAKA
[to ~e{}e upotrijebite ID broj koji }e vam pomo}i pri povezivanju tablica i izbjegavanju gre{aka pri utipkavanju duga~kog teksta (imena). Ako za odre|ene unose ve} imate uniformirane brojeve, na primjer, brojeve socijalnog osiguranja, upotrijebite ih, no u slu~aju da to nije tako upotrijebite AutoNumber polje kako biste automatski generirali uniformirani broj za svaki slog.
KOJU
FORMU UPOTRIJEBITI?
Kao {to smo opisali u 1. vje`bi, forma je alatka pri unosu podataka. Polja iz nekoliko tablica mo`ete slo`iti u formu i na taj na~in olak{ati unos podataka u ta polja na zaslonu. Na primjer, forma narud`bi kupaca mo`e uklju~ivati informacije iz tablice narud`bi i tablice proizvoda (slika 2.1). Iz tablice narud`bi
Iz tablice proizvoda
SLIKA 2.1
Forma mo`e biti veza izme|u tablica.
Kada razmi{ljate koja vam je forma potrebna, pitanje je {to `elite uraditi. Sljede}i popis opisuje neke aktivnosti koje bi mogle zahtijevati formu: l
Zapo{ljavanje djelatnika (i uno{enje informacija o njima u bazu podataka).
15
16
2. VJE@BA
l
Prodaja roba i usluga.
l
Izdavanje narud`bi.
l
l
Skupljanje informacija o imenima i osobama za kontakt volontera. Pra}enje poslovanja.
Ne mogu predvidjeti koje forme trebam? Svakako je va`no imati stvorene efektne forme, no mo`ete uraditi promjene u formama u bilo koje vrijeme i vrlo lako (suprotno tablicama). Stoga ne morate znati, prije po~etka rada, koje forme trebate. Vi{e }ete o stvaranju forme nau~iti u 15. vje`bi.
KAKVE
IZVJE[TAJE @ELITE STVORITI?
Izvje{taj zadovoljava va{e potrebe za informacije o podacima. Naj~e{}e }ete ih ispisati (za razliku od tablica i formi koje se upotrebljavaju na zaslonu). Na primjer, mo`da }ete `eljeti stvoriti izvje{taj o svim ljudima koji nisu platili ~lanarinu ili svima onima koji su du`ni vi{e od 1000 USD. (Ove podatke mo`ete prona}i i pomo}u upita, a vi{e o toj temi u 21. vje`bi.) Izvje{taji su naj~e{}e namijenjeni osobama koje ne sjede s vama za va{im ra~unalom. Na primjer, mogli biste ispisati izvje{taj za nadzorni odbor koji }e vam pomo}i da zadr`ite mjesto direktora. Izvje{taj mo`e istovremeno povla~iti podatke iz mnogih tablica, izvoditi prora~une nad podacima (zbrajanje ili prosje~na vrijednost) i prikazati ih na lijep na~in. Evo nekoliko primjera koje mo`ete uraditi pomo}u izvje{taja: l
Ispisati, za potrebe osiguranja, popis va{ih stvari ~ija vrijednost prelazi 50 USD.
l
Prikazati popis svih ~lanova kluba koji nisu podmirili ~lanarinu.
l
Izra~unati i prikazati trenutnu vrijednost opreme.
PLANIRANJE
l
BAZE PODATAKA
Ispisati popis provizija za svakog od 50 najboljih prodava~a u posljednjem kvartalu u usporedbi s prosjekom prodaje cijele tvrtke.
Novi izvje{taj mo`ete stvoriti u bilo koje vrijeme i ne morate ga planirati prije izrade baze podataka. Naravno, ako znate kakav }ete izvje{taj trebati, mo`ete dizajnirati svoju tablicu u formatu koji }e biti efektniji pa }e tako i izvje{taj bolje izgledati. U ovoj ste vje`bi nau~ili planirati tablice baze podataka, forme i izvje{taje. Sljede}om vje`bom }ete nau~iti kako pokrenuti te kako napustiti Access.
17