Baze podataka i Microsoft Access
Download
Report
Transcript Baze podataka i Microsoft Access
Baza podataka je skup međusobno povezanih
podataka, pohranjenih u vanjskoj memoriji
računala.
Podaci su istovremeno dostupni raznim
korisnicima i aplikacijskim programima.
Ubacivanje, promjena, brisanje i čitanje
podataka obavlja se posredstvom posebnog
softvera, takozvanog sustava za upravljanje
bazom podataka (DBMS-a).
Korisnici i aplikacije pritom ne moraju
poznavati detalje fizičkog prikaza podataka,
već se referenciraju na neku idealiziranu
logičku strukturu baze.
Izvor: R. Manger, skripta iz kolegija Baze podataka
Podaci u bazi moraju biti logički organizirani u
skladu s modelom kojeg podržava odabrani
DBMS
Danas dominantan model: relacijski
Relacijski model je zasnovan na matematičkom
pojmu relacije: i podaci i veze među podacima
prikazuju se tablicama koje se sastoje od redaka
i stupaca.
MS Access radi s relacijskim modelom baze
podataka.
Izvor: R. Manger, skripta iz kolegija Baze podataka
Tablice trebaju biti tako konstruirane da se
podaci što manje ili – bolje – uopće ne
dupliciraju, tj. da se neka informacija ne
pojavljuje na više mjesta
Redni broj Ime i prezime Odjel
Upravitelj
Primjer:
1.
Ana Anušić
prodaja
Željka Žurić
2.
Branko Bilić
nabava
Vesna Vukić
3.
Ciprijan Cerić
prodaja
Željka Žurić
4.
Darija Dukić
nabava
Vesna Vukić
Tablica FIRMA
Razbijamo na manje logičke tablice, između
kojih uspostavljamo relacijsku vezu
Redni broj
Ime i prezime
Odjel
1.
Ana Anušić
prodaja
2.
Branko Bilić
nabava
3.
Ciprijan Cerić
prodaja
Odjel
Upravitelj
4.
Darija Dukić
nabava
prodaja
Željka Žurić
nabava
Vesna Vukić
Tablica ZAPOSLENICI
Tablica ODJELI
Relacija je logička veza između dviju ili više
tablica, preko polja koje im je zajedničko
Relacijski model zahtijeva da se baza podataka sastoji od skupa
pravokutnih tablica – takozvanih relacija.
Svaka relacija ima svoje ime po kojem je razlikujemo od ostalih
u istoj bazi.
Jedan stupac relacije obično sadrži vrijednost jednog atributa
(za entitet ili vezu) – zato stupac (polje) poistovjećujemo s
atributom i obratno.
Atribut ima svoje ime po kojem ga razlikujemo od ostalih u istoj
relaciji. Dopušta se da dvije relacije imaju atribute s istim
imenom, no tada se podrazumijeva da su to ustvari atributi s
istim značenjem.
Vrijednosti jednog atributa su podaci iste vrste. Vrijednost
atributa mora biti jednostruka i jednostavna (ne ponavlja se, ne
da se rastaviti na dijelove). Pod nekim uvjetima toleriramo
situaciju da vrijednost atributa nedostaje (nije upisana).
Jedan redak (zapis, slog) relacije obično predstavlja jedan
primjerak entiteta, ili bilježi vezu između dva ili više
primjeraka. U jednoj relaciji ne smiju postojati dva jednaka
retka.
Text (ASCII), max. 255 znakova u polju
Memo – tekst duljine do 65536 znakova
Number – numerički podaci s kojima se računa
Date/Time
Currency
AutoNumber
Yes/No
OLE object – multimedijalno polje, do 1GB
Hyperlink – do 2048 znakova
Svaki zapis mora imati svoje ključno polje koje
jednoznačno definira vrijednosti u ostalim
poljima tog zapisa
Ne smije se ponoviti i mora imati upisanu
vrijednost u svakom zapisu
Da bismo mogli povezivati tablice, svake dvije
moraju imati po jedno zajedničko polje
Preciznije: vidi str. 44, R. Manger, skripta iz
Baza podataka
Osmislite svako po jednu bazu podataka koju
ćete napraviti
Definirajte prikladne atribute (polja) kojima će
biti opisani zapisi te odaberite primarni ključ
(bar 5 atributa!)
*.mdb – Office 2003 i starije, *.accdb – Office 2007
Objekti: tablice (tables), upiti (queries), obrasci
(forms), izvještaji (reports), stranice (pages),
makronaredbe (macros), moduli (modules)
Podaci se pohranjuju u tablicama, pomoću upita
vadimo iz njih samo one zapise koji nas zanimaju,
preko obrazaca možemo prilagoditi unos i
pregledavanje, izvještaje koristimo pri ispisu
podataka, stranice omogućuju unos podataka
preko web-stranica, makronaredbe olakšavaju
obavljanje često izvođenih operacija, a moduli
omogućuju kreiranje vlastitih programa (u
Microsoft Visual Basicu)
Design view olakšava definiranje polja, njihovih
imena i tipova, a omogućuje i opis pojedinih polja
Datasheet view prikazuje tablicu u standardnom
obliku
Kreirajte tablicu za temeljne zapise vaše baze
podataka (ne koristite “čarobnjake”!) koristeći design
view
Pazite na smislenost i jednoznačnost naziva polja i na
primarni ključ!
Unesite prva dva zapisa vaše baze, u datasheet view-u
MS Access automatski sprema podatke i ne pita želite
li spremiti promjene, pri brisanju nema mogućnosti
povratka
Za tekst
< : mala slova
>: velika slova
@: znak (npr. \K@@@-@@-@ će nizove od 6 znakova,
npr. abcdef, prikazivati kao Kabc-de-f)
Za brojeve
General Number (3456,89)
Currency – koristi separator za tisućice i ostale lokalne
postavke za novčane iznose (3.456,89 kn)
Percent – pomnoži sa 100 i stavi znak % iza broja
Scientific – koristi znanstvenu notaciju (3,46E+03)
Navigacija po zapisima
Unos novog zapisa
Ispravak postojećeg podatka
Brisanje zapisa
Dodavanje novog polja postojećoj tablici
Prilagođavanje širine stupaca
Pronalaženje i zamjena podataka
Sortiranje podataka
Promjena redoslijeda stupaca
Ispis (rijetko)
Olakšavaju unos podataka
Tehnike izrade: AutoForm (najbrže,
tipizirano), Form Wizard, Design View (u MS
Access 2007 drugačije)
Sprema se kao i tablica, pod vlastitim imenom
Unos novog zapisa: NewRecord
Brisanje zapisa, sortiranje, filtriranje
Važno: nakon svakog filtriranja mora se za
prikaz svih (nefiltriranih) podataka aktivirati
Remove Filter/Sort (2003) odnosno Toggle
Filter (2007)
Kreirajte obrazac za unos podataka za svoju
tablicu i koristeći njega unesite još 5 zapisa,
promijenite 1 postojeći i obrišite 1
Filter by/excluding selection ako smo
trenutno u nekom polju zapisa, možemo naći
zapise koji se s tim zapisom podudaraju (ili
razlikuju) u tom polju
Filter by form unos uvjeta u obrazac, sve što
je u jednom obrascu tretira se kao povezano
logičkim “i”, a imamo i mogućnost
kombiniranja putem “Or”
Izrada – slično kao obrasci
Cilj: pregledan i lijep ispis
Otkrijte kako podesiti izgled tako da za svoju
malu bazu kreirate izvještaj
lak odabir tipova podataka za pojedina polja,
veličine polja, primarnog ključa, formata,
default vrijednosti …
Vizualna provjera, niz znakova koji su “čuvari
mjesta”
Npr. želite unositi telefonske brojeve od 10
znakova – input mask (999) 00-00-000 će
značiti da se prve tri znamenke ne moraju
unijeti (može se unijeti praznina), a ostalih 7
moraju
C dozvoljava unos slova ili praznine, L
zahtijeva unos slova, npr. >L<????????? Očekuje
max. 10 slova, prvo će prikazati veliko, a ostala
mala
Validation rule: ako ga podatak ne zadovolji,
prikazat će se Validation text
Npr. Validation rule: <=1000 Validation text:
Previše! ako se unese broj veći od 1000,
ispisat će se Previše! (i mora se ispraviti
podatak)
Upit izdvajanja (select query) – svaki upit je
inicijalno takav
Akcijski upit (action query)
Relacijski operatori: =Zagreb, <5, >7, <=1, >=0,
<>Julija, Between 1 And 2, Is Null, Like “S*”
Logički operatori: AND, OR, NOT
Pokretanje upita
TABLICA (iz koje će
se dohvaćati
podaci)
Nazivi polja koja će se prikazati upitom
Prikazati ili ne
kad se izvuku
podaci
Kriteriji za
odabir
Kriteriji navedeni u istom redu povezuju se operatorom AND!
Pri svakom pokretanju upit iznova učitava podatke iz tablice(a).
Rezultati će biti vidljivi u Datasheet View.
ULAZNO
PODRUČJE
IZLAZNO
PODRUČJE
Osim što se upitom mogu izdvojiti zapisi koji
zadovoljavaju određene kriterije, mogu se i iz
tablica izračunavati određeni dodatni podaci
Izračunata polja su virtualna (postoje dok ne
zatvorimo upit), ali se temeljem njih može raditi i
sortiranje, izdvajanje i ostale operacije
Svojstva (properties) se postavljati i za
izračunata polja, kao i za sva ostala
Kao ime (u retku Field) unosimo naziv:izraz, a ne
unosimo ime tablice (u retku Table)
Naziv je ime koje damo polju, a izraz je formula
temeljem koje će se računati
Poskupljenje:[Cijena]*1,10
› množi iznose iz polja Cijena s 1,10
Profit:[Prihod]-[Trosak]
› Izračunava razlike polja Prihod i Trosak
Primjerice, želimo zbroj svih vrijednosti nekog
stupca tablice
Treba upotrijebiti alat Totals (Σ) – dobijemo
dodatni red u izlaznom području upita
Npr. odaberemo samo jedno polje iz jedne
tablice i za to polje pod Totals odaberemo Sum
dobit ćemo zbroj tog stupca
Opcija Group By u Totals omogućuje da se
podaci grupiraju, npr. za polje Godina navedemo
Group By, a za polje Uplata stavimo Sum
dobit ćemo zbrojeve uplata po godinama
Relacijsku vezu između dvije tablice koje su u
ulaznom području postavljamo tako da mišem
zahvatimo ime nekog polja u jednoj i ne
ispuštajući tipku miša povučemo do
odgovarajućeg (istoznačnog) polja u drugoj
tablici
Izradite bazu podataka na odabranu temu. Baza
se mora sastojati od najmanje tri (smislene)
tablice, odabrane u skladu sa zahtjevom što
manje redundancije podataka. Svaka tablica mora
sadržavati najmanje po 20 zapisa, a za ukoliko za
njena polja postoje smislena ograničenja,
upotrijebite ih. Unosi novih podataka u tablice
trebaju biti omogućeni pomoću (lijepo
oblikovanih) obrazaca. Osmislite i u bazu
uključite najmanje dva upita izdvajanja i
najmanje jedan upit s izračunatim poljima. Za sve
upite priredite i prikladne izvještaje za ispis.