Darmowy fragment publikacji:
• Kup książkę
• Poleć książkę
• Oceń książkę
• Księgarnia internetowa
• Lubię to! » Nasza społeczność
Spis tre(cid:282)ci
Rozdzia(cid:257) 1.
Rozdzia(cid:257) 2.
Rozdzia(cid:257) 3.
Rozdzia(cid:257) 4.
Wst(cid:216)p
Baza danych
Tabele
Relacje
Kwerendy
Kwerendy wybieraj(cid:200)ce dane
Kwerendy krzy(cid:285)owe
Kwerendy tworz(cid:200)ce tabele
Kwerendy aktualizuj(cid:200)ce
Kwerendy do(cid:239)(cid:200)czaj(cid:200)ce
Kwerendy usuwaj(cid:200)ce
(cid:109)wiczenia dodatkowe
Formularze
Raporty
Rozdzia(cid:257) 5.
Rozdzia(cid:257) 6.
Rozdzia(cid:257) 7. Makra
Rozdzia(cid:257) 8. Modu(cid:257)y
3
5
9
29
53
75
76
95
97
99
100
103
105
107
133
149
161
Poleć książkęKup książkę4
Access 2016 PL • (cid:193)wiczenia praktyczne
Poleć książkęKup książkę3
Relacje
Charakterystyczn(cid:200) cech(cid:200) relacyjnych baz danych jest przechowywa-
nie informacji, opisuj(cid:200)cych obiekty ró(cid:285)nego typu (np. towary i ich
producentów), w odr(cid:218)bnych, ale powi(cid:200)zanych ze sob(cid:200) tabelach. Na
rysunkach 3.1 i 3.2 pokazujemy ró(cid:285)nic(cid:218) pomi(cid:218)dzy sposobem prze-
chowywania tych samych danych w arkuszu programu Excel i w bazie
danych programu Access.
Rysunek 3.1. Arkusz programu Excel jest przyk(cid:239)adem jednorodnej bazy danych
— takiej, w której wszystkie dane s(cid:200) zapisane w jednym obiekcie (arkuszu)
Nawet ten bardzo uproszczony przyk(cid:239)ad pozwala zauwa(cid:285)y(cid:202) g(cid:239)ówn(cid:200)
zalet(cid:218) relacyjnych baz danych — dzi(cid:218)ki podzieleniu informacji mi(cid:218)dzy
kilka tabel do minimum zosta(cid:239)a zmniejszona liczba nadmiarowych,
53
Poleć książkęKup książkę54
Access 2016 PL • (cid:193) wiczenia praktyczne
wielokrotnie przechowywanych informacji. O ile w arkuszu Excela
dane re(cid:285)ysera pojawi(cid:239)y si(cid:218) tyle razy, ile nakr(cid:218)ci(cid:239) filmów, o tyle w bazie
programu Access, niezale(cid:285)nie od liczby nakr(cid:218)conych przez re(cid:285)ysera
filmów, jego dane s(cid:200) zapisane raz, a jedynie krótki identyfikator
(klucz podstawowy) re(cid:285)ysera znajduje si(cid:218) przy ka(cid:285)dym jego filmie
(rysunek 3.2).
Rysunek 3.2. W relacyjnych bazach danych informacje o obiektach ró(cid:285)nego
typu (np. filmach, ich gatunkach i re(cid:285)yserach) s(cid:200) przechowywane w odr(cid:218)bnych
tabelach
Wielokrotne zapisywanie tych samych danych pr(cid:218)dzej czy pó(cid:283)niej
prowadzi do problemów z utrzymaniem spójnego (adekwatnego
do stanu rzeczywistego) obrazu danych — gdyby w naszym przyk(cid:239)adzie
re(cid:285)yser zmieni(cid:239) nazwisko, ta zmiana musia(cid:239)aby zosta(cid:202) przeprowadzona
dla niewiadomej, potencjalnie do(cid:258)(cid:202) du(cid:285)ej liczby filmów. W takiej sytuacji
bardzo (cid:239)atwo o b(cid:239)(cid:200)d — wystarczy zmieni(cid:202) nazwisko w dziesi(cid:218)ciu
komórkach i zostawi(cid:202) niezmienione w pi(cid:218)ciu z nich.
Jednak u(cid:285)ytkowników interesuje z regu(cid:239)y komplet informacji, np.
chcieliby pozna(cid:202) tytu(cid:239) filmu, dane jego re(cid:285)ysera i nazw(cid:218) gatunku, do
którego film nale(cid:285)y. W relacyjnej bazie danych te informacje s(cid:200) zapi-
sane w trzech odr(cid:218)bnych tabelach: w tabeli Film znajduj(cid:200) si(cid:218) dane
o filmach, w tabeli Re(cid:285)yser — dane re(cid:285)yserów, a w tabeli Gatunek —
nazwy gatunków filmowych. Aby informacja o tym, kto nakr(cid:218)ci(cid:239) dany
film, nie zosta(cid:239)a utracona, te tabele musz(cid:200) by(cid:202) ze sob(cid:200) powi(cid:200)zane.
Zwi(cid:200)zek zachodz(cid:200)cy pomi(cid:218)dzy powi(cid:200)zanymi ze sob(cid:200) tabelami w SZBD
Access jest nazywany relacj(cid:200) (cid:239)(cid:200)cz(cid:200)c(cid:200) te tabele. Tak jak poszczególne
kolumny tabeli przechowuj(cid:200) warto(cid:258)ci atrybutów (cech) obiektów danego
Poleć książkęKup książkęRozdzia(cid:253) 3. • Relacje
55
typu (np. nazw(cid:218) firmy, adres kole(cid:285)anki czy tytu(cid:239) ksi(cid:200)(cid:285)ki), tak relacje
przedstawiaj(cid:200) zachodz(cid:200)cy pomi(cid:218)dzy obiektami dwóch ró(cid:285)nych typów
zwi(cid:200)zek (np. towar zosta(cid:239) sprzedany przez firm(cid:218), kole(cid:285)anka po(cid:285)yczy(cid:239)a
p(cid:239)yty, autor napisa(cid:239) ksi(cid:200)(cid:285)k(cid:218)).
Istniej(cid:200) trzy typy relacji dwuargumentowych (czyli takich, które odpo-
wiadaj(cid:200) zwi(cid:200)zkowi (cid:239)(cid:200)cz(cid:200)cemu dwie ró(cid:285)ne tabele):
1. Relacje typu jeden do jednego, w których jednemu obiektowi A
odpowiada dok(cid:239)adnie jeden obiekt B (przyk(cid:239)adem takiej relacji
jest zwi(cid:200)zek pomi(cid:218)dzy uczniem a przypisan(cid:200) mu szafk(cid:200) w szatni).
2. Relacje typu jeden do wielu, w których jednemu obiektowi A
odpowiada dowolna liczba obiektów B (przyk(cid:239)adem takiej relacji
jest zwi(cid:200)zek pomi(cid:218)dzy firm(cid:200) a towarami — jedna firma mo(cid:285)e
produkowa(cid:202) dowoln(cid:200) liczb(cid:218) towarów, ale ten sam towar mo(cid:285)e
by(cid:202) wyprodukowany tylko w jednej firmie).
3. Relacje typu wiele do wielu, w których dowolnej liczbie obiektów
A odpowiada dowolna liczba obiektów B (przyk(cid:239)adem takiej
relacji jest zwi(cid:200)zek pomi(cid:218)dzy filmami a aktorami — w ka(cid:285)dym
filmie mo(cid:285)e zagra(cid:202) dowolna liczba aktorów i ka(cid:285)dy aktor mo(cid:285)e
zagra(cid:202) w dowolnej liczbie filmów).
Wykorzystuj(cid:200)c umiej(cid:218)tno(cid:258)ci zdobyte w poprzednich rozdzia(cid:239)ach, utwo-
rzymy baz(cid:218) danych dzia(cid:239)aj(cid:200)c(cid:200) w (cid:258)rodowisku SZBD Access, która b(cid:218)dzie
podstaw(cid:200) do (cid:202)wicze(cid:241) z nast(cid:218)pnych rozdzia(cid:239)ów.
(cid:109) W I C Z E N I E
3.1
Projekt przyk(cid:239)adowej bazy danych
Na potrzeby tej ksi(cid:200)(cid:285)ki zaprojektujemy i utworzymy baz(cid:218) danych Fil-
moteka, w której b(cid:218)d(cid:200) przechowywane podstawowe informacje o fil-
mach i po(cid:285)yczaj(cid:200)cych je osobach. Budow(cid:218) nowej bazy programu Access
nale(cid:285)y rozpocz(cid:200)(cid:202) od zaplanowania uk(cid:239)adu jej tabel.
Aby zaprojektowa(cid:202) przyk(cid:239)adow(cid:200) baz(cid:218) danych:
1. Wypisz, jedn(cid:200) pod drug(cid:200), nazwy typów obiektów, o których
informacje powinny trafi(cid:202) do bazy:
Filmy
Osoby
2. Wypisz te atrybuty obiektów, o których informacje powinny by(cid:202)
zapisane w bazie danych:
Poleć książkęKup książkę56
Access 2016 PL • (cid:193) wiczenia praktyczne
Film {Tytu(cid:273), Nazwisko re(cid:318)ysera, Imi(cid:250) re(cid:318)ysera, Nazwiska aktorów,
(cid:180)Imiona aktorów, Gatunek, Cena, Data produkcji}
Osoba {Imi(cid:250), Nazwisko, Adres, Telefon, Adres e-mail}
3. Na podstawie zdobytej wiedzy o zaletach dzielenia danych
o obiektach ró(cid:285)nego typu pomi(cid:218)dzy powi(cid:200)zane ze sob(cid:200) tabele
wyszukaj na li(cid:258)cie wypisanych atrybutów te, które nie opisuj(cid:200)
bezpo(cid:258)rednio obiektu danego typu, i utwórz now(cid:200) list(cid:218) typów
obiektów:
Film {Tytu(cid:273), Gatunek, Cena, Data produkcji}
Osoba {Imi(cid:250), Nazwisko, Adres, Telefon, Adres e-mail}
Re(cid:318)yser {Imi(cid:250), Nazwisko} (trudno uzna(cid:232) imi(cid:250) czy nazwisko re(cid:318)ysera
(cid:180)za bezpo(cid:295)rednie atrybuty filmu)
Aktor {Imi(cid:250), Nazwisko} (trudno uzna(cid:232) imi(cid:250) czy nazwisko aktora
(cid:180)za bezpo(cid:295)rednie atrybuty filmu)
4. W poprzednim rozdziale zosta(cid:239)y omówione zalety dzielenia
informacji, opisuj(cid:200)cych obiekty poszczególnych typów,
na atrybuty elementarne. Korzystaj(cid:200)c z tych informacji,
zmodyfikuj list(cid:218) atrybutów obiektów:
Film {Tytu(cid:273), Gatunek, Cena, Data produkcji}
Osoba {Imi(cid:250), Nazwisko, Miasto, Ulica Nr domu, Telefon, Adres e-mail}
Re(cid:318)yser {Imi(cid:250), Nazwisko}
Aktor {Imi(cid:250), Nazwisko}
5. Jednym z etapów procesu normalizacji baz danych, który
dodatkowo korzystnie wp(cid:239)ynie na wydajno(cid:258)(cid:202) bazy danych
i komfort pracy u(cid:285)ytkowników, jest wydzielenie tabel
s(cid:239)ownikowych. Tabele tego typu przechowuj(cid:200) list(cid:218)
niepowtarzalnych warto(cid:258)ci, które mog(cid:200) si(cid:218) pojawi(cid:202)
w powi(cid:200)zanych z nimi tabelach. W efekcie tabela nadrz(cid:218)dna
jest mniejsza, a u(cid:285)ytkownicy mog(cid:200) wybra(cid:202) dan(cid:200) warto(cid:258)(cid:202) z listy,
zamiast wielokrotnie wpisywa(cid:202) ten sam ci(cid:200)g znaków.
W przyk(cid:239)adowej bazie danych idealnym kandydatem do roli
tabeli s(cid:239)ownikowej jest atrybut filmu — gatunek (lista gatunków
filmowych jest sko(cid:241)czona, a prawdopodobie(cid:241)stwo wielokrotnego
wpisywania tych samych danych do(cid:258)(cid:202) du(cid:285)e):
Film {Tytu(cid:273), Cena, Data produkcji}
Gatunek {Nazwa}
Osoba {Imi(cid:250), Nazwisko, Miasto, Ulica Nr domu, Telefon, Adres e-mail}
Re(cid:318)yser {Imi(cid:250), Nazwisko}
Aktor {Imi(cid:250), Nazwisko}
6. Ostatnim zadaniem jest okre(cid:258)lenie relacji (cid:239)(cid:200)cz(cid:200)cej poszczególne
obiekty:
Poleć książkęKup książkęRozdzia(cid:253) 3. • Relacje
57
(cid:84) Ka(cid:285)dy film nale(cid:285)y do jednego, okre(cid:258)lonego gatunku, ale do
tego samego gatunku mo(cid:285)e nale(cid:285)e(cid:202) dowolna liczba filmów
(zwi(cid:200)zek typu wiele do jednego).
(cid:84) Ka(cid:285)dy film zosta(cid:239) nakr(cid:218)cony przez jednego, okre(cid:258)lonego
re(cid:285)ysera, ale ten sam re(cid:285)yser mo(cid:285)e nakr(cid:218)ci(cid:202) dowoln(cid:200) liczb(cid:218)
filmów (zwi(cid:200)zek typu wiele do jednego).
(cid:84) W ka(cid:285)dym filmie mo(cid:285)e zagra(cid:202) dowolna liczba aktorów,
a ka(cid:285)dy aktor mo(cid:285)e zagra(cid:202) w dowolnej liczbie filmów (zwi(cid:200)zek
typu wiele do wielu) — t(cid:218) relacj(cid:218) zaimplementujemy
za pomoc(cid:200) charakterystycznych dla SZBD Access 2016 pól
wielowarto(cid:258)ciowych.
(cid:84) Ka(cid:285)dy film (w tym samym czasie) mo(cid:285)e by(cid:202) po(cid:285)yczony
tylko jednej osobie, ale ta sama osoba mo(cid:285)e (jednocze(cid:258)nie)
po(cid:285)yczy(cid:202) dowoln(cid:200) liczb(cid:218) filmów (zwi(cid:200)zek typu wiele
do jednego) — poniewa(cid:285) w bazie chcemy zapisa(cid:202) równie(cid:285) dat(cid:218)
po(cid:285)yczenia i oddania filmu, t(cid:218) relacj(cid:218) zaimplementujemy
za pomoc(cid:200) tabeli (cid:239)(cid:200)cznikowej.
(cid:109) W I C Z E N I E
3.2
Tabela s(cid:239)ownikowa
Kolejno(cid:258)(cid:202) tworzenia tabel nie jest dowolna — jako pierwsze nale(cid:285)y
utworzy(cid:202) tabele s(cid:239)ownikowe, potem tabele podrz(cid:218)dne (tabele prze-
chowuj(cid:200)ce dane, do których odwo(cid:239)uj(cid:200) si(cid:218) inne tabele), a jako ostat-
nie — tabele nadrz(cid:218)dne (tabel(cid:200) nadrz(cid:218)dn(cid:200) przyk(cid:239)adowej bazy danych
jest tabela Film, która odwo(cid:239)uje si(cid:218) do danych zapisanych we wszyst-
kich pozosta(cid:239)ych tabelach przyk(cid:239)adowej bazy danych).
Aby utworzy(cid:202) tabel(cid:218) Gatunek:
1. Utwórz nowy projekt pustej bazy danych programu Access
i nazwij go Filmoteka.
2. Korzystaj(cid:200)c z umiej(cid:218)tno(cid:258)ci zdobytych w poprzednim rozdziale,
utwórz tabel(cid:218) Gatunek. Struktura tabeli zosta(cid:239)a pokazana
na rysunku 3.3.
Poleć książkęKup książkę58
Access 2016 PL • (cid:193) wiczenia praktyczne
Rysunek 3.3. Definicja tabeli s(cid:239)ownikowej
(cid:109) W I C Z E N I E
3.3
Tabele podrz(cid:218)dne
Po utworzeniu tabeli s(cid:239)ownikowej przysz(cid:239)a pora na zbudowanie wszyst-
kich tabel podrz(cid:218)dnych — poniewa(cid:285) w przyk(cid:239)adowej bazie danych
nie zawieraj(cid:200) one kolumn odwo(cid:239)uj(cid:200)cych si(cid:218) do innych tabel (nie ma
ani jednej tabeli, która — b(cid:218)d(cid:200)c podrz(cid:218)dn(cid:200) w stosunku do jednej
tabeli — jednocze(cid:258)nie by(cid:239)aby nadrz(cid:218)dn(cid:200) w stosunku do innej tabeli),
ich tworzenie nie ró(cid:285)ni si(cid:218) od konstruowania tabel s(cid:239)ownikowych.
Aby utworzy(cid:202) tabele podrz(cid:218)dne (tabele niezawieraj(cid:200)ce kolumn kluczy
obcych):
1. Utwórz tabel(cid:218) Osoba (rysunek 3.4).
2. Utwórz tabel(cid:218) Rezyser. Struktura tej tabeli zosta(cid:239)a pokazana
na rysunku 3.5.
W nazwach obiektów przyk(cid:239)adowej bazy danych nie s(cid:200) u(cid:285)ywane polskie
znaki diakrytyczne, natomiast w ich tytu(cid:239)ach — tak. W ten sposób baza
danych b(cid:218)dzie prawid(cid:239)owo dzia(cid:239)a(cid:239)a w komputerach z zainstalowanym
systemem Windows w innej ni(cid:285) polska wersji j(cid:218)zykowej.
3. Poniewa(cid:285) struktura tabeli Aktor jest identyczna ze struktur(cid:200)
tabeli Rezyser, skopiuj t(cid:218) tabel(cid:218) pod nazw(cid:200) Aktor, wy(cid:258)wietl nowo
Poleć książkęKup książkęRozdzia(cid:253) 3. • Relacje
59
Rysunek 3.4. Definicja tabeli podrz(cid:218)dnej Osoba
Rysunek 3.5. Definicja tabeli Rezyser — tworz(cid:200)c j(cid:200) (i pozosta(cid:239)e tabele
bazy Filmoteka), mo(cid:285)na wzorowa(cid:202) si(cid:218) na tabelach do(cid:239)(cid:200)czonej do ksi(cid:200)(cid:285)ki,
przyk(cid:239)adowej bazy danych
Poleć książkęKup książkę60
Access 2016 PL • (cid:193) wiczenia praktyczne
utworzon(cid:200) tabel(cid:218) w widoku projektu i zmie(cid:241) nazw(cid:218) kolumny
IdRezysera na IdAktora. Struktura pozosta(cid:239)ych kolumn nie wymaga
zmiany.
(cid:109) W I C Z E N I E
3.4
Tabela nadrz(cid:218)dna
Na tym etapie baza danych Filmoteka zawiera cztery niepowi(cid:200)zane
ze sob(cid:200) tabele. Nadszed(cid:239) czas, aby zamieni(cid:202) te niezwi(cid:200)zane ze sob(cid:200)
obiekty w relacyjn(cid:200) baz(cid:218) danych, przechowuj(cid:200)c(cid:200) informacje o poszcze-
gólnych filmach. Poniewa(cid:285) tabela Film b(cid:218)dzie zawiera(cid:202) kolumny, wska-
zuj(cid:200)ce na dane zapisane w innych tabelach, jej utworzenie wymaga
zbudowania relacji (cid:239)(cid:200)cz(cid:200)cych odpowiednie tabele.
Aby utworzy(cid:202) tabel(cid:218) Film:
1. Rozpocznij tworzenie nowej tabeli w widoku projektu.
2. Utwórz kolumn(cid:218) klucza podstawowego (IdFilmu) oraz kolumny
przechowuj(cid:200)ce informacje o tytule danego filmu (Tytul), cenie
zakupu (Cena), zysku, jaki uzyskali(cid:258)my z wypo(cid:285)yczenia danego
filmu (Zysk), i dacie produkcji (DataPr).
3. Jedn(cid:200) z cech charakterystycznych dla SZBD Access 2016
jest mo(cid:285)liwo(cid:258)(cid:202) formatowania danych typu Nota. Dodaj kolejn(cid:200)
kolumn(cid:218) Opinia typu D(cid:239)ugi tekst i zmie(cid:241) warto(cid:258)(cid:202) atrybutu
Format tekstu na Tekst sformatowany (rysunek 3.6).
4. Nast(cid:218)pnie dodamy pierwsz(cid:200) kolumn(cid:218) klucza obcego, czyli
kolumn(cid:218) wi(cid:200)(cid:285)(cid:200)c(cid:200) t(cid:218) tabel(cid:218) z wybran(cid:200) tabel(cid:200) nadrz(cid:218)dn(cid:200). W tym
celu ustaw kursor w polu Typ danych nowej kolumny i z listy
dost(cid:218)pnych typów wybierz Kreator odno(cid:258)ników… (rysunek 3.7).
5. Poniewa(cid:285) chcemy po(cid:239)(cid:200)czy(cid:202) tabel(cid:218) Film z tabel(cid:200) Gatunek,
w odpowiedzi na pierwsze pytanie kreatora wybierz opcj(cid:218) Obiekt
kolumna odno(cid:258)nika ma pobiera(cid:202) warto(cid:258)ci z tabeli lub kwerendy.
6. Na li(cid:258)cie dost(cid:218)pnych tabel zaznacz tabel(cid:218) Gatunek i kliknij
przycisk Dalej.
7. Zostanie wy(cid:258)wietlona lista kolumn tabeli Gatunek. Chocia(cid:285) tabele
zawsze powinny by(cid:202) (cid:239)(cid:200)czone za pomoc(cid:200) ich kluczy podstawowych
(w tym wypadku b(cid:218)d(cid:200) to warto(cid:258)ci pól kolumny IdGatunku),
identyfikatory poszczególnych gatunków s(cid:200) ma(cid:239)o opisowe
(administrator musia(cid:239)by zapami(cid:218)ta(cid:202), (cid:285)e np. identyfikatorem
Poleć książkęKup książkęRozdzia(cid:253) 3. • Relacje
61
Rysunek 3.6. Wpisuj(cid:200)c opinie o filmach, b(cid:218)dziemy mogli dowolnie zmienia(cid:202)
krój, wielko(cid:258)(cid:202) i kolor czcionki
Rysunek 3.7. Aby unikn(cid:200)(cid:202) k(cid:239)opotów z niezgodno(cid:258)ci(cid:200) typów (cid:239)(cid:200)czonych
kolumn ró(cid:285)nych tabel, nale(cid:285)y najpierw uruchomi(cid:202) kreator odno(cid:258)ników,
a pó(cid:283)niej (ewentualnie) zmieni(cid:202) nazw(cid:218) kolumny
Poleć książkęKup książkę62
Access 2016 PL • (cid:193) wiczenia praktyczne
gatunku horror jest liczba 12, a komedii — 3). SZBD Access
u(cid:239)atwia administratorowi przegl(cid:200)danie i modyfikowanie danych
w po(cid:239)(cid:200)czonych tabelach, bo automatycznie zast(cid:218)puje wy(cid:258)wietlany
identyfikator zwi(cid:200)zanymi z nim warto(cid:258)ciami innych pól danej
tabeli. I tak zamiast wpisywa(cid:202) liczb(cid:218) 3 w oknie widoku arkusza
danych tabeli, b(cid:218)dziemy mogli wybra(cid:202) nazw(cid:218) gatunku danego
filmu. Aby osi(cid:200)gn(cid:200)(cid:202) ten cel, zaznacz oba pola tabeli Gatunek
i kliknij przycisk Dalej (rysunek 3.8).
Rysunek 3.8. Kreator odno(cid:258)ników umo(cid:285)liwia „ukrycie” przed administratorem
wykorzystanego do po(cid:239)(cid:200)czenia tabel klucza g(cid:239)ównego i zast(cid:200)pienie
go dowoln(cid:200), opisow(cid:200) warto(cid:258)ci(cid:200), np. nazw(cid:200) danego gatunku filmowego
8. SZBD Access 2016 umo(cid:285)liwia te(cid:285) posortowanie danych
wykorzystywanych do (cid:239)(cid:200)czenia tabel. Aby u(cid:239)atwi(cid:202)
administratorowi przypisywanie poszczególnych filmów danym
gatunkom, posortuj gatunki alfabetyczne wed(cid:239)ug nazw.
9. Odpowiadaj(cid:200)c na kolejne pytanie kreatora, upewnij si(cid:218), czy pole
wyboru Ukryj kolumn(cid:218) klucza (zalecane) jest zaznaczone,
i kliknij przycisk Dalej — w ten sposób gatunki filmowe b(cid:218)d(cid:200)
wybierane wy(cid:239)(cid:200)cznie na podstawie swoich nazw.
10. Ostatnie pytanie kreatora b(cid:218)dzie dotyczy(cid:239)o nazwy tworzonej
kolumny:
(cid:84) Wpisz tak(cid:200) sam(cid:200) nazw(cid:218), jak(cid:200) ma (cid:239)(cid:200)czona tabela (Gatunek).
(cid:84) Nie zaznaczaj pola W(cid:239)(cid:200)cz integralno(cid:258)(cid:202) danych (jego znaczenie
wyja(cid:258)nili(cid:258)my w (cid:202)wiczeniu po(cid:258)wi(cid:218)conym edytowaniu relacji).
Poleć książkęKup książkęRozdzia(cid:253) 3. • Relacje
63
(cid:84) Nie zaznaczaj pola Zezwalaj na wiele warto(cid:258)ci (jego znaczenie
wyja(cid:258)nili(cid:258)my w dalszej cz(cid:218)(cid:258)ci rozdzia(cid:239)u na przyk(cid:239)adzie relacji
(cid:239)(cid:200)cz(cid:200)cej tabele Film i Aktor).
(cid:84) Kliknij przycisk Zako(cid:241)cz.
11. Po zako(cid:241)czeniu pracy kreatora odno(cid:258)ników b(cid:218)dzie konieczne
zapisanie tabeli nadrz(cid:218)dnej — zapisz j(cid:200) pod nazw(cid:200) Film. Wynik
pracy kreatora zosta(cid:239) pokazany na rysunku 3.9.
Rysunek 3.9. Zak(cid:239)adka Odno(cid:258)nik pozwala pozna(cid:202) efekt pracy kreatora
odno(cid:258)ników: w tym wypadku dane pobierane z tabeli Gatunek b(cid:218)d(cid:200)
wy(cid:258)wietlane w polu listy, do po(cid:239)(cid:200)czenia tabel zosta(cid:239)a wykorzystana pierwsza
kolumna (kolumna klucza podstawowego), ale dane b(cid:218)d(cid:200) pobierane
z dwóch kolumn. Poniewa(cid:285) szeroko(cid:258)(cid:202) pierwszej kolumny zosta(cid:239)a ustawiona
na 0, u(cid:285)ytkownik zobaczy w polu listy wy(cid:239)(cid:200)cznie dane przechowywane
w drugiej kolumnie tabeli Gatunek
12. W ten sam sposób, w jaki po(cid:239)(cid:200)czyli(cid:258)my tabele Film i Gatunek,
nale(cid:285)y po(cid:239)(cid:200)czy(cid:202) tabele Film i Rezyser:
(cid:84) Po ustawieniu kursora w pustym polu kolumny Typ danych
z listy dost(cid:218)pnych typów wybierz Kreator odno(cid:258)ników….
(cid:84) Ponownie dane b(cid:218)d(cid:200) pobierane z innej tabeli, ale tym razem
z tabeli Rezyser.
(cid:84) Aby u(cid:239)atwi(cid:202) przegl(cid:200)danie i wprowadzanie danych bezpo(cid:258)rednio
do tabeli, z listy kolumn tabeli Aktor nale(cid:285)y wybra(cid:202) IdRezysera
Poleć książkęKup książkę64
Access 2016 PL • (cid:193) wiczenia praktyczne
(klucz podstawowy powinien by(cid:202) wykorzystany do (cid:239)(cid:200)czenia
wszystkich tabel) oraz Nazwisko (istnieje mniejsze
prawdopodobie(cid:241)stwo, (cid:285)e kilku re(cid:285)yserów b(cid:218)dzie nosi(cid:202)
to samo nazwisko ni(cid:285) to samo imi(cid:218)).
Jest równie(cid:285) mo(cid:285)liwe wskazanie wi(cid:218)kszej liczby kolumn z tabeli po(cid:239)(cid:200)czonej,
ale wtedy dane wy(cid:258)wietlane w polu listy b(cid:218)d(cid:200) zajmowa(cid:202) du(cid:285)o miejsca
na ekranie i w efekcie, zamiast u(cid:239)atwia(cid:202), b(cid:218)d(cid:200) utrudnia(cid:202) korzystanie
z bazy danych.
(cid:84) Po posortowaniu danych wed(cid:239)ug nazwisk re(cid:285)yserów i ukryciu
pola klucza podstawowego pozostaje jeszcze podanie nazwy
tworzonej kolumny odno(cid:258)nika (Rezyser) i zapisanie zmian
w tabeli Film.
Odpowiednikiem utworzenia odno(cid:258)nika do innej tabeli jest na(cid:239)o(cid:285)enie
na kolumn(cid:218) ograniczenia REFERENCES (klucz obcy). W efekcie ograniczymy
list(cid:218) dopuszczalnych dla danej kolumny warto(cid:258)ci do warto(cid:258)ci
przechowywanych w odpowiadaj(cid:200)cej jej kolumnie w powi(cid:200)zanej tabeli.
Kolumny z na(cid:239)o(cid:285)onym ograniczeniem REFERENCES mog(cid:200) przechowywa(cid:202)
warto(cid:258)ci NULL (niewype(cid:239)nione pola), o ile nie zabraniaj(cid:200) tego inne
ograniczenia. Aby SZBD Access móg(cid:239) utworzy(cid:202) klucz obcy, musi wcze(cid:258)niej
by(cid:202) utworzona tabela, do której klucz b(cid:218)dzie si(cid:218) odwo(cid:239)ywa(cid:239). Dodatkowo
w tej tabeli musi znajdowa(cid:202) si(cid:218) odpowiednia kolumna (lub kolumny),
dla której zdefiniowano taki sam typ danych, jak dla kolumny z na(cid:239)o(cid:285)onym
ograniczeniem REFERENCES. Na tak(cid:200) kolumn(cid:218) musi by(cid:202) tak(cid:285)e na(cid:239)o(cid:285)one
jedno z dwóch ogranicze(cid:241): PRIMARY KEY lub UNIQUE.
(cid:109) W I C Z E N I E
3.5
Pola wielowarto(cid:258)ciowe
Skoro w jednym filmie gra wielu aktorów, a ten sam aktor wyst(cid:218)puje
w wielu filmach, wydaje si(cid:218), (cid:285)e niemo(cid:285)liwe jest utworzenie kolumny
odno(cid:258)nika ani w tabeli Film (wtedy w filmie móg(cid:239)by zagra(cid:202) tylko jeden
aktor), ani w tabeli Aktor (wtedy z kolei aktor móg(cid:239)by zagra(cid:202) tylko
w jednym filmie). Poniewa(cid:285) wiele osób mog(cid:239)oby b(cid:239)(cid:218)dnie rozwi(cid:200)za(cid:202) ten
problem, próbuj(cid:200)c doda(cid:202) do jednej z tabel kilka kolumn (w naszym
przyk(cid:239)adzie do tabeli Film mogliby(cid:258)my doda(cid:202) kolumny Aktor1,
Aktor2 itd.), tworzenie relacji typu wiele do wielu zosta(cid:239)o znacznie
uproszczone w SZBD Access.
Poleć książkęKup książkęRozdzia(cid:253) 3. • Relacje
65
Umieszczenie w tabeli wielu kolumn, które odwo(cid:239)uj(cid:200) si(cid:218) do tej samej
kolumny innej tabeli, jest bardzo z(cid:239)ym pomys(cid:239)em. Nie tylko znacznie
ogranicza funkcjonalno(cid:258)(cid:202) bazy (musimy z góry za(cid:239)o(cid:285)y(cid:202) maksymaln(cid:200) liczb(cid:218)
aktorów, którzy mog(cid:200) zagra(cid:202) w jednym filmie) i powoduje, (cid:285)e w naszej
tabeli jest przechowywanych mnóstwo warto(cid:258)ci Null (bo w wi(cid:218)kszo(cid:258)ci
wypadków interesuje nas tylko kilku aktorów graj(cid:200)cych w danym filmie),
ale równie(cid:285) ogromnie utrudnia tworzenie powi(cid:200)zanych z tak(cid:200) tabel(cid:200)
formularzy i raportów.
Aby po(cid:239)(cid:200)czy(cid:202) tabele Film i Aktor:
1. Wy(cid:258)wietl projekt tabeli Film.
2. Dodaj kolejn(cid:200) kolumn(cid:218) odno(cid:258)nika, wi(cid:200)(cid:285)(cid:200)c j(cid:200) z kolumnami
IdAktora i Nazwisko tabeli Aktor.
3. Posortuj dane wed(cid:239)ug nazwisk i ukryj kolumn(cid:218) klucza.
4. Ko(cid:241)cz(cid:200)c prac(cid:218) kreatora:
(cid:84) Zmie(cid:241) nazw(cid:218) kolumny odno(cid:258)nika na Aktorzy.
(cid:84) Zaznacz pole Zezwalaj na wiele warto(cid:258)ci (rysunek 3.10).
Rysunek 3.10. W ten sposób w kolumnie odno(cid:258)nika Nazwiska b(cid:218)dzie mo(cid:285)na
zapisywa(cid:202) dowoln(cid:200) liczb(cid:218) nazwisk graj(cid:200)cych w danym filmie aktorów
5. Zamknij okno projektu tabeli Film i zapisz wprowadzone w niej
zmiany.
Poleć książkęKup książkę66
Access 2016 PL • (cid:193) wiczenia praktyczne
(cid:109) W I C Z E N I E
3.6
Edytowanie relacji
Zanim po(cid:239)(cid:200)czymy tabele Film i Osoba, zmodyfikujemy relacje utwo-
rzone mi(cid:218)dzy pozosta(cid:239)ymi tabelami.
W tym celu:
1. Przejd(cid:283) na zak(cid:239)adk(cid:218) Narz(cid:218)dzia bazy danych i kliknij przycisk
Relacje.
2. Aby upewni(cid:202) si(cid:218), (cid:285)e wszystkie po(cid:239)(cid:200)czone tabele zosta(cid:239)y
wy(cid:258)wietlone, kliknij prawym przyciskiem myszy pusty obszar
okna relacji i z menu kontekstowego wybierz opcj(cid:218) Poka(cid:285)
wszystko.
3. Za pomoc(cid:200) techniki „przeci(cid:200)gnij i upu(cid:258)(cid:202)” uporz(cid:200)dkuj ikony tabel,
tak aby linie obrazuj(cid:200)ce relacje nie krzy(cid:285)owa(cid:239)y si(cid:218), i dopasuj
rozmiar ikon poszczególnych tabel w ten sposób, by wszystkie
ich kolumny by(cid:239)y widoczne (rysunek 3.11).
Rysunek 3.11. Linie (cid:239)(cid:200)cz(cid:200)ce poszczególne tabele przedstawiaj(cid:200) utworzone
pomi(cid:218)dzy nimi powi(cid:200)zania
Poleć książkęKup książkęRozdzia(cid:253) 3. • Relacje
67
4. Na tym etapie relacje (cid:239)(cid:200)cz(cid:200)ce poszczególne tabele
nie odzwierciedlaj(cid:200) jeszcze typów powi(cid:200)za(cid:241) (wszystkie
te powi(cid:200)zania powinny by(cid:202) typu jeden do wielu). Aby okre(cid:258)li(cid:202)
typ relacji:
(cid:84) Kliknij prawym przyciskiem myszy lini(cid:218) (cid:239)(cid:200)cz(cid:200)c(cid:200) tabele Film
i Gatunek, a nast(cid:218)pnie z menu kontekstowego wybierz opcj(cid:218)
Edytuj relacj(cid:218)….
(cid:84) Zaznacz pole wyboru Wymuszaj wi(cid:218)zy integralno(cid:258)ci — zostanie
w ten sposób okre(cid:258)lony typ powi(cid:200)zania i SZBD Access b(cid:218)dzie
automatycznie sprawdza(cid:239), czy dane w po(cid:239)(cid:200)czonych tabelach
s(cid:200) prawid(cid:239)owe (np. czy u(cid:285)ytkownik nie próbowa(cid:239) przypisa(cid:202)
filmu nieistniej(cid:200)cemu w bazie gatunkowi).
(cid:84) Zaznacz pole wyboru Kaskadowo aktualizuj pola pokrewne
— w ten sposób zmiana warto(cid:258)ci klucza podstawowego
tabeli podrz(cid:218)dnej zostanie automatycznie uwzgl(cid:218)dniona
w tabeli nadrz(cid:218)dnej (je(cid:285)eli kto(cid:258) zmieni identyfikator gatunku
filmowego, np. komedii z 3 na 33, ta zmiana zostanie
automatycznie przeprowadzona w tabeli Film, dzi(cid:218)ki czemu
filmy, które wcze(cid:258)niej zosta(cid:239)y zaklasyfikowane jako komedie,
nadal b(cid:218)d(cid:200) komediami) (rysunek 3.12).
Rysunek 3.12. O ile kaskadowa aktualizacja powi(cid:200)zanych pól zabezpiecza
przed przypadkow(cid:200) modyfikacj(cid:200) warto(cid:258)ci kluczy podstawowych, o tyle
kaskadowe usuwanie mo(cid:285)e spowodowa(cid:202) przypadkowe usuni(cid:218)cie wielu
danych
(cid:84) Nie zaznaczaj pola wyboru Kaskadowo usu(cid:241) rekordy pokrewne
— zaznaczenie tego pola umo(cid:285)liwi nie tylko usuni(cid:218)cie gatunku,
do którego zosta(cid:239)y zaklasyfikowane pewne filmy, ale SZBD
Access automatycznie wyrzuci z bazy informacje o wszystkich
Poleć książkęKup książkę68
Access 2016 PL • (cid:193) wiczenia praktyczne
filmach usuwanego gatunku (je(cid:285)eli kto(cid:258) usun(cid:200)(cid:239)by wiersz
z gatunkiem Komedia, z tabeli Film zosta(cid:239)yby usuni(cid:218)te
wszystkie filmy zaklasyfikowane jako komedie).
(cid:84) Kliknij przycisk OK.
5. Linia (cid:239)(cid:200)cz(cid:200)ca tabele Film i Gatunek zostanie pogrubiona i,
co najwa(cid:285)niejsze, na jej ko(cid:241)cach zostan(cid:200) wy(cid:258)wietlone
symbole 1 i (cid:146), obrazuj(cid:200)ce typ powi(cid:200)zania.
6. Powtórz czynno(cid:258)ci opisane w punkcie 4. dla pozosta(cid:239)ych relacji.
Efekt pomy(cid:258)lnego wykonania (cid:202)wiczenia zosta(cid:239) pokazany
na rysunku 3.13.
Rysunek 3.13. Zgodnie z za(cid:239)o(cid:285)eniem projektu, jeden aktor (symbol 1) mo(cid:285)e
zagra(cid:202) w wielu (symbol (cid:146)) filmach, do jednego gatunku mo(cid:285)e nale(cid:285)e(cid:202) wiele
filmów, jeden re(cid:285)yser mo(cid:285)e nakr(cid:218)ci(cid:202) wiele filmów, a pole wielowarto(cid:258)ciowe
pozwala wielu aktorom zagra(cid:202) w tym samym filmie
7. Zamknij okno relacji i zapisz wprowadzone zmiany.
(cid:109) W I C Z E N I E
3.7
Wprowadzenie przyk(cid:239)adowych danych
Po zdefiniowaniu (cid:239)(cid:200)cz(cid:200)cych tabele relacji nale(cid:285)y wprowadzi(cid:202) przy-
k(cid:239)adowe dane do tabel s(cid:239)ownikowych i podrz(cid:218)dnych.
Poleć książkęKup książkęRozdzia(cid:253) 3. • Relacje
69
Aby wprowadzi(cid:202) przyk(cid:239)adowe dane do bazy:
1. Wy(cid:258)wietl tabel(cid:218) Gatunek w widoku arkusza danych.
2. Wpisz nazwy kilku gatunków filmów.
3. Poniewa(cid:285) nie planujemy podczas wpisywania danych dodawania
do tabel bazy Filmoteka dodatkowych kolumn, nale(cid:285)y ukry(cid:202)
kolumn(cid:218) Dodaj nowe pole:
(cid:84) Rozwi(cid:241) menu Plik i kliknij przycisk Opcje.
(cid:84) Przejd(cid:283) na zak(cid:239)adk(cid:218) Bie(cid:285)(cid:200)ca baza danych.
(cid:84) Usu(cid:241) zaznaczenie pola wyboru W(cid:239)(cid:200)cz zmiany projektu
w tabelach w widoku arkusza danych.
(cid:84) Kliknij przycisk OK ((cid:285)eby zmiany zacz(cid:218)(cid:239)y obwi(cid:200)zywa(cid:202), mo(cid:285)e
by(cid:202) konieczne zamkni(cid:218)cie i ponowne otwarcie bazy danych).
4. Aby przekona(cid:202) si(cid:218), czy jest mo(cid:285)liwe wpisanie filmów
bez jednoczesnego okre(cid:258)lenia gatunku, re(cid:285)ysera czy aktora,
wprowad(cid:283) przyk(cid:239)adowe dane o kilku filmach. Zwró(cid:202) uwag(cid:218)
na mo(cid:285)liwo(cid:258)(cid:202) formatowania wpisywanych opinii (rysunek 3.14).
Rysunek 3.14. Przyk(cid:239)adowe dane wprowadzone do tabeli Film
5. Przekonaj si(cid:218), (cid:285)e chocia(cid:285) pole odno(cid:258)nika mo(cid:285)e zawiera(cid:202) warto(cid:258)(cid:202)
nieokre(cid:258)lon(cid:200) (warto(cid:258)(cid:202) Null), nie mo(cid:285)e zawiera(cid:202) warto(cid:258)ci
nieodpowiadaj(cid:200)cej jednemu z kluczy podstawowych powi(cid:200)zanej
tabeli. Innymi s(cid:239)owy, jest niemo(cid:285)liwe zaklasyfikowanie filmu
do nieistniej(cid:200)cego gatunku.
6. Zamknij okno tabeli Film.
7. Otwórz w widoku arkusza danych tabel(cid:218) Rezyser. Wpisz nazwiska
i imiona kilku re(cid:285)yserów.
Poleć książkęKup książkę70
Access 2016 PL • (cid:193) wiczenia praktyczne
8. Zamknij okno tabeli Rezyser i otwórz w widoku arkusza danych
tabel(cid:218) Aktor. Wpisz dane kilku aktorów.
9. Zamknij okno tabeli Aktor i raz jeszcze otwórz w widoku arkusza
danych tabel(cid:218) Film. Ustaw kursor w polu Gatunek pierwszego
z wpisanych filmów i kliknij wy(cid:258)wietlon(cid:200) z prawej strony pola
strza(cid:239)k(cid:218) — zobaczysz list(cid:218) nazw wprowadzonych gatunków
filmów (rysunek 3.15).
Rysunek 3.15. Gdy mamy ju(cid:285) dane w tabelach podrz(cid:218)dnych, wpisuj(cid:200)c dane
do tabeli nadrz(cid:218)dnej, mo(cid:285)emy si(cid:218) do nich odwo(cid:239)ywa(cid:202). W tym przyk(cid:239)adzie
niektóre kolumny zosta(cid:239)y ukryte — aby ukry(cid:202) wybrane kolumny, nale(cid:285)y
klikn(cid:200)(cid:202) ich nag(cid:239)ówek prawym przyciskiem myszy i z menu kontekstowego
wybra(cid:202) opcj(cid:218) Ukryj pola
10. Zwró(cid:202) uwag(cid:218), (cid:285)e jest niemo(cid:285)liwe dodawanie nowych rekordów
do tabel podrz(cid:218)dnych w widoku arkusza danych tabeli nadrz(cid:218)dnej.
Aby np. doda(cid:202) nowy gatunek filmów, nale(cid:285)y otworzy(cid:202) tabel(cid:218)
Gatunek, nie Film.
(cid:109) W I C Z E N I E
3.8
Tabela (cid:239)(cid:200)cznikowa
Tabele Film i Osoba s(cid:200) po(cid:239)(cid:200)czone zwi(cid:200)zkiem typu wiele do wielu.
Poniewa(cid:285) chcemy zapisa(cid:202) pewne informacje (takie jak daty po(cid:285)yczenia
i zwrotu) o samym fakcie wypo(cid:285)yczenia filmu, implementacja tego
zwi(cid:200)zku wymaga utworzenia dodatkowej tabeli (cid:239)(cid:200)cznikowej, w któ-
rej b(cid:218)d(cid:200) przechowywane warto(cid:258)ci kluczy podstawowych obu tabel.
W ten sposób relacja typu wiele do wielu zostanie zast(cid:200)piona dwoma
równorz(cid:218)dnymi relacjami typu wiele do jednego.
Poleć książkęKup książkęRozdzia(cid:253) 3. • Relacje
71
Aby zbudowa(cid:202) tabel(cid:218) (cid:239)(cid:200)cznikow(cid:200):
1. Utwórz now(cid:200) tabel(cid:218) w widoku projektu.
2. Za pomoc(cid:200) kreatora odno(cid:258)ników utwórz relacj(cid:218) (cid:239)(cid:200)cz(cid:200)c(cid:200) t(cid:218) tabel(cid:218)
z tabel(cid:200) Film (tak jak poprzednio, tabele musz(cid:200) by(cid:202) powi(cid:200)zane
na podstawie warto(cid:258)ci klucza podstawowego tabeli podrz(cid:218)dnej,
ale wy(cid:258)wietlane powinny by(cid:202) alfabetycznie u(cid:239)o(cid:285)one tytu(cid:239)y
filmów). Ta kolumna nie powinna przechowywa(cid:202) wielu warto(cid:258)ci.
3. Zapisz nowo tworzon(cid:200) tabel(cid:218) pod nazw(cid:200) Pozyczka. W odpowiedzi
na ostrze(cid:285)enie o braku zdefiniowanego klucza podstawowego
kliknij przycisk Nie — tabela (cid:239)(cid:200)cznikowa, przechowuj(cid:200)ca
wy(cid:239)(cid:200)cznie warto(cid:258)ci kluczy podstawowych powi(cid:200)zanych tabel,
nie wymaga dodatkowej kolumny klucza podstawowego.
4. Za pomoc(cid:200) kreatora odno(cid:258)ników utwórz relacj(cid:218) (cid:239)(cid:200)cz(cid:200)c(cid:200) t(cid:218) tabel(cid:218)
z tabel(cid:200) Osoba (tak jak poprzednio, tabele musz(cid:200) by(cid:202) powi(cid:200)zane
na podstawie warto(cid:258)ci klucza podstawowego tabeli podrz(cid:218)dnej,
ale wy(cid:258)wietlane powinny by(cid:202) alfabetycznie u(cid:239)o(cid:285)one nazwiska
osób). Równie(cid:285) pola tej kolumny nie b(cid:218)d(cid:200) przechowywa(cid:239)y wielu
warto(cid:258)ci.
5. Dodaj kolumny DataPozyczki i DataZwrotu typu Data/godzina
i o formacie Data d(cid:239)uga. Nadaj obu kolumnom odpowiednie
tytu(cid:239)y, a dla kolumny DataPozyczki dodatkowo okre(cid:258)l warto(cid:258)(cid:202)
domy(cid:258)ln(cid:200) — wynik funkcji Now (w ten sposób bie(cid:285)(cid:200)ca data
automatycznie b(cid:218)dzie dat(cid:200) po(cid:285)yczenia filmu).
6. Dodaj jeszcze kolumn(cid:218) Uwagi typu Nota i zezwól na formatowanie
uwag dotycz(cid:200)cych po(cid:285)yczenia przez dan(cid:200) osob(cid:218) wybranego filmu.
7. Na ko(cid:241)cu zaznacz dwie pierwsze kolumny tabeli (obie kolumny
odno(cid:258)ników) i kliknij widoczny na wst(cid:200)(cid:285)ce przycisk Klucz
podstawowy — w ten sposób kluczem tabeli Pozyczka b(cid:218)dzie
kombinacja identyfikatorów filmu i osoby (rysunek 3.16).
8. Zamknij okno projektu tabeli Pozyczka i wy(cid:258)wietl okno Relacje.
9. Kliknij przycisk Dodaj tabel(cid:218), a nast(cid:218)pnie zaznacz i dodaj
do diagramu tabele Pozyczka i Osoba.
10. Wykorzystaj umiej(cid:218)tno(cid:258)ci zdobyte w (cid:202)wiczeniu 3.5 i zmie(cid:241)
relacje (cid:239)(cid:200)cz(cid:200)ce tabele Film, Pozyczka i Osoba tak, aby SZBD
wymusza(cid:239) przestrzeganie wi(cid:218)zów integralno(cid:258)ci, kaskadowo
aktualizowa(cid:239) i kaskadowo usuwa(cid:239) powi(cid:200)zane pola (tabele
(cid:239)(cid:200)cznikowe s(cid:200) wyj(cid:200)tkiem – w ich wypadku kaskadowe usuwanie
bywa stosowane)(rysunek 3.17).
Poleć książkęKup książkę72
Access 2016 PL • (cid:193) wiczenia praktyczne
Rysunek 3.16. Gotowy projekt tabeli (cid:239)(cid:200)cznikowej (tabeli przechowuj(cid:200)cej
informacje o po(cid:285)yczonych ró(cid:285)nym osobom filmach)
Rysunek 3.17. Widok struktury bazy danych Filmoteka — taki uk(cid:239)ad tabel
jest nazywany diagramem E/R (Encja/Relacja)
(cid:109) W I C Z E N I E
3.9
Korzystanie z tabeli (cid:239)(cid:200)cznikowej
Dzi(cid:218)ki tabeli (cid:239)(cid:200)cznikowej Pozyczka b(cid:218)dzie mo(cid:285)liwe przechowywanie
w bazie danych informacji o tym, które osoby wypo(cid:285)yczy(cid:239)y dane filmy.
Nie ma przy tym (cid:285)adnych ogranicze(cid:241) zwi(cid:200)zanych z liczb(cid:200) filmów,
Poleć książkęKup książkęRozdzia(cid:253) 3. • Relacje
73
jakie mo(cid:285)e po(cid:285)yczy(cid:202) ta sama osoba, i liczb(cid:200) osób, mog(cid:200)cych wypo(cid:285)y-
czy(cid:202) ka(cid:285)dy film — tabele (cid:239)(cid:200)cznikowe s(cid:200) powszechnie stosowane do
tworzenia relacji typu wiele do wielu.
Aby wprowadzi(cid:202) do bazy informacje o wypo(cid:285)yczeniu i zwrocie filmów:
1. Otwórz w widoku arkusza danych tabel(cid:218) Osoba i wpisz dane
znajomych.
2. Zamknij okno tabeli Osoba i otwórz w widoku arkusza danych
tabel(cid:218) Pozyczka.
3. Kliknij pole Tytu(cid:239) i z listy tytu(cid:239)ów wybierz przyk(cid:239)adowy tytu(cid:239) filmu.
4. Przekonaj si(cid:218), (cid:285)e jest niemo(cid:285)liwe zapisanie danych o wypo(cid:285)yczeniu
filmu nieokre(cid:258)lonej osobie, tak samo jak niemo(cid:285)liwe jest
wypo(cid:285)yczenie wskazanej osobie nieokre(cid:258)lonego filmu — Access
nie pozwala na wpisywanie warto(cid:258)ci Null do kolumn klucza
podstawowego tabeli.
5. Ustaw kursor w polu Nazwisko i z listy nazwisk wybierz nazwisko
znajomego.
6. Zwró(cid:202) uwag(cid:218), (cid:285)e data wypo(cid:285)yczenia zosta(cid:239)a automatycznie
ustalona na dzisiejsz(cid:200). Wpisanie daty zwrotu b(cid:218)dzie oznacza(cid:239)o
oddanie filmu.
7. Wpisz przyk(cid:239)adowe dane do tabeli. Zwró(cid:202) uwag(cid:218), (cid:285)e:
(cid:84) Ten sam film mo(cid:285)e by(cid:202) wielokrotnie wypo(cid:285)yczony.
(cid:84) Ta sama osoba mo(cid:285)e po(cid:285)yczy(cid:202) dowoln(cid:200) liczb(cid:218) filmów.
(cid:84) Daty, zamiast wpisywa(cid:202), mo(cid:285)na wybiera(cid:202) z kalendarza.
(cid:84) Uwagi mog(cid:200) by(cid:202) dowolnie formatowane (rysunek 3.18).
Rysunek 3.18. Tabela (cid:239)(cid:200)cznikowa umo(cid:285)liwiaj(cid:200)ca odzwierciedlanie zwi(cid:200)zków
typu wiele do wielu
Poleć książkęKup książkę74
Access 2016 PL • (cid:193) wiczenia praktyczne
Poleć książkęKup książkę
Pobierz darmowy fragment (pdf)