Vous êtes sur la page 1sur 23

Id do

Spis treci
Przykadowy rozdzia
Katalog ksiek

Access 2010 PL.


wiczenia praktyczne
Autorzy: Danuta Mendrala, Marcin Szeliga
ISBN: 978-83-246-2617-5
Format: A5, stron: 192

Katalog online
Zamw drukowany
katalog
Odkryj wiat baz danych z now wersj Accessa

Twj koszyk
Dodaj do koszyka
Cennik i informacje
Zamw informacje
o nowociach
Zamw cennik
Czytelnia
Fragmenty ksiek
online

Kontakt
Helion SA
ul. Kociuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
Helion 19912010

Poznaj obiekty baz danych


Zaplanuj tabele i relacje
Zaprojektuj formularze
Zdefiniuj kwerendy
Wygeneruj raporty
Microsoft Access jest jednym z najpopularniejszych systemw zarzdzania bazami danych na
wiecie, a jego najnowsza wersja z pewnoci tylko ugruntuje pozycj lidera tej aplikacji na rynku.
Access wykorzystywany jest zarwno przez uytkownikw indywidualnych, jak i due
przedsibiorstwa, ktrych pracownicy doceniaj nie tylko prostot korzystania z interfejsu
aplikacji, lecz take rozbudowane moliwoci programowania i stosowania makr. Nie bez
znaczenia jest tu te bogaty zestaw narzdzi i kreatorw, dziki ktrym tworzenie baz,
zarzdzanie nimi i przetwarzanie staje si naprawd atwe, a przede wszystkim wydajne.
Access 2010 PL. wiczenia praktyczne to wprowadzenie do wiata baz danych i aplikacji
bazodanowych tworzonych za pomoc najnowszej wersji Accessa. Tre ksiki i zawarte w niej
praktyczne wiczenia pozwol Ci sprawnie pozna podstawowe zasady korzystania z programu,
projektowania baz danych i prawidowego stosowania ich obiektw, a take waciwego
tworzenia relacji. Nauczysz si te przygotowywa formularze i kwerendy uatwiajce zarzdzanie
danymi oraz generowa raporty. Twoj wiedz uzupeni informacje na temat makr i moduw.
Praca z plikami baz danych
Tworzenie tabel i relacji
Stosowanie kwerend
Projektowanie formularzy
Tworzenie raportw
Makropolecenia
Import i eksport danych do rnych formatw
Skorzystaj z najnowszej wersji Accessa do tworzenia wydajnych aplikacji bazodanowych!

Spis treci
Wstp
Rozdzia 1. Baza danych

5
9

Rozdzia 2. Tabele

31

Rozdzia 3. Relacje

55

Rozdzia 4. Kwerendy

75

Kwerendy wybierajce dane


Kwerendy krzyowe
Kwerendy tworzce tabele
Kwerendy aktualizujce
Kwerendy doczajce
Kwerendy usuwajce

wiczenia dodatkowe

76
94
96
98
99
102
104

Rozdzia 5. Formularze

107

Rozdzia 6. Raporty

133

Rozdzia 7. Makra

147

Rozdzia 8. Moduy

157

3
Relacje
Charakterystyczn cech relacyjnych baz danych jest przechowywanie informacji, opisujcych obiekty rnego typu (np.
towary i ich producentw), w odrbnych, ale powizanych
ze sob tabelach. Na rysunkach 3.1 i 3.2 pokazujemy rnic pomidzy
sposobem przechowywania tych samych danych w arkuszu programu
Excel i w bazie danych programu Access.

Rysunek 3.1. Arkusz programu Excel jest przykadem jednorodnej bazy


danych takiej, w ktrej wszystkie dane zapisane s w jednym obiekcie
(arkuszu)

Nawet ten bardzo uproszczony przykad pozwala zauway gwn zalet relacyjnych baz danych dziki podzieleniu informacji midzy
kilka tabel do minimum zostaa zmniejszona liczba nadmiarowych,
wielokrotnie przechowywanych informacji. O ile w arkuszu Excela
dane reysera pojawiy si tyle razy, ile nakrci filmw, o tyle w bazie
programu Access, niezalenie od liczby nakrconych przez reysera
filmw, jego dane zapisane s raz, a jedynie krtki identyfikator (klucz
podstawowy) reysera znajduje si przy kadym jego filmie.

56

Access 2010 PL wiczenia praktyczne

Rysunek 3.2. W relacyjnych bazach danych informacje o obiektach


