Ćwiczenie 4 – Relacje między tabelami

Transkrypt

Ćwiczenie 4 – Relacje między tabelami
Ćwiczenie 4 – Relacje między tabelami
W relacyjnej bazie danych tabele są połączone relacjami, dzięki którym możemy wyszukiwać i modyfikować dane
w wielu tabelach jednocześnie. Dane wprowadzone do jednej tabeli można wykorzystywać przy wprowadzaniu
danych do innych tabel. Pole, które pobiera dane z innej tabeli, nazywamy kluczem obcym (pole typu Odnośnik
w Accessie).
Istnieje kilka typów relacji:
 1 do 1 (1:1) – jeden rekord pierwszej tabeli odpowiada dokładnie jednemu rekordowi drugiej tabeli
(relacja stosowana, gdy dzielimy jedną tabelę o dużej ilości pól na kilka mniejszych); relacja łączy ze sobą
klucze podstawowe w tabelach.
 1 do wielu (1:n) – jeden rekord pierwszej tabeli odpowiada wielu rekordom drugiej tabeli
(najpopularniejszy rodzaj relacji); klucz podstawowy w pierwszej tabeli jest związany z kluczem
zewnętrznym w drugiej tabeli.
 Wiele do wielu (n:m) – wiele rekordów pierwszej tabeli odpowiada wielu rekordom drugiej tabeli.
Relacje łączą ze sobą pola o odpowiadającej sobie wartości.
W środowisku Access relacje można ustawiać oraz edytować w menu Narzędzia/Relacje. Ważną właściwością
relacji jest wymuszenie więzów integralności. Po włączeniu tej opcji nie będzie można usunąć rekordu, jeśli w
ten sposób po drugiej stronie relacji miałby powstać „bezpański” rekord. Np. w poniższej bazie nie będzie można
usunąć danych o wykonawcy (tabela Wykonawcy), jeśli w tabeli Tytuły znajdują się jego płyty.
Przykład
Połącz relacjami tabele w bazie danych Biblioteka
Rozwiązanie:
1. Otwórz okno Relacje z menu Narzędzia
2. Dodaj tabele Książka, Autor i Wolumin
3. Połącz relacją tabelę Książka z tabelą Autor. Pole Autor w tabeli Książka powinno łączyć się z polem
Identyfikator w tabeli Autor. Będzie to relacja jeden do wielu, gdyż jeden człowiek może być autorem
wielu książek.
4. Połącz relacją tabelę Wolumin z tabelą Książka. Pole ISBN w tabeli Wolumin powinno łączyć się z polem
ISBN w tabeli Książka. Będzie to relacja jeden do wielu, gdyż w tabeli Wolumin może być wiele
egzemplarzy tej samej książki.
5. Wymuś więzy integralności, wybierając z menu kontekstowego (wyświetlanego kliknięciem prawym
przyciskiem myszy) dla relacji Edytuj.
Etapy projektowania relacyjnej bazy danych
1. Analiza potrzeb. Określenie celu tworzenia bazy danych
2. Zaprojektowanie tabel (definicja pól i ich właściwości, określenie kluczy podstawowych).
3. Normalizacja bazy danych (sprawdzenie poprawności projektu i usunięcie ewentualnych usterek).
4. Zaprojektowanie relacji pomiędzy tabelami.
5. Wprowadzenie danych oraz utworzenie dodatkowych obiektów w bazie (formularzy, kwerend, raportów).
Dobrze zaprojektowana baza umożliwia sprawne wprowadzanie, wyszukiwanie i modyfikowanie danych, dlatego
etap projektowania jest tak ważny.
Zadania do samodzielnego wykonania:
1. Połącz odpowiednimi relacjami tabele w bazie urządzenia peryferyjne.
2. Zaprojektuj relacyjną bazę danych wspomagającą pracę firmy kurierskiej. W bazie powinny być
przechowywane informacje o przesyłkach, w tym nadawcy i odbiorcy, dacie i czasie nadania i odbioru; o
pracowniku realizującym zlecenie oraz o wartości przesyłki i pobranej opłacie.
3. Zaprojektuj relacyjną bazę danych (tabele, pola, właściwości pól, relacje) umożliwiającą przechowywanie
informacji o podziale geopolitycznym świata na kontynenty i państwa oraz zawierającą dane o
największych miastach (nie tylko stolicach).
4. Zaprojektuj relacyjną bazę danych wspomagającą pracę wypożyczalni samochodów. W bazie powinny
być przechowywane informacje o samochodach, klientach i wypożyczeniach.