Académique Documents
Professionnel Documents
Culture Documents
Spis treci
Przykadowy rozdzia
Katalog ksiek
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
Spis treci
Wstp
Rozdzia 1. Baza danych
5
9
Rozdzia 2. Tabele
31
Rozdzia 3. Relacje
55
Rozdzia 4. Kwerendy
75
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.
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
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
3.1
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
58
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 I C Z E N I E
3.2
Tabela sownikowa
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
Rysunek 3.3.
Definicja tabeli
sownikowej
na rysunku 3.5.
Rozdzia 3. Relacje
61
3.4
Tabela nadrzdna
62
Rozdzia 3. Relacje
63
przycisk Dalej.
7. Zostanie wywietlona lista kolumn tabeli Gatunek. Chocia
64
Rozdzia 3. Relacje
65
66
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.
Rozdzia 3. Relacje
67
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
68
Rozdzia 3. Relacje
69
3.7
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
6.
7.
8.
9.
10.
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
Rozdzia 3. Relacje
73
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
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
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).