rnego typu (np. filmach, ich gatunkach i reyserach) przechowywane s
w odrbnych tabelach
Wielokrotne zapisywanie tych samych danych prdzej czy pniej
prowadzi do problemw z utrzymaniem spjnego (adekwatnego do
stanu rzeczywistego) obrazu danych gdyby w naszym przykadzie
reyser zmieni nazwisko, zmiana ta musiaaby by przeprowadzona
dla niewiadomej, potencjalnie do duej liczby filmw. W takiej sytuacji
bardzo atwo o bd, wystarczy zmieni nazwisko w dziesiciu i zostawi
niezmienione w piciu komrkach.

Jednak uytkownikw interesuje z reguy komplet informacji, np. chcieliby pozna tytu filmu, dane jego reysera i nazw gatunku, do ktrego
film naley. W relacyjnej bazie danych informacje te zapisane s w trzech
odrbnych tabelach: w tabeli Film znajduj si dane o filmach, w tabeli
Reyser dane reyserw, a w tabeli Gatunek nazwy gatunkw
filmowych. Aby informacja o tym, kto nakrci dany film, nie zostaa
utracona, tabele te musz by ze sob powizane.
Zwizek zachodzcy pomidzy powizanymi ze sob tabelami w SZBD
Access nazywany jest relacj czc te tabele. Tak jak poszczeglne
kolumny tabeli przechowuj wartoci atrybutw (cech) obiektw
danego typu (np. nazw firmy, adres koleanki czy tytu ksiki), tak
relacje przedstawiaj zachodzcy pomidzy obiektami dwch rnych
typw zwizek (np. towar zosta sprzedany przez firm, koleanka poyczya pyty, autor napisa ksik).
Istniej trzy typy relacji dwuargumentowych (czyli takich, ktre odpowiadaj zwizkowi czcemu dwie rne tabele). Oto one.

Rozdzia 3. Relacje

57

1. Relacje typu jeden do jednego, w ktrych jednemu obiektowi A

odpowiada dokadnie jeden obiekt B (przykadem takiej relacji


jest zwizek pomidzy uczniem a przypisan mu szafk w szatni).
2. Relacje typu jeden do wielu, w ktrych jednemu obiektowi A
odpowiada dowolna liczba obiektw B (przykadem takiej
relacji jest zwizek pomidzy firm a towarami jedna firma
moe produkowa dowoln liczb towarw, ale ten sam towar
moe by wyprodukowany tylko w jednej firmie).
3. Relacje typu wiele do wielu, w ktrych dowolnej liczbie
obiektw A odpowiada dowolna liczba obiektw B
(przykadem takiej relacji jest zwizek pomidzy filmami
a aktorami w kadym filmie moe zagra dowolna liczba
aktorw i kady aktor moe zagra w dowolnej liczbie filmw).
Wykorzystujc umiejtnoci zdobyte w poprzednich rozdziaach,
utworzymy baz danych dziaajc w rodowisku SZBD Access, ktra
bdzie podstaw do wicze z nastpnych rozdziaw.
 W I C Z E N I E

3.1

Projekt przykadowej bazy danych

Na potrzeby tej ksiki zaprojektujemy i utworzymy baz danych Filmoteka, w ktrej przechowywane bd podstawowe informacje o filmach
i poyczajcych je osobach. Zanim jednak zbudujemy now baz programu Access, naley zaprojektowa ukad jej tabel.
Aby zaprojektowa przykadow baz danych:
1. Wypisz, jedn pod drug, nazwy typw obiektw, o ktrych
informacje powinny trafi do bazy:
Filmy
Osoby

2. Wypisz te atrybuty obiektw, o ktrych informacje powinny by

zapisane w bazie danych:


Film {Tytu, Nazwisko reysera, Imi reysera, Nazwiska aktorw,
Imiona aktorw, Gatunek, Cena, Data produkcji}
Osoba {Imi, Nazwisko, Adres, Telefon, Adres e-mail}

3. Na podstawie zdobytej wiedzy o zaletach dzielenia danych

o obiektach rnego typu pomidzy powizane ze sob tabele


wyszukaj na licie wypisanych atrybutw te, ktre nie opisuj
bezporednio obiektu danego typu, i utwrz now list typw
obiektw:

58

Access 2010 PL wiczenia praktyczne


Film {Tytu, Gatunek, Cena, Data produkcji}
Osoba {Imi, Nazwisko, Adres, Telefon, Adres e-mail}
Reyser (Imi, Nazwisko} (trudno uzna imi czy nazwisko reysera
za bezporednie atrybuty filmu)
Aktor (Imi, Nazwisko} (trudno uzna imi czy nazwisko aktora
za bezporednie atrybuty filmu)

4. W poprzednim rozdziale omwione zostay zalety dzielenia

informacji, opisujcych obiekty poszczeglnych typw,


na atrybuty elementarne. Korzystajc z tych informacji,
zmodyfikuj list atrybutw obiektw:
Film {Tytu, Gatunek, Cena, Data produkcji}
Osoba {Imi, Nazwisko, Miasto, Ulica Nr domu, Telefon, Adres e-mail}
Reyser (Imi, Nazwisko}
Aktor (Imi, Nazwisko}

5. Jednym z etapw procesu normalizacji baz danych, ktry

dodatkowo korzystnie wpynie na wydajno bazy danych


i komfort pracy uytkownikw, jest wydzielenie tabel
sownikowych. Tabele tego typu przechowuj ustalon liczb
danych wykorzystywanych do okrelania wartoci
pojedynczego atrybutu obiektu nadrzdnego takiej tabeli.
W efekcie tabela nadrzdna jest mniejsza, a uytkownicy mog
wybra dan warto z listy, zamiast wielokrotnie wpisywa ten
sam cig znakw. W przykadowej bazie danych idealnym
kandydatem do roli tabeli sownikowej jest atrybut filmu
gatunek (lista gatunkw filmowych jest skoczona,
a prawdopodobiestwo wielokrotnego wpisywania tych
samych danych do due):
Film {Tytu, Cena, Data produkcji)
Gatunek {Nazwa}
Osoba {Imi, Nazwisko, Miasto, Ulica Nr domu, Telefon, Adres e-mail}
Reyser (Imi, Nazwisko}
Aktor (Imi, Nazwisko}

6. Ostatnim zadaniem jest okrelenie relacji czcej poszczeglne

obiekty.
T Kady film naley do jednego, okrelonego gatunku, ale do
tego samego gatunku moe nalee dowolna liczba filmw
(zwizek typu wiele do jednego).
T Kady film zosta nakrcony przez jednego, okrelonego
reysera, ale ten sam reyser moe nakrci dowoln liczb
filmw (zwizek typu wiele do jednego).

Rozdzia 3. Relacje
T

59

W kadym filmie moe zagra dowolna liczba aktorw,


a kady aktor moe zagra w dowolnej liczbie filmw
(zwizek typu wiele do wielu) t relacj
zaimplementujemy za pomoc charakterystycznych
dla SZBD Access 2010 pl wielowartociowych.
Kady film (w tym samym czasie) moe by poyczony
tylko jednej osobie, ale ta sama osoba moe (jednoczenie)
poyczy dowoln liczb filmw (zwizek typu wiele do
jednego) poniewa w bazie chcemy zapisa rwnie dat
poyczenia i oddania filmu, t relacj zaimplementujemy
za pomoc tabeli cznikowej.

 W I C Z E N I E

3.2

Tabela sownikowa

Kolejno tworzenia tabel nie jest dowolna jako pierwsze naley


utworzy tabele sownikowe, potem tabele podrzdne (tabele przechowujce dane, do ktrych odwouj si inne tabele), a jako ostatnie
tabele nadrzdne (tabel nadrzdn przykadowej bazy danych jest
tabela Film, ktra odwouje si do danych zapisanych we wszystkich
pozostaych tabelach bazy danych).
Aby utworzy tabel Gatunek:
1. Utwrz nowy projekt pustej bazy danych programu Access
i nazwij go Filmoteka.
2. Korzystajc z umiejtnoci zdobytych w poprzednim rozdziale,
utwrz tabel Gatunek. Struktura tabeli zostaa pokazana na
rysunku 3.3.
 W I C Z E N I E

3.3

Tabele podrzdne

Po utworzeniu tabeli sownikowej przysza pora na zbudowanie wszystkich tabel podrzdnych poniewa w przykadowej bazie danych
nie zawieraj one kolumn odwoujcych si do innych tabel (nie ma
ani jednej tabeli, ktra, bdc podrzdn w stosunku do jednej tabeli,
jednoczenie byaby nadrzdn w stosunku do innej tabeli), ich tworzenie nie rni si od opracowania tabel sownikowych.

60

Access 2010 PL wiczenia praktyczne

Rysunek 3.3.
Definicja tabeli
sownikowej

Aby utworzy tabele podrzdne (tabele niezawierajce kolumn kluczy


obcych):
1. Utwrz tabel Osoba (rysunek 3.4).
Rysunek 3.4.
Definicja tabeli
podrzdnej
Osoba

2. Utwrz tabel Rezyser. Struktura tej tabeli zostaa pokazana

na rysunku 3.5.

Rozdzia 3. Relacje

61

Rysunek 3.5. Definicja tabeli Rezyser tworzc t (i pozostae tabele bazy


Filmoteka) mona wzorowa si na tabelach doczonej do ksiki bazy danych
W nazwach obiektw przykadowej bazy danych nie s uywane polskie
znaki diakrytyczne, natomiast w ich tytuach tak. W ten sposb baza
danych bdzie prawidowo dziaaa w komputerach z zainstalowanym
systemem Windows w innej ni polska wersji jzykowej.
3. Poniewa struktura tabeli Aktor jest identyczna ze struktur

tabeli Rezyser, skopiuj t tabel pod nazw Aktor, wywietl


nowo utworzon tabel w widoku projektu i zmie nazw
kolumny IdRezysera na IdAktora. Struktura pozostaych
kolumn nie wymaga zmiany.
 W I C Z E N I E

3.4

Tabela nadrzdna

Na tym etapie baza danych Filmoteka zawiera cztery, niepowizane ze


sob tabele. Nadszed czas, aby zamieni te niezwizane ze sob obiekty
w relacyjn baz danych, przechowujc informacje o poszczeglnych
filmach. Poniewa tabela Film zawiera kolumny, wskazujce na dane
zapisane w innych tabelach, jej utworzenie wymaga bdzie zbudowania relacji czcych odpowiednie tabele.
Aby utworzy tabel Film:
1. Rozpocznij tworzenie nowej tabeli w widoku projektu.
2. Utwrz kolumn klucza podstawowego (IdFilmu) oraz kolumny
przechowujce informacje o tytule danego filmu (Tytul), cenie

62

Access 2010 PL wiczenia praktyczne

zakupu (Cena), zysku, jaki uzyskalimy z wypoyczenia danego


filmu (Zysk), i dacie produkcji (DataPr).
3. Jedn z cech charakterystycznych dla SZBD Access 2010 jest
moliwo formatowania danych typu Nota. Dodaj kolejn
kolumn Opinia typu Nota i zmie warto atrybutu Format
tekstu na Tekst sformatowany (rysunek 3.6).

Rysunek 3.6. Wpisujc opinie o filmach, bdziemy mogli dowolnie


zmienia krj, wielko i kolor czcionki
4. Ustaw kursor w polu Typ danych nowej kolumny i z listy

dostpnych typw wybierz Kreator odnonikw (rysunek 3.7).

Rysunek 3.7. Aby unikn kopotw z niezgodnoci typw czonych


kolumn rnych tabel, naley najpierw uruchomi kreator odnonikw,
a p niej (ewentualnie) zmieni nazw kolumny

Rozdzia 3. Relacje

63

5. Poniewa chcemy poczy tabel Film z tabel Gatunek,

w odpowiedzi na pierwsze pytanie kreatora wybierz opcj


Obiekt kolumna odnonika ma pobiera wartoci z tabeli
lub kwerendy.
6. Na licie dostpnych tabel zaznacz tabel Gatunek i kliknij

przycisk Dalej.
7. Zostanie wywietlona lista kolumn tabeli Gatunek. Chocia

tabele zawsze powinny by czone za pomoc ich kluczy


podstawowych (w tym przypadku bd to wartoci pl kolumny
IdGatunku), identyfikatory poszczeglnych gatunkw s mao
opisowe (administrator musiaby zapamita , e np.
identyfikatorem gatunku horror jest liczba 12, a komedii 3).
SZBD Access uatwia administratorowi przegldanie
i modyfikowanie danych w poczonych tabelach, bo
automatycznie zastpuje wywietlany identyfikator zwizanymi
z nim wartociami innych pl danej tabeli. I tak zamiast
wpisywa liczb 3 w oknie widoku arkusza danych tabeli,
bdziemy mogli wybra nazw gatunku danego filmu. Aby
osign ten cel, zaznacz oba pola tabeli Gatunek i kliknij
przycisk Dalej (rysunek 3.8).
Rysunek 3.8.
Kreator odnonikw
umoliwia ukrycie
przed
administratorem
wykorzystanego
do poczenia tabel
klucza gwnego
i zastpienie go
dowoln, opisow
wartoci, np. nazw
danego gatunku
filmowego
8. SZBD Access 2010 umoliwia te posortowanie danych

wykorzystywanych do czenia tabel. Aby uatwi


administratorowi przypisywanie poszczeglnych filmw
do gatunkw, posortuj je alfabetyczne wedug nazw.

64

Access 2010 PL wiczenia praktyczne

9. Odpowiadajc na kolejne pytanie kreatora, upewnij si, czy

pole wyboru Ukryj kolumn klucza (zalecane) jest zaznaczone,


i kliknij przycisk Dalej w ten sposb gatunki filmowe bd
wybierane wycznie na podstawie nazw.
10. Ostatnie pytanie kreatora bdzie dotyczyo nazwy tworzonej
kolumny:
T Wpisz tak sam nazw, jak ma czona tabela (Gatunek),
T Nie zaznaczaj pola Wcz integralno danych (jego
znaczenie wyjanilimy w wiczeniu powiconym
edytowaniu relacji),
T Nie zaznaczaj pola Zezwalaj na wiele wartoci
(jego znaczenie wyjanilimy w dalszej czci rozdziau
na przykadzie relacji czcej tabele Film i Aktor),
T I kliknij przycisk Zakocz.
11. Po zakoczeniu pracy kreatora odnonikw konieczne bdzie
zapisanie tabeli nadrzdnej zapisz j pod nazw Film.
Wynik pracy kreatora zosta pokazany na rysunku 3.9.

Rysunek 3.9. Zakadka Odnonik pozwala pozna efekt pracy kreatora


odnonikw: w tym przypadku dane pobierane z tabeli Gatunek bd
wywietlane w polu listy do poczenia tabel wykorzystana zostaa pierwsza
kolumna (kolumna klucza podstawowego), ale dane bd pobierane
z dwch kolumn. Poniewa szeroko pierwszej kolumny zostaa ustawiona
na 0, uytkownik zobaczy w polu listy wycznie dane przechowywane
w drugiej kolumnie tabeli Gatunek

Rozdzia 3. Relacje

65

12. W ten sam sposb, w jaki poczylimy tabele Film i Gatunek,

naley poczy tabele Film i Rezyser:


T

Po ustawieniu kursora w pustym polu kolumny Typ danych


z listy dostpnych typw wybierz Kreator odnonikw.

Ponownie dane bd pobierane z innej tabeli, ale tym razem


z tabeli Rezyser.

Aby uatwi przegldanie i wprowadzanie danych


bezporednio do tabeli, z listy kolumn tabeli Aktor naley
wybra IdRezysera (klucz podstawowy powinien by
wykorzystany do czenia wszystkich tabel) oraz Nazwisko
(istnieje mniejsze prawdopodobiestwo, e kilku reyserw
bdzie nosi to samo nazwisko ni to samo imi).
Moliwe jest rwnie wskazanie wikszej liczby kolumn z tabeli
poczonej, ale wtedy dane wywietlane w polu listy bd zajmowa
duo miejsca na ekranie i w efekcie, zamiast uatwia, bd utrudnia
korzystanie z bazy danych.

Po posortowaniu danych wedug nazwisk aktorw i ukryciu


pola klucza podstawowego pozostaje jeszcze podanie nazwy
tworzonej kolumny odnonika (Rezyser) i zapisanie zmian
w tabeli Film.
Odpowiednikiem utworzenia odnonika do innej tabeli jest naoenie
na kolumn ograniczenia REFERENCES (klucz obcy). W efekcie ograniczymy
list dopuszczalnych dla danej kolumny wartoci do wartoci
przechowywanych w odpowiadajcej jej kolumnie w powizanej tabeli.
Kolumny z naoonym ograniczeniem REFERENCES mog przechowywa
wartoci NULL (niewypenione pola), o ile nie zabraniaj tego inne
ograniczenia. Aby SZBD Access mg utworzy klucz obcy, musi wczeniej
by utworzona tabela, do ktrej klucz bdzie si odwoywa. Dodatkowo
w tabeli tej musi znajdowa si odpowiednia kolumna (lub kolumny),
dla ktrej zdefiniowano taki sam typ danych jak dla kolumny z naoonym
ograniczeniem REFERENCES. Na kolumn tak musi by take naoone
jedno z dwch ogranicze : PRIMARY KEY lub UNIQUE.

66

Access 2010 PL wiczenia praktyczne

 W I C Z E N I E

3.5

Pola wielowartociowe

Skoro w jednym filmie gra wielu aktorw, a ten sam aktor wystpuje
w wielu filmach, wydaje si, e niemoliwe jest utworzenie kolumny
odnonika w tabeli Film (wtedy w filmie mgby zagra tylko jeden aktor)
ani w tabeli Aktor (wtedy z kolei aktor mgby zagra tylko w jednym
filmie). Poniewa wiele osb prbowao bdnie rozwiza ten
problem, dodajc do jednej z tabel kilka kolumn (w naszym przykadzie do tabeli Film moglibymy doda kolumny Aktor1, Aktor2 itd.),
SZBD Access uproci tworzenie relacji typu wiele do wielu.
Umieszczenie w tabeli wielu kolumn, ktre odwouj si do tej samej
kolumny innej tabeli, jest bardzo zym pomysem. Nie tylko znacznie
ogranicza funkcjonalno bazy (musimy z gry zaoy maksymaln
liczb aktorw, ktrzy mog zagra w jednym filmie) i powoduje,
e w naszej tabeli przechowywanych jest mnstwo wartoci Null
(bo w wikszoci przypadkw interesuje nas tylko kilku aktorw
grajcych w danym filmie), ale rwnie ogromnie utrudnia tworzenie
powizanych z tak tabel formularzy i raportw.

Aby poczy tabele Film i Aktor:


1. Wywietl projekt tabeli Film.
2. Dodaj kolejn kolumn odnonika, wic j z kolumnami
IdAktora i Nazwisko tabeli Aktor.
3. Posortuj dane wedug nazwisk i ukryj kolumn klucza.
4. Koczc prac kreatora:
T zmie nazw kolumny odnonika na Nazwiska,
T zaznacz pole Zezwalaj na wiele wartoci (rysunek 3.10).
Rysunek 3.10.
W ten sposb
w kolumnie
odnonika
Nazwiska bdzie
mona zapisywa
dowoln liczb
nazwisk grajcych
w danym filmie
aktorw

Rozdzia 3. Relacje

67

5. Zamknij okno projektu tabeli Film i zapisz wprowadzone w niej

zmiany.
 W I C Z E N I E

3.6

Edytowanie relacji

Zanim poczymy tabele Film i Osoba, zmodyfikujemy relacje utworzone midzy pozostaymi tabelami.
W tym celu:
1. Przejd na zakadk Narzdzia bazy danych i kliknij przycisk
Relacje.
2. Aby upewni si, e wszystkie poczone tabele zostay
wywietlone, kliknij prawym przyciskiem myszy pusty obszar
okna relacji i z menu kontekstowego wybierz opcj Poka
wszystko.
3. Za pomoc techniki przecignij i upu uporzdkuj ikony
tabel, tak aby linie obrazujce relacje nie krzyoway si,
i dopasuj rozmiar ikon poszczeglnych tabel, tak by widoczne
byy wszystkie ich kolumny (rysunek 3.11).
Rysunek 3.11.
Linie czce
poszczeglne
tabele
przedstawiaj
utworzone
pomidzy nimi
powizania

4. Na tym etapie relacje czce poszczeglne tabele nie

odzwierciedlaj jeszcze typw powiza (wszystkie te


powizania powinny by typu jeden do wielu).
Aby okreli typ relacji:

68

Access 2010 PL wiczenia praktyczne


T

Kliknij prawym przyciskiem myszy lini czc tabele Film


i Gatunek, a nastpnie z menu kontekstowego wybierz opcj
Edytuj relacj.
Zaznacz pole wyboru Wymuszaj wizy integralnoci w ten
sposb okrelony zostanie typ powizania i SZBD Access
bdzie automatycznie sprawdza, czy dane w poczonych
tabelach s prawidowe (np. czy uytkownik nie prbowa
przypisa filmu do nieistniejcego w bazie gatunku).
Zaznacz pole wyboru Kaskadowo aktualizuj pola pokrewne
w ten sposb zmiana wartoci klucza podstawowego
tabeli podrzdnej zostanie automatycznie uwzgldniona
w tabeli nadrzdnej (jeeli kto zmieni identyfikator
gatunku filmowego, np. komedii z 3 na 33, zmiana ta
zostanie automatycznie przeprowadzona w tabeli Film,
dziki czemu filmy, ktre wczeniej zostay zaklasyfikowane
jako komedie, nadal bd komediami) (rysunek 3.12).

Rysunek 3.12. O ile kaskadowa aktualizacja powizanych pl


zabezpiecza przed przypadkow modyfikacj wartoci kluczy
podstawowych, o tyle kaskadowe usuwanie moe spowodowa
przypadkowe usunicie wielu danych
T

Nie zaznaczaj pola wyboru Kaskadowo usu rekordy


pokrewne zaznaczenie tego pola umoliwi nie tylko
usunicie gatunku, do ktrego zostay zaklasyfikowane
pewne filmy, ale SZBD Access automatycznie wyrzuci
z bazy informacje o wszystkich filmach usuwanego gatunku
(jeeli kto usunby wiersz z gatunkiem komedia, z tabeli
Film zostayby usunite wszystkie filmy zaklasyfikowane
jako komedie).
Kliknij przycisk OK.

Rozdzia 3. Relacje

69

5. Linia czca tabele Film i Gatunek zostanie pogrubiona i,

co najwaniejsze, na jej kocach wywietlone zostan symbole


1 i , obrazujce typ powizania.
6. Powtrz czynnoci opisane w punkcie 4. dla pozostaych
relacji. Efekt pomylnego wykonania wiczenia pokazany
zosta na rysunku 3.13.

Rysunek 3.13. Zgodnie z zaoeniem projektu, jeden aktor (symbol 1) moe


zagra w wielu (symbol ) filmach, do jednego gatunku moe nalee wiele
filmw, jeden reyser moe nakrci wiele filmw, a pole wielowartociowe
pozwala wielu aktorom zagra w tym samym filmie
7. Zamknij okno relacji i zapisz wprowadzone zmiany.
 W I C Z E N I E

3.7

Wprowadzenie przykadowych danych

Po zdefiniowaniu czcych tabele relacji naley wprowadzi przykadowe dane do tabel sownikowych i podrzdnych.
Aby wprowadzi przykadowe dane do bazy:
1. Wywietl tabel Gatunek w widoku arkusza danych.
2. Wpisz nazwy kilku gatunkw filmw.
3. Poniewa nie planujemy podczas wpisywania danych
dodawania do tabel bazy Filmoteka dodatkowych kolumn,
naley ukry kolumn Dodaj nowe pole:
T rozwi menu Plik i kliknij przycisk Opcje,
T przejd na zakadk Bieca baza danych,

70

Access 2010 PL wiczenia praktyczne


T

usu zaznaczenie pola wyboru Wcz zmiany projektu


w tabelach w widoku arkusza danych,
T kliknij OK (eby zmiany zaczy obwizywa , konieczne
moe by zamknicie i ponowne otwarcie bazy danych).
4. Aby przekona si, czy moliwe jest wpisanie filmw
bez jednoczesnego okrelenia gatunku, reysera czy aktora,
wprowad przykadowe dane o kilku filmach. Zwr uwag na
moliwo formatowania wpisywanych opinii (rysunek 3.14).

Rysunek 3.14. Przykadowe dane wprowadzone do tabeli Film


5. Przekonaj si, e chocia pole odnonika moe zawiera
warto nieokrelon (warto Null), nie moe zawiera

6.
7.
8.
9.

10.

wartoci nieodpowiadajcej jednemu z kluczy podstawowych


powizanej tabeli. Innymi sowy, niemoliwe jest
zaklasyfikowanie filmu do nieistniejcego gatunku.
Zamknij okno tabeli Film.
Otwrz w widoku arkusza danych tabel Rezyser.
Wpisz nazwiska i imiona kilku reyserw.
Zamknij okno tabeli Rezyser i otwrz w widoku arkusza
danych tabel Aktor. Wpisz dane kilku aktorw.
Zamknij okno tabeli Aktor i raz jeszcze otwrz w widoku
arkusza danych tabel Film. Ustaw kursor w polu Gatunek
pierwszego z wpisanych filmw i kliknij wywietlon z prawej
strony pola strzak zobaczysz list nazw wprowadzonych
gatunkw filmw (rysunek 3.15).
Zwr uwag, e niemoliwe jest dodawanie nowych rekordw
do tabel podrzdnych w widoku arkusza danych tabeli
nadrzdnej. Aby np. doda nowy gatunek filmw, naley
otworzy tabel Gatunek, nie Film.

Rozdzia 3. Relacje

71

Rysunek 3.15. Gdy mamy ju dane w tabelach podrzdnych, wpisujc dane
do tabeli nadrzdnej, moemy si do nich odwoywa. W tym przykadzie
niektre kolumny zostay ukryte aby ukry wybrane kolumny, naley
klikn ich nagwek prawym przyciskiem myszy i z menu kontekstowego
wybra opcj Ukryj pola
 W I C Z E N I E

3.8

Tabela cznikowa

Tabele Film i Osoba poczone s zwizkiem typu wiele do wielu. Poniewa chcemy zapisa pewne informacje (takie jak daty poyczenia
i zwrotu) o samym fakcie wypoyczenia filmu, implementacja tego
zwizku wymaga utworzenia dodatkowej tabeli cznikowej, w ktrej
przechowywane bd wartoci kluczy podstawowych obu tabel. W ten
sposb relacja typu wiele do wielu zostanie zastpiona dwoma rwnorzdnymi relacjami typu wiele do jednego.
Aby zbudowa tabel cznikow:
1. Utwrz now tabel w widoku projektu.
2. Za pomoc kreatora odnonikw utwrz relacj czc t tabel
z tabel Film (tak jak poprzednio, tabele musz by powizane
na podstawie wartoci klucza podstawowego tabeli podrzdnej,
ale wywietlane powinny by alfabetycznie uoone tytuy
filmw). Ta kolumna nie powinna przechowywa wielu wartoci.
3. Zapisz nowo tworzon tabel pod nazw Pozyczka.
W odpowiedzi na ostrzeenie o braku zdefiniowanego klucza
podstawowego kliknij przycisk Nie tabela cznikowa,
przechowujca wycznie wartoci kluczy podstawowych
powizanych tabel, nie wymaga dodatkowej kolumny klucza
podstawowego.

72

Access 2010 PL wiczenia praktyczne

4. Za pomoc kreatora odnonikw utwrz relacj czc t tabel

z tabel Osoba (tak jak poprzednio, tabele musz by powizane


na podstawie wartoci klucza podstawowego tabeli podrzdnej,
ale wywietlane powinny by alfabetycznie uoone nazwiska
osb). Rwnie pola tej kolumny nie bd przechowyway
wielu wartoci.
5. Dodaj kolumny DataPozyczki i DataZwrotu typu Data/godzina

i o formacie Data duga. Nadaj obu kolumnom odpowiednie


tytuy, a dla kolumny DataPozyczki dodatkowo okrel warto
domyln wynik funkcji Now (w ten sposb dat poyczenia
automatycznie bdzie bieca data).
6. Dodaj jeszcze kolumn Uwagi typu Nota i zezwl na

formatowanie uwag dotyczcych poyczenia przez dan


osob wybranego filmu.
7. Na kocu zaznacz dwie pierwsze kolumny tabeli (obie kolumny

odnonikw) i kliknij widoczny na wstce przycisk Klucz


podstawowy w ten sposb kluczem tabeli Pozyczka bdzie
kombinacja identyfikatorw filmu i osoby (rysunek 3.16).
Rysunek 3.16.
Gotowy projekt
tabeli cznikowej
(tabeli
przechowujcej
informacje
o poyczonych
rnym osobom
filmach)

8. Zamknij okno projektu tabeli Pozyczka i wywietl okno Relacje.


9. Kliknij prawym przyciskiem myszy wolny obszar okna relacji

i z menu kontekstowego wybierz opcj Poka wszystko


wywietlone zostan tabele Pozyczka i Osoba.

Rozdzia 3. Relacje

73

10. Wykorzystaj umiejtnoci zdobyte w wiczeniu 3.5 i zmie

relacje czce tabele Film, Pozyczka i Osoba tak, aby SZBD


wymusza przestrzeganie wizw integralnoci, kaskadowo
aktualizowa i kaskadowo usuwa powizane pola
(rysunek 3.17).

Rysunek 3.17. Widok struktury bazy danych Filmoteka taki ukad tabel
nazywany jest diagramem E/R (Encja/Relacja)
 W I C Z E N I E

3.9

Korzystanie z tabeli cznikowej

Dziki tabeli cznikowej Pozyczka w bazie danych moliwe bdzie przechowywanie informacji o tym, ktre osoby wypoyczyy dane filmy,
przy czym nie ma adnych ogranicze zwizanych z liczb filmw,
jakie moe poyczy ta sama osoba, i liczb osb, mogcych wypoyczy
kady film tabele cznikowe s powszechnie stosowane do tworzenia relacji typu wiele do wielu.
Aby wprowadzi do bazy informacje o wypoyczeniu i zwrocie filmw:
1. Otwrz w widoku arkusza danych tabel Osoba i wpisz dane
znajomych.
2. Zamknij okno tabeli Osoba i otwrz w widoku arkusza danych
tabel Pozyczka.

74

Access 2010 PL wiczenia praktyczne

3. Kliknij pole Tytu i z listy tytuw wybierz przykadowy tytu


4.

5.
6.

7.

filmu.
Przekonaj si, e niemoliwe jest zapisanie danych
o wypoyczeniu filmu nieokrelonej osobie, tak samo
jak niemoliwe jest wypoyczenie wskazanej osobie
nieokrelonego filmu Access nie pozwala na wpisywanie
wartoci Null do kolumn klucza podstawowego tabeli.
Ustaw kursor w polu Nazwisko i z listy nazwisk wybierz
nazwisko znajomego.
Zwr uwag, e data wypoyczenia zostaa automatycznie
ustalona na dzisiejsz. Wpisanie daty zwrotu bdzie oznaczao
oddanie filmu.
Wpisz przykadowe dane do tabeli. Zwr uwag, e:
T ten sam film moe by wielokrotnie wypoyczony,
T ta sama osoba moe poyczy dowoln liczb filmw,
T daty, zamiast wpisywa , mona wybiera z kalendarza,
T uwagi mog by dowolnie formatowane (rysunek 3.18).

Rysunek 3.18. Tabela cznikowa umoliwiajca odzwierciedlanie


zwizkw typu wiele do wielu

Vous aimerez peut-être aussi