background image

Przewodnik 

po 

relacjach 

pomiędzy 

tabelami 

Celem  tworzenia  dobrych  projektów  baz  danych  jest  między  innymi  wyeliminowanie 
nadmiarowości danych (czyli danych zduplikowanych). Aby osiągnąć ten cel, najpierw dzieli 
się  dane  na  wiele  tabel  tematycznych,  tak  aby  każdy  fakt  był  reprezentowany  tylko  raz. 
Następnie  w  programie  Microsoft  Office  Access  2007  określa  się  sposób  ponownego 
zestawiania tych podzielonych informacji — w tym celu w tabelach powiązanych umieszcza 
się  pola  wspólne.  Jednak  aby  poprawnie  wykonać  tę  czynność,  należy  najpierw  zrozumieć 
relacje  występujące  pomiędzy  tabelami,  a  następnie  określić  te  relacje  w  bazie  danych 
programu Office Access 2007. 

Aby  uzyskać  więcej  informacji,  zobacz  artykuł  Podstawowe  informacje  o  projekcie  bazy 
danych.
 

W tym artykule 

Wprowadzenie  

Typy relacji pomiędzy tabelami  

Dlaczego warto tworzyć relacje pomiędzy tabelami?  

Opis więzów integralności  

Wyświetlanie relacji pomiędzy tabelami  

Tworzenie relacji pomiędzy tabelami  

Usuwanie relacji pomiędzy tabelami  

Zmienianie relacji pomiędzy tabelami  

Wymuszanie więzów integralności  

Wprowadzenie 

Po utworzeniu tabeli odpowiadającej każdemu tematowi w bazie danych należy w programie 
Office  Access  2007  określić  sposób,  który  umożliwi  ponowne  zestawienie  tych  informacji, 
jeśli okaże się to potrzebne. W tym celu umieszcza się pola wspólne w powiązanych ze sobą 
tabelach  oraz  definiuje  relacje  pomiędzy  tabelami.  Następnie  można  tworzyć  kwerendy, 
formularze i raporty, dzięki którym będą wyświetlane informacje z kilku tabel jednocześnie. 
Przykładowy formularz przedstawiony poniżej zawiera informacje pochodzące z kilku tabel: 

background image

 

1. Informacje w tym formularzu pochodzą z tabeli Klienci... 

2. ...tabeli Zamówienia... 

3. ...tabeli Produkty... 

4. ...oraz tabeli Szczegóły zamówień. 

Nazwa  klienta  w  polu  Faktura  dla  jest  pobierana  z  tabeli  Klienci,  wartości  identyfikatora 
zamówienia  i  daty  zamówienia  pochodzą  z  tabeli  Zamówienia,  nazwa  produktu  pochodzi  z 
tabeli  Produkty,  a  wartości  ceny  jednostkowej  i  ilości  —  z  tabeli  Szczegóły  zamówień.  Te 
tabele  są  powiązane  ze  sobą  wzajemnie  w  różny  sposób,  co  umożliwia  przekazywanie 
informacji z poszczególnych tabel do formularza. 

W  powyższym  przykładzie  konieczna  jest  koordynacja  pól  w  tabelach,  która  zagwarantuje 
wyświetlenie  informacji  dotyczących  tego  samego  zamówienia.  Taką  koordynację  uzyskuje 
się  dzięki  relacjom  pomiędzy  tabelami.  Relacja  pomiędzy  tabelami  działa  przez 
dopasowywanie  danych  w  polach  kluczy —  często  są  to  pola  o  tej  samej  nazwie  w  obu 
tabelach. W większości przypadków te pasujące  pola to  klucz podstawowy z jednej  tabeli, 
dostarczający unikatowego identyfikatora każdego rekordu, oraz klucz obcy w drugiej tabeli. 
Pracowników można na przykład skojarzyć z zamówieniami, za które odpowiadają, tworząc 
relację wykorzystującą pole Identyfikator pracownika z tabel Pracownicy i Zamówienia. 

 

1. Pole Identyfikator pracownika występuje w obu tabelach — jako klucz podstawowy... 

2. ...oraz jako klucz obcy. 

Początek strony  

Typy relacji pomiędzy tabelami  

Występują trzy typy relacji pomiędzy tabelami. 

background image

 

Relacja jeden-do-wielu 

Rozważmy  przykład  bazy  danych  do  śledzenia  zamówień,  która  zawiera  tabelę 
Klienci  i  tabelę  Zamówienia.  Klient  może  złożyć  dowolną  liczbę  zamówień.  W 
związku  z  tym  każdemu  klientowi  reprezentowanemu  w  tabeli  Klienci  może 
odpowiadać wiele zamówień reprezentowanych w tabeli Zamówienia. Dlatego relacja 
pomiędzy tabelą Klienci a tabelą Zamówienia to relacja jeden-do-wielu. 

Aby  w  projekcie  bazy  danych  utworzyć  relację  jeden-do-wielu,  należy  klucz 
podstawowy  znajdujący  się  po  stronie  „jeden”  relacji  dodać  jako  pole  lub  pola  do 
tabeli po stronie „wiele” tej relacji. W tym przykładzie należy dodać nowe pole — jest 
to  pole  identyfikatora  z  tabeli  Klienci —  do  tabeli  Zamówienia  i  nadać  mu  nazwę 
Identyfikator  klienta.  Dzięki  temu  program  Access  będzie  mógł  za  pomocą  numeru 
identyfikacyjnego klienta wyszukać właściwego klienta dla każdego zamówienia. 

 

Relacja wiele-do-wielu 

Rozważmy  przykład  relacji  pomiędzy  tabelą  Produkty  a  tabelą  Zamówienia.  Jedno 
zamówienie może obejmować wiele produktów. Z drugiej strony jeden produkt może 
się znaleźć w wielu zamówieniach. Dlatego każdemu rekordowi z tabeli Zamówienia 
może  odpowiadać  wiele  rekordów  z  tabeli  Produkty.  Ponadto  każdemu  rekordowi  z 
tabeli Produkty może odpowiadać wiele rekordów z tabeli Zamówienia. Relacja tego 
typu  jest  nazywana  relacją  wiele-do-wielu,  ponieważ  każdemu  produktowi  może 
odpowiadać  wiele  zamówień,  a  każdemu  zamówieniu  —  wiele  produktów.  Należy 
zauważyć, że aby wykryć istniejące relacje wiele-do-wielu pomiędzy tabelami, trzeba 
się przyjrzeć obu stronom relacji. 

Aby  utworzyć  relację  wiele-do-wielu,  należy  utworzyć  trzecią  tabelę,  często  zwaną 
tabelą  skrzyżowań,  która  rozbija  relację  wiele-do-wielu  na  dwie  relacje  jeden-do-
wielu. Do tej trzeciej tabeli wstawia się klucze podstawowe z obu pierwotnych tabel. 
Skutkiem tego trzecia tabela rejestruje każde wystąpienie relacji. Tabele Zamówienia i 
Produkty  są  na  przykład  powiązane  relacją  wiele-do-wielu  zdefiniowaną  przez 
utworzenie  dwóch  relacji  jeden-do-wielu  z  tabelą  Szczegóły  zamówień.  Każde 
zamówienie może dotyczyć wielu  produktów, a  każdy produkt  może występować  w 
wielu zamówieniach. 

 

Relacja jeden-do-jednego 

W relacji jeden-do-jednego z każdym rekordem w pierwszej tabeli może być związany 
tylko  jeden  pasujący  rekord  w  drugiej  tabeli,  a  z  każdym  rekordem  w  drugiej  tabeli 
może być związany tylko jeden pasujący rekord w pierwszej tabeli. Ten typ relacji jest 
nietypowy,  ponieważ  najczęściej  informacje  powiązane  w  ten  sposób  są 
przechowywane w jednej tabeli. Za pomocą relacji jeden-do-jednego można podzielić 
tabelę z wieloma polami, odizolować fragment tabeli ze względów bezpieczeństwa lub 
przechowywać  informacje  odnoszące  się  tylko  do  podzbioru  tabeli  głównej. 
Określenie takiej relacji wymaga, aby obie tabele używały wspólnego pola. 

Początek strony  

Dlaczego warto tworzyć relacje pomiędzy tabelami? 

background image

Relacje pomiędzy tabelami można tworzyć bezpośrednio za pomocą okna Relacje lub przez 
przeciągnięcie  pola  z  okienka  Lista  pól.  Przy  użyciu  relacji  pomiędzy  tabelami  program 
Office  Access  2007  określa  sposób  sprzęgania  tabel,  gdy  trzeba  ich  użyć  w  obiekcie  bazy 
danych. Istnieje kilka powodów, dla których warto tworzyć relacje pomiędzy tabelami przed 
tworzeniem innych obiektów bazy danych, takich jak formularze, kwerendy i raporty. 

 

Relacje pomiędzy tabelami pomagają w projektowaniu kwerend 

Aby  pracować  z  rekordami  z  więcej  niż  jednej  tabeli,  często  należy  utworzyć 
kwerendę sprzęgającą te tabele. Kwerenda działa przez dopasowywanie wartości pola 
klucza  podstawowego  pierwszej  tabeli  do  pola  klucza  obcego  drugiej  tabeli.  Aby  na 
przykład zwrócić wiersze zawierające zamówienia każdego klienta, należy  utworzyć 
kwerendę  sprzęgającą  tabelę  Klienci  z  tabelą  Zamówienia  przy  użyciu  pola 
Identyfikator klienta. W oknie Relacje można ręcznie określić pola do sprzężenia. Jeśli 
jednak pomiędzy tabelami jest już zdefiniowana relacja, program Office Access 2007 
podaje  sprzężenie  domyślne  na  podstawie  istniejącej  relacji  pomiędzy  tabelami. 
Ponadto jeśli używany jest jeden z kreatorów kwerend, program Access przy użyciu 
informacji  zebranych  z  już  zdefiniowanych  relacji  pomiędzy  tabelami  przedstawia 
rozszerzone  opcje  do  wyboru  i  wstępnie  uzupełnia  ustawienia  właściwości 
odpowiednimi wartościami domyślnymi. 

 

Relacje pomiędzy tabelami pomagają w projektowaniu formularzy i raportów 

Podczas  projektowania  formularza  lub  raportu  program  Office  Access  2007  przy 
użyciu  informacji  zebranych  z  już  zdefiniowanych  relacji  pomiędzy  tabelami 
przedstawia  rozszerzone  opcje  do  wyboru  i  wstępnie  uzupełnia  ustawienia 
właściwości odpowiednimi wartościami domyślnymi. 

 

Relacje  pomiędzy  tabelami  to  podstawa,  dzięki  której  można  wymuszać  więzy 
integralności  zapobiegające  powstawaniu  rekordów  odłączonych  w  bazie  danych. 
Rekord  odłączony  to  rekord  odwołujący  się  do  rekordu,  który  nie  istnieje —  na 
przykład rekord zamówienia, który odwołuje się do nieistniejącego rekordu klienta. 

Podczas  projektowania  bazy  danych  posiadane  informacje  dzieli  się  na  tabele,  z 
których każda ma klucz podstawowy. Następnie  w tabelach powiązanych dodaje się 
klucze obce, które odwołują się do kluczy podstawowych. Te pary klucz obcy-klucz 
podstawowy  stanowią  podstawę  relacji  pomiędzy  tabelami  i  kwerend 
wielotabelowych.  Dlatego  ważne  jest  synchronizowanie  tych  odwołań  klucz  obcy-
klucz  podstawowy.  Więzy  integralności  pomagają  w  synchronizowaniu  odwołań  i 
zależą od relacji pomiędzy tabelami. 

Początek strony  

Opis więzów integralności 

Podczas  projektowania  bazy  danych  informacje  dzieli  się  na  wiele  tabel  tematycznych,  aby 
zminimalizować nadmiarowość danych. Następnie w programie Office Access 2007 określa 
się  sposób  ponownego  zestawiania  danych,  umieszczając  pola  wspólne  w  powiązanych 
tabelach. Aby na przykład utworzyć relację jeden-do-wielu, należy klucz podstawowy z tabeli 
po stronie „jeden” dodać jako pole w tabeli po stronie „wiele”. Aby ponownie zestawić dane, 

background image

program Access sprawdza wartość w tabeli po stronie „wiele” i wyszukuje odpowiadającą jej 
wartość  w  tabeli  po  stronie  „jeden”.  Dzięki  temu  wartości  w  tabeli  po  stronie  „wiele” 
odwołują się do odpowiednich wartości w tabeli po stronie „jeden”. 

Przypuśćmy,  że  istnieje  relacja  jeden-do-wielu  między  tabelami  Spedytorzy  i  Zamówienia 
oraz  trzeba  usunąć  pewnego  spedytora.  Jeśli  usuwanemu  spedytorowi  odpowiadają 
zamówienia w tabeli Zamówienia, to po usunięciu rekordu spedytora staną się one rekordami 
odłączonymi.  Zamówienia te będą wciąż zawierać identyfikator spedytora, ale identyfikator 
ten  nie  będzie  już  prawidłowy,  ponieważ  przestanie  istnieć  rekord,  do  którego  on  się 
odwołuje.  

Więzy  integralności  mają  na  celu  zapobieganie  powstawaniu  rekordów  odłączonych  i 
synchronizowanie odwołań, tak aby ta teoretyczna sytuacja nigdy nie wystąpiła.  

Więzy  integralności  wymusza  się  przez  włączenie  ich  dla  relacji  pomiędzy  tabelami  (aby 
uzyskać  instrukcje  krok  po  kroku,  zobacz  Włączanie  więzów  integralności).  Jeśli  więzy 
integralności  są  wymuszone,  program  Access  odrzuca  każdą  operację,  która  naruszyłaby  te 
więzy w danej  relacji pomiędzy tabelami. Oznacza to,  że program  Access odrzuci  zarówno 
aktualizacje  zmieniające  obiekt  docelowy  odwołania,  jak  i  operacje  usuwające  obiekt 
docelowy  odwołania.  Możliwe  jednak,  że  wystąpi  całkowicie  uzasadniona  potrzeba  zmiany 
klucza podstawowego spedytora, któremu odpowiadają zamówienia w tabeli Zamówienia. W 
takim przypadku tak naprawdę potrzebna jest automatyczna aktualizacja wszystkich wierszy, 
na  które  wpływa  ta  zmiana,  w  ramach  jednej  operacji.  W  ten  sposób  program  Access 
gwarantuje wykonanie pełnej aktualizacji, dzięki czemu baza danych nie będzie niespójna w 
wyniku  zaktualizowania  tylko  niektórych  wierszy.  W  tym  celu  program  Access  udostępnia 
opcję Kaskadowo aktualizuj  pola pokrewne. Gdy użytkownik wymusi więzy integralności i 
wybierze  opcję  Kaskadowo  aktualizuj  pola  pokrewne,  a  następnie  zaktualizuje  klucz 
podstawowy, program Access automatycznie zaktualizuje wszystkie pola, które odwołują się 
do klucza podstawowego. 

Ponadto  może  wystąpić  uzasadniona  potrzeba  usunięcia  wiersza  i  wszystkich  wierszy 
pokrewnych — na przykład rekordu Spedytor i wszystkich zamówień powiązanych z danym 
spedytorem.  W  programie  Access  służy  do  tego  opcja  Kaskadowo  usuń  rekordy  pokrewne. 
Gdy  użytkownik  wymusi  więzy  integralności  i  wybierze  opcję  Kaskadowo  usuń  rekordy 
pokrewne,  a  następnie  usunie  rekord  po  stronie  relacji,  po  której  znajduje  się  klucz 
podstawowy,  program  Access  automatycznie  usunie  wszystkie  rekordy  odwołujące  się  do 
klucza podstawowego. 

Początek strony  

Wyświetlanie relacji pomiędzy tabelami 

Aby  wyświetlić  relacje  pomiędzy  tabelami,  kliknij  przycisk  Relacje  na  karcie  Narzędzia 
bazy danych
. Zostanie otwarte okno Relacje, w którym będą wyświetlone istniejące relacje. 
Jeśli nie ma jeszcze zdefiniowanych relacji pomiędzy tabelami i okno Relacje jest otwierane 
pierwszy raz, pojawi się monit o dodanie do okna tabeli lub kwerendy. 

Otwieranie okna Relacje 

background image

1.  Kliknij przycisk Microsoft Office 

, a następnie kliknij polecenie Otwórz

2.  W oknie dialogowym Otwieranie wybierz i otwórz bazę danych. 
3.  Na  karcie  Narzędzie  bazy  danych  w  grupie  Pokazywanie/ukrywanie  kliknij 

przycisk Relacje

 

4.  Jeśli  baza  danych  zawiera  relacje,  zostanie  wyświetlone  okno  Relacje.  Jeśli  baza 

danych  nie  zawiera  relacji  i  okno  Relacje  jest  otwierane  pierwszy  raz,  zostanie 
wyświetlone  okno  dialogowe  Pokazywanie  tabeli.  Kliknij  przycisk  Zamknij,  aby 
zamknąć okno dialogowe. 

5.  Na karcie Projektowanie w grupie Relacje kliknij przycisk Wszystkie relacje

Zostaną  wyświetlone  wszystkie  relacje  zdefiniowane  w  bazie  danych.  Należy 
pamiętać, że tabele ukryte (czyli tabele, dla których zaznaczono pole wyboru Ukryta 
w oknie dialogowym Właściwości) oraz ich relacje nie zostaną wyświetlone, chyba że 
w oknie dialogowym Opcje nawigacji jest wybrana opcja Pokaż ukryte obiekty. 

Aby  uzyskać  więcej  informacji  na  temat  opcji  Pokaż  ukryte  obiekty,  zobacz 
Przewodnik po okienku nawigacji. 

 

1. Klucz podstawowy 

2. Linia reprezentująca relację 

3. Klucz obcy 

Relację  pomiędzy  tabelami  reprezentuje  linia  relacji  narysowana  między  tabelami  w  oknie 
Relacje. Jeśli w relacji nie są wymuszane więzy integralności, to ma ona postać cienkiej linii 
między  polami  wspólnymi  obsługującymi  relację.  Zaznaczenie  relacji  przez  kliknięcie  linii 
powoduje  pogrubienie  tej  linii.  Jeśli  w  relacji  są  wymuszane  więzy  integralności,  linia  jest 
grubsza na obu końcach. Ponadto nad grubszym fragmentem linii po jednej stronie relacji jest 
wyświetlana liczba 1, a nad grubszym fragmentem po drugiej stronie jest wyświetlany symbol 
nieskończoności (). 

Gdy  okno  Relacje  jest  aktywne,  dostępne  są  następujące  polecenia  na  Wstążce  (interfejs 
użytkownika Microsoft Office Fluent): 

background image

Na karcie Projektowanie w grupie Narzędzia

 

Edytuj  relacje    Otwiera  okno  dialogowe  Edytowanie  relacji.  Po  zaznaczeniu  linii 
relacji  można  kliknąć  przycisk  Edytuj  relacje,  aby  zmienić  relację  pomiędzy 
tabelami. Można także kliknąć dwukrotnie linię relacji. 

 

Wyczyść układ    Usuwa wszystkie tabele i relacje z widoku w oknie Relacje. Należy 
pamiętać,  że  to  polecenie  tylko  ukrywa  tabele  i  relacje —  nie  usuwa  ich  w 
rzeczywistości. 

 

Raport relacji    Tworzy raport, w którym wyświetlane są tabele i  relacje zawarte w 
bazie  danych.  Raport  pokazuje  tylko  tabele  i  relacje,  które  nie  są  ukryte  w  oknie 
Relacje. 

Na karcie Projektowanie w grupie Relacje

 

Pokaż tabelę    Otwiera okno dialogowe Pokazywanie tabeli, umożliwiając wybranie 
tabel i kwerend do wyświetlenia w oknie Relacje. 

 

Ukryj tabelę    Ukrywa wybraną tabelę w oknie Relacje. 

 

Relacje  bezpośrednie    Wyświetla  w  oknie  Relacje  wszystkie  relacje  i  tabele 
powiązane odpowiadające wybranej tabeli (jeśli nie są jeszcze wyświetlone). 

 

Wszystkie  relacje    Wyświetla  w  oknie  Relacje  wszystkie  relacje  i  tabele  pokrewne 
znajdujące  się  w  bazie  danych.  Należy  pamiętać,  że  tabele  ukryte  (czyli  tabele,  dla 
których zaznaczono pole wyboru Ukryta w oknie dialogowym Właściwości) oraz ich 
relacje nie zostaną wyświetlone, chyba że w oknie dialogowym Opcje nawigacji jest 
wybrana opcja Pokaż ukryte obiekty. 

Aby  uzyskać  więcej  informacji  na  temat  opcji  Pokaż  ukryte  obiekty,  zobacz 
Przewodnik po okienku nawigacji. 

 

Zamknij    Zamyka okno Relacje. Jeśli w układzie okna Relacje zostały wprowadzone 
zmiany, zostanie wyświetlony monit o ich zapisanie. 

Początek strony  

Tworzenie relacji pomiędzy tabelami 

Relację  pomiędzy  tabelami  można  utworzyć  przy  użyciu  okna  Relacje  lub  przez 
przeciągnięcie  pola  do  arkusza  danych  z  okienka  Lista  pól.  Podczas  tworzenia  relacji 
pomiędzy  tabelami  pola  wspólne  nie  muszą  mieć  tych  samych  nazw  (choć  często  mają). 
Ważniejsze  jest  to,  że  pola  wspólne  muszą  mieć  ten  sam  typ  danych.  Jednak  jeśli  polem 
klucza  podstawowego  jest  pole  typu  Autonumerowanie,  polem  klucza  obcego  może  być 
również pole typu Liczba, o ile właściwość RozmiarPola obu pól jest taka sama. Na przykład 
pole  typu  Autonumerowanie  można  powiązać  z  polem  typu  Liczba,  jeśli  właściwość 
RozmiarPola  obu  tych  pól  ma  wartość  Liczba  całkowita  długa.  Gdy  oba  pola  wspólne  są 
polami typu Liczba, muszą mieć takie samo ustawienie właściwości RozmiarPola

Tworzenie relacji pomiędzy tabelami za pomocą okna Relacje 

1.  Kliknij przycisk Microsoft Office 

, a następnie kliknij polecenie Otwórz

2.  W oknie dialogowym Otwieranie wybierz i otwórz bazę danych. 

background image

3.  Na  karcie  Narzędzie  bazy  danych  w  grupie  Pokazywanie/ukrywanie  kliknij 

przycisk Relacje

 

4.  Jeśli  nie  zostały  jeszcze  zdefiniowane  relacje,  zostanie  automatycznie  wyświetlone 

okno  dialogowe  Pokazywanie  tabeli.  Jeśli  nie  zostanie  ono  wyświetlone,  na  karcie 
Projektowanie w grupie Relacje kliknij przycisk Pokaż tabelę

W  oknie  dialogowym  Pokazywanie  tabeli  są  wyświetlane  wszystkie  tabele  i 
kwerendy zawarte w bazie danych. Aby zobaczyć tylko tabele, kliknij kartę  Tabele
Aby  zobaczyć  tylko  kwerendy,  kliknij  kartę  Kwerendy.  Aby  zobaczyć  tabele  i 
kwerendy, kliknij kartę Obie

5.  Zaznacz jedną lub kilka tabel albo kwerend, a następnie kliknij przycisk  Dodaj. Gdy 

zakończysz dodawanie tabel i kwerend do okna Relacje, kliknij przycisk Zamknij

6.  Przeciągnij  pole  (zwykle  klucz  podstawowy)  z  jednej  tabeli  do  pola  wspólnego 

(klucza  obcego)  w  drugiej  tabeli.  Aby  przeciągnąć  kilka  pól,  przed  przeciągnięciem 
kliknij kolejne pola przy naciśniętym klawiszu CTRL. 

Zostanie wyświetlone okno dialogowe Edytowanie relacji

7.  Sprawdź,  czy  pokazane  nazwy  pól  oznaczają  pola  wspólne  relacji.  Jeśli  nazwa  pola 

jest niepoprawna, kliknij ją i wybierz z listy nowe pole. 

Aby w relacji wymusić  więzy integralności, zaznacz pole wyboru  Wymuszaj więzy 
integralności
. Aby uzyskać więcej informacji na temat więzów integralności, zobacz 
sekcje Opis więzów integralności oraz Wymuszanie więzów integralności. 

8.  Kliknij przycisk Utwórz

Między  dwiema  tabelami  zostanie  narysowana  linia  relacji.  Jeśli  zostało  zaznaczone 
pole  wyboru  Wymuszaj  więzy  integralności,  linia  będzie  grubsza  na  obu  końcach. 
Ponadto,  jeśli  zostało zaznaczone pole wyboru  Wymuszaj więzy integralności, nad 
grubszym odcinkiem linii po jednej stronie relacji zostanie wyświetlona liczba 1, a nad 
grubszym  odcinkiem  linii  po  drugiej  stronie  zostanie  wyświetlony  symbol 
nieskończoności (). 

background image

 

Uwagi    

 

Tworzenie  relacji  jeden-do-jednego    Oba  pola  wspólne  (zwykle  pola  klucza 
podstawowego  i  klucza  obcego)  muszą  mieć  unikatowy  indeks.  Oznacza  to,  że 
właściwość Indeksowane tych pól powinna być ustawiona na Tak (Bez duplikatów)
Jeśli  oba  pola  mają  unikatowy  indeks,  program  Access  tworzy  relację  jeden-do-
jednego. 

 

Tworzenie  relacji  jeden-do-wielu    Pole  po  stronie  „jeden”  relacji  (zwykle  pole 
klucza  podstawowego)  musi  mieć  unikatowy  indeks.  Oznacza  to,  że  właściwość 
Indeksowane  tego  pola  powinna  być  ustawiona  na  Tak  (Bez  duplikatów).  Pole  po 
stronie „wiele” nie powinno mieć unikatowego indeksu. Może mieć indeks, ale musi 
zezwalać  na  duplikaty.  Oznacza  to,  że  właściwość  Indeksowane  tego  pola  powinna 
być  ustawiona  na  Nie  lub  Tak  (Duplikaty  OK).  Gdy  jedno  pole  ma  unikatowy 
indeks, a drugie nie, program Access tworzy relację jeden-do-wielu. 

Tworzenie relacji pomiędzy tabelami za pomocą okienka Lista pól 

W programie Office Access 2007 można dodać pole do istniejącej tabeli otwartej w widoku 
arkusza danych, przeciągając je z okienka Lista pól. W okienku Lista pól są pokazane pola 
dostępne w tabelach powiązanych oraz pola dostępne w innych tabelach. Przeciągnięcie pola 
z  „innej”  (niepowiązanej)  tabeli,  a  następnie  wykonanie  wszystkich  kroków  Kreatora 
odnośników,  spowoduje  automatyczne  utworzenie  nowej  relacji  jeden-do-wielu  pomiędzy 
tabelą  z  okienka  Lista  pól  a  tabelą,  do  której  zostało  przeciągnięte  pole.  W  tej  relacji, 
utworzonej przez program Access, domyślnie nie są wymuszane więzy integralności. Więzy 
integralności  można  wymusić  przez  edycję  relacji.  Aby  uzyskać  więcej  informacji,  zobacz 
sekcję Zmienianie relacji pomiędzy tabelami. 

Otwieranie tabeli w widoku arkusza danych 

1.  Kliknij przycisk Microsoft Office 

, a następnie kliknij polecenie Otwórz

2.  W oknie dialogowym Otwieranie wybierz i otwórz bazę danych. 
3.  W  okienku  nawigacji  kliknij  prawym  przyciskiem  myszy  tabelę,  do  której  chcesz 

dodać  pole  w  celu  utworzenia  relacji,  a  następnie  kliknij  polecenie  Widok  arkusza 
danych
 w menu skrótów. 

background image

Otwieranie okienka Lista pól 

 

Na karcie Arkusz danych w grupie Pola i kolumny kliknij przycisk Dodaj istniejące 
pola

 

Zostanie wyświetlone okienko Lista pól

W  okienku  Lista  pól  są  wyświetlane  wszystkie  inne  tabele  z  bazy  danych,  pogrupowane  w 
kategorie.  Gdy  użytkownik  pracuje  z  tabelą  w  widoku  bazy  danych,  program  Access 
wyświetla  pola  w  okienku  Lista  pól  w  jednej  z  dwóch  kategorii:  Pola  dostępne  w 
powiązanych  tabelach
  i  Pola  dostępne  w  innych  tabelach.  W  pierwszej  kategorii  są 
wymienione wszystkie tabele, które pozostają w relacji z aktualnie opracowywaną tabelą, w 
drugiej zaś — wszystkie tabele, z którymi ta tabela nie ma relacji. 

W  okienku  Lista  pól  należy  kliknąć  znak  plus  (+)  obok  nazwy  tabeli,  aby  wyświetlić  listę 
wszystkich  dostępnych  w  niej  pól.  Aby  dodać  pole  do  opracowywanej  tabeli,  należy 
przeciągnąć żądane pole z okienka Lista pól do tabeli w widoku arkusza danych. 

Dodawanie pola i tworzenie relacji za pomocą okienka Lista pól 

1.  Na karcie Arkusz danych w grupie Pola i kolumny kliknij przycisk Dodaj istniejące 

pola

 

Zostanie wyświetlone okienko Lista pól

2.  W  obszarze  Pola  dostępne  w  innych  tabelach  kliknij  znak  plus  (+)  obok  nazwy 

tabeli, aby wyświetlić listę pól zawartych w tej tabeli. 

3.  Przeciągnij  żądane  pole  z  okienka  Lista  pól  do  tabeli  otwartej  w  widoku  arkusza 

danych. 

4.  Gdy zostanie wyświetlony wiersz wstawiania, upuść pole w odpowiednim miejscu. 

Zostanie uruchomiony Kreator odnośników

5.  Postępuj zgodnie z instrukcjami, aby zakończyć pracę z Kreatorem odnośników

Pole pojawi się w tabeli w widoku arkusza danych. 

Przeciągnięcie  pola  z  „innej”  (niepowiązanej)  tabeli,  a  następnie  wykonanie  wszystkich 
kroków  Kreatora  odnośników,  spowoduje  automatyczne  utworzenie  nowej  relacji  jeden-do-

background image

wielu pomiędzy tabelą z okienka Lista pól a tabelą, do której zostało przeciągnięte pole. W 
tej  relacji,  utworzonej  przez  program  Access,  domyślnie  nie  są  wymuszane  więzy 
integralności. Więzy integralności można wymusić przez edycję relacji. Aby uzyskać więcej 
informacji, zobacz sekcję Zmienianie relacji pomiędzy tabelami. 

Początek strony  

Usuwanie relacji pomiędzy tabelami 

Aby usunąć relację pomiędzy tabelami,  należy usunąć linię relacji w oknie Relacje. Należy 
starannie  ustawić  wskaźnik  tak,  aby  wskazywał  linię  relacji,  a  następnie  kliknąć  tę  linię. 
Zaznaczona linia relacji jest pogrubiona. Po zaznaczeniu linii relacji należy nacisnąć klawisz 
DELETE.  Usunięcie  relacji  powoduje  również  usunięcie  obsługi  więzów  integralności  tej 
relacji,  jeśli  została  ona  włączona.  Skutkiem  tego  program  Access  nie  będzie  już 
automatycznie zapobiegał tworzeniu rekordów odłączonych po stronie „wiele” relacji. 

1.  Kliknij przycisk Microsoft Office 

, a następnie kliknij polecenie Otwórz

2.  W oknie dialogowym Otwieranie wybierz i otwórz bazę danych. 
3.  Na  karcie  Narzędzie  bazy  danych  w  grupie  Pokazywanie/ukrywanie  kliknij 

przycisk Relacje

 

Zostanie wyświetlone okno Relacje. 

Jeśli  nie  zdefiniowano  jeszcze  żadnych  relacji  i  okno  Relacje  jest  otwierane  po  raz 
pierwszy,  zostanie  wyświetlone  okno  dialogowe  Pokazywanie  tabeli.  W  przypadku 
wyświetlenia tego okna dialogowego kliknij przycisk Zamknij

4.  Na karcie Projektowanie w grupie Relacje kliknij przycisk Wszystkie relacje

Zostaną wyświetlone wszystkie tabele mające relacje, a także linie relacji. 

5.  Kliknij  linię  oznaczającą  relację,  którą  chcesz  usunąć.  Zaznaczona  linia  relacji  jest 

pogrubiona. 

6.  Naciśnij klawisz DELETE. 

— lub — 

Kliknij prawym przyciskiem myszy, a następnie kliknij polecenie Usuń

7.  W  programie  Access  może  zostać  wyświetlony  komunikat  Czy  na  pewno  chcesz 

trwale  usunąć  wybraną  relację  z  bazy  danych?.  W  przypadku  wyświetlenia  tego 
komunikatu potwierdzającego kliknij przycisk Tak

Uwaga   Jeśli dowolna z tabel występująca w relacji jest używana — na przykład przez inną 
osobę  lub  proces  albo  w  otwartym  obiekcie  bazy  danych  (takim  jak  formularz)  —  jej 

background image

usunięcie nie będzie możliwe. Aby usunięcie relacji było możliwe, należy najpierw zamknąć 
wszystkie otwarte obiekty używające tych tabel. 

Początek strony  

Zmienianie relacji pomiędzy tabelami 

Aby  zmienić  relację  pomiędzy  tabelami,  należy  ją  zaznaczyć  w  oknie  Relacje,  a  następnie 
przeprowadzić jej edycję. Należy starannie ustawić wskaźnik tak, aby wskazywał linię relacji, 
a  następnie  kliknięciem  zaznaczyć  tę  linię.  Zaznaczona  linia  relacji  jest  pogrubiona.  Po 
zaznaczeniu  linii  relacji  należy  kliknąć  dwukrotnie  lub  kliknąć  przycisk  Edytuj  relacje  w 
grupie  Narzędzia  na  karcie  Projektowanie.  Zostanie  wyświetlone  okno  dialogowe 
Edytowanie relacji

Wprowadzanie zmian w oknie dialogowym Edytowanie relacji 

1.  Kliknij przycisk Microsoft Office 

, a następnie kliknij polecenie Otwórz

2.  W oknie dialogowym Otwieranie wybierz i otwórz bazę danych. 
3.  Na  karcie  Narzędzie  bazy  danych  w  grupie  Pokazywanie/ukrywanie  kliknij 

przycisk Relacje

Zostanie wyświetlone okno Relacje. 

Jeśli  nie  zdefiniowano  jeszcze  żadnych  relacji  i  okno  Relacje  jest  otwierane  po  raz 
pierwszy,  zostanie  wyświetlone  okno  dialogowe  Pokazywanie  tabeli.  W  przypadku 
wyświetlenia tego okna dialogowego kliknij przycisk Zamknij

4.  Na karcie Projektowanie w grupie Relacje kliknij przycisk Wszystkie relacje

Zostaną  wyświetlone  wszystkie  tabele  mające  relacje,  a  także  linie  relacji.  Należy 
pamiętać, że tabele ukryte (czyli tabele, dla których zaznaczono pole wyboru Ukryta 
w oknie dialogowym Właściwości) oraz ich relacje nie zostaną wyświetlone, chyba że 
w oknie dialogowym Opcje nawigacji jest wybrana opcja Pokaż ukryte obiekty. 

Aby  uzyskać  więcej  informacji  na  temat  opcji  Pokaż  ukryte  obiekty,  zobacz 
Przewodnik po okienku nawigacji. 

5.  Kliknij  linię  oznaczającą  relację,  którą  chcesz  zmienić.  Zaznaczona  linia  relacji  jest 

pogrubiona. 

6.  Kliknij dwukrotnie linię relacji. 

— lub — 

Na karcie Projektowanie w grupie Narzędzia kliknij przycisk Edytuj relacje

Zostanie wyświetlone okno dialogowe Edytowanie relacji

background image

 

7.  Wprowadź zmiany, a następnie kliknij przycisk OK

Okno dialogowe Edytowanie relacji umożliwia zmianę relacji pomiędzy tabelami. W 
szczególności  można zmienić tabele, kwerendy  lub pola po dowolnej  stronie relacji. 
Ponadto  można  ustawić  typ  sprzężenia  lub  wymusić  więzi  integralności  i  wybrać 
opcję operacji kaskadowych. Aby uzyskać więcej informacji na temat typu sprzężenia 
i  sposobu  ustawiania  go,  zobacz  sekcję  Ustawianie  typu  sprzężenia.  Aby  uzyskać 
więcej  informacji  na  temat  sposobu  wymuszania  więzów  integralności  i  wybierania 
opcji operacji kaskadowych, zobacz sekcję Wymuszanie więzów integralności. 

Ustawianie typu sprzężenia 

Po  zdefiniowaniu  relacji  pomiędzy  tabelami  informacje  na  temat  tej  relacji  są 
wykorzystywane  w  projektach  kwerend.  Na  przykład,  jeśli  użytkownik  zdefiniuje  relację 
między  dwiema  tabelami,  a  następnie  zacznie  tworzyć  kwerendę  korzystającą  z  tych  tabel, 
program  Access  automatycznie  wybierze  domyślne  pasujące  pola  na  podstawie  pól 
określonych  w  relacji.  Te  początkowe  wartości  domyślne  kwerendy  można  zastąpić,  ale 
wartości  pochodzące  z  relacji  często  okazują  się  poprawne.  Ponieważ  poza  najprostszymi 
bazami  danych  dopasowywanie  i  łączenie  danych  z  więcej  niż  jednej  tabeli  jest  często 
wykonywaną  czynnością,  ustawienie  wartości  domyślnych  przez  utworzenie  relacji  może 
zaoszczędzić czas i zapewnić różne korzyści. 

Kwerenda  wielotabelowa  łączy  informacje  z  więcej  niż  jednej  tabeli  dzięki  dopasowaniu 
wartości  z  pól  wspólnych.  Operacja  powodująca  dopasowywanie  i  łączenie  jest  nazywana 
sprzężeniem.  Załóżmy  na  przykład,  że  użytkownik  chce  wyświetlić  zamówienia  klientów. 
Tworzy  więc  kwerendę  sprzęgającą  tabelę  Klienci  i  tabelę  Zamówienia  przy  użyciu  pola 
Identyfikator  klienta.  Wynik  kwerendy  zawiera  informacje  o  klientach  i  informacje  o 
zamówieniach  wyłącznie  z  tych  wierszy,  w  których  zostało  odnalezione  odpowiednie 
dopasowanie. 

Jedną z wartości, którą można określić w każdej relacji, jest typ sprzężenia. Typ sprzężenia w 
programie Access określa, które rekordy mają być uwzględnione w wyniku kwerendy. Jako 
przykładu można ponownie użyć kwerendy sprzęgającej tabelę Klienci i tabelę Zamówienia 
przy użyciu pola wspólnego z identyfikatorem klienta. W przypadku użycia domyślnego typu 

background image

sprzężenia (zwanego sprzężeniem wewnętrznym) kwerenda zwraca tylko wiersze klientów i 
wiersze zamówień, w których pola wspólne (zwane również polami sprzężonymi) są równe. 

Załóżmy jednak, że trzeba uwzględnić wszystkich klientów — nawet tych, którzy jeszcze nie 
złożyli zamówień. W tym celu należy zmienić typ sprzężenia ze sprzężenia wewnętrznego na 
tzw.  lewe  sprzężenie  zewnętrzne.  Lewe  sprzężenie  zewnętrzne  zwraca  wszystkie  wiersze  z 
tabeli po lewej  stronie relacji oraz tylko  pasujące wiersze z tabeli po prawej  stronie. Prawe 
sprzężenie zewnętrzne zwraca wszystkie wiersze z prawej  strony i  tylko  pasujące wiersze z 
lewej strony. 

Uwaga    W  tym  przypadku  określenia  „lewe”  i  „prawe”  odnoszą  się  do  położenia  tabeli  w 
oknie dialogowym Edytowanie relacji, a nie w oknie Relacje. 

Należy  się  zastanowić,  jaki  wynik  kwerendy  sprzęgającej  tabele  relacji  będzie  potrzebny 
najczęściej, a następnie odpowiednio ustawić typ sprzężenia. 

Ustawianie typu sprzężenia 

1.  W oknie dialogowym Edytowanie relacji kliknij przycisk Typ sprzężenia

Zostanie wyświetlone okno dialogowe Właściwości sprzężenia

2.  Kliknij odpowiednią opcję, a następnie kliknij przycisk OK

W  poniższej  tabeli  (opracowanej  dla  tabel  Klienci  i  Zamówienia)  przedstawiono  trzy  opcje 
wyświetlane  w  oknie  dialogowym  Właściwości  sprzężenia,  typ  używanego  w  nich 
sprzężenia oraz informację, czy są uwzględniane wszystkie wiersze, czy pasujące wiersze z 
poszczególnych tabel. 

Opcja  

Sprzężenie 
relacyjne 
 

Lewa 
tabela
  

Prawa 
tabela
  

1. Zawiera tylko te wiersze, w których sprzężone 
pola z obu tabel są równe. 

Sprzężenie 
wewnętrzne 

Pasujące 
wiersze 

Pasujące 
wiersze 

2.  Uwzględnia  WSZYSTKIE  rekordy  z  tabeli 
Klienci  i  tylko  te  rekordy  z  tabeli  Zamówienia, 
dla których sprzężone pola są równe. 

Lewe  sprzężenie 
zewnętrzne 

Wszystkie 
wiersze 

Pasujące 
wiersze 

3.  Uwzględnia  WSZYSTKIE  rekordy  z  tabeli 
Zamówienia  i  tylko  te  rekordy  z  tabeli  Klienci, 
dla których sprzężone pola są równe. 

Prawe 
sprzężenie 
zewnętrzne 

Pasujące 
wiersze 

Wszystkie 
wiersze 

W przypadku wybrania opcji 2 lub opcji 3 na linii relacji zostanie wyświetlona strzałka. Ta 
strzałka wskazuje stronę relacji, dla której są pokazane tylko pasujące wiersze. 

Wprowadzanie  zmian  w  oknie  dialogowym  Właściwości 
sprzężenia 

1.  Kliknij przycisk Microsoft Office 

, a następnie kliknij polecenie Otwórz

background image

2.  W oknie dialogowym Otwieranie wybierz i otwórz bazę danych. 
3.  Na  karcie  Narzędzie  bazy  danych  w  grupie  Pokazywanie/ukrywanie  kliknij 

przycisk Relacje

Zostanie wyświetlone okno Relacje. 

Jeśli  nie  zdefiniowano  jeszcze  żadnych  relacji  i  okno  Relacje  jest  otwierane  po  raz 
pierwszy,  zostanie  wyświetlone  okno  dialogowe  Pokazywanie  tabeli.  W  przypadku 
wyświetlenia tego okna dialogowego kliknij przycisk Zamknij

4.  Na karcie Projektowanie w grupie Relacje kliknij przycisk Wszystkie relacje

Zostaną  wyświetlone  wszystkie  tabele  mające  relacje,  a  także  linie  relacji.  Należy 
pamiętać, że tabele ukryte (czyli tabele, dla których zaznaczono pole wyboru Ukryta 
w oknie dialogowym Właściwości) oraz ich relacje nie zostaną wyświetlone, chyba że 
w oknie dialogowym Opcje nawigacji jest wybrana opcja Pokaż ukryte obiekty. 

Aby  uzyskać  więcej  informacji  na  temat  opcji  Pokaż  ukryte  obiekty,  zobacz 
Przewodnik po okienku nawigacji. 

5.  Kliknij  linię  oznaczającą  relację,  którą  chcesz  zmienić.  Zaznaczona  linia  relacji  jest 

pogrubiona. 

6.  Kliknij dwukrotnie linię relacji. 

— lub — 

Na karcie Projektowanie w grupie Narzędzia kliknij przycisk Edytuj relacje

Zostanie wyświetlone okno dialogowe Edytowanie relacji

7.  Kliknij przycisk Typ sprzężenia
8.  W oknie dialogowym Właściwości sprzężenia kliknij odpowiednią opcję, a następnie 

kliknij przycisk OK

 

9.  Wprowadź ewentualne dodatkowe zmiany w relacji, a następnie kliknij przycisk OK

Początek strony  

Wymuszanie więzów integralności 

background image

Więzy  integralności  mają  na  celu  zapobieganie  powstawaniu  rekordów  odłączonych  i 
synchronizowanie odwołań, tak aby nie było rekordów odwołujących się do rekordów, które 
już  nie  istnieją.  Więzy  integralności  wymusza  się  przez  włączenie  ich  dla  relacji  pomiędzy 
tabelami.  Jeśli więzy integralności są wymuszone, program  Access  odrzuca każdą operację, 
która naruszyłaby te więzy w danej relacji pomiędzy tabelami. Program Access odrzuca więc 
aktualizacje  zmieniające  obiekt  docelowy  odwołania,  a  także  operacje  usuwające  obiekt 
docelowy odwołania. Jeśli program Access ma propagować aktualizacje i usunięcia odwołań, 
tak  aby  wszystkie  powiązane  wiersze  były  zmieniane  w  odpowiedni  sposób,  zobacz  sekcję 
Ustawianie opcji operacji kaskadowych. 

Włączanie lub wyłączanie więzów integralności 

1.  Kliknij przycisk Microsoft Office 

, a następnie kliknij polecenie Otwórz

2.  W oknie dialogowym Otwieranie wybierz i otwórz bazę danych. 
3.  Na  karcie  Narzędzie  bazy  danych  w  grupie  Pokazywanie/ukrywanie  kliknij 

przycisk Relacje

 

Zostanie wyświetlone okno Relacje. 

Jeśli  nie  zdefiniowano  jeszcze  żadnych  relacji  i  okno  Relacje  jest  otwierane  po  raz 
pierwszy,  zostanie  wyświetlone  okno  dialogowe  Pokazywanie  tabeli.  W  przypadku 
wyświetlenia tego okna dialogowego kliknij przycisk Zamknij

4.  Na karcie Projektowanie w grupie Relacje kliknij przycisk Wszystkie relacje

Zostaną  wyświetlone  wszystkie  tabele  mające  relacje,  a  także  linie  relacji.  Należy 
pamiętać, że tabele ukryte (czyli tabele, dla których zaznaczono pole wyboru Ukryta 
w oknie dialogowym Właściwości) oraz ich relacje nie zostaną wyświetlone, chyba że 
w oknie dialogowym Opcje nawigacji jest wybrana opcja Pokaż ukryte obiekty. 

Aby  uzyskać  więcej  informacji  na  temat  opcji  Pokaż  ukryte  obiekty,  zobacz 
Przewodnik po okienku nawigacji. 

5.  Kliknij  linię  oznaczającą  relację,  którą  chcesz  zmienić.  Zaznaczona  linia  relacji  jest 

pogrubiona. 

6.  Kliknij dwukrotnie linię relacji. 

— lub — 

Na karcie Projektowanie w grupie Narzędzia kliknij przycisk Edytuj relacje

Zostanie wyświetlone okno dialogowe Edytowanie relacji

7.  Zaznacz pole wyboru Wymuszaj więzy integralności
8.  Wprowadź ewentualne dodatkowe zmiany w relacji, a następnie kliknij przycisk OK

Po wymuszeniu więzów integralności są stosowane następujące reguły: 

background image

 

Nie  można  wprowadzić  wartości  w  polu  klucza  obcego  tabeli  powiązanej,  jeśli  ta 
wartość nie istnieje w polu klucza podstawowego tabeli podstawowej — czynność ta 
powoduje powstanie rekordów odłączonych. 

 

Nie  można  usunąć  rekordu  z  tabeli  podstawowej,  jeśli  w  tabeli  powiązanej  istnieją 
rekordy pasujące do niego. Nie można na przykład usunąć rekordu pracownika z tabeli 
Pracownicy,  jeśli  w  tabeli  Zamówienia  istnieją  zamówienia  przypisane  temu 
pracownikowi.  Można  jednak  zdecydować  się  na  usunięcie  rekordu  podstawowego 
oraz  wszystkich  rekordów  pokrewnych  w  ramach  jednej  operacji,  zaznaczając  pole 
wyboru Kaskadowo usuń rekordy pokrewne

 

Nie  można  zmienić  wartości  klucza  podstawowego  w  tabeli  podstawowej,  jeśli 
spowodowałoby to powstanie rekordów odłączonych. Nie można na przykład zmienić 
numeru  zamówienia  w  tabeli  Zamówienia,  jeśli  w  tabeli  Szczegóły  zamówienia 
istnieją  pozycje  przypisane  do  tego  zamówienia.  Można  jednak  zdecydować  się  na 
zaktualizowanie  rekordu  podstawowego  oraz  wszystkich  rekordów  pokrewnych  w 
ramach  jednej  operacji,  zaznaczając  pole  wyboru  Kaskadowo  aktualizuj  pola 
pokrewne

Uwagi    Jeśli  przy  włączaniu  więzów  integralności  występują  problemy,  warto 
pamiętać,  że  do  wymuszenia  tych  więzów  jest  wymagane  spełnienie  następujących 
warunków: 

Pole wspólne z tabeli podstawowej musi być kluczem podstawowym lub mieć 
unikatowy indeks. 

Pola  wspólne  muszą  mieć  ten  sam  typ  danych.  Jedynym  wyjątkiem  jest 
możliwość  powiązania  pola  typu  Autonumerowanie  z  polem  typu  Liczba, 
którego właściwość RozmiarPola ma ustawienie Liczba całkowita długa

Obie tabele muszą znajdować się w tej samej bazie danych programu Access. 
Więzów  integralności  nie  można  wymusić  w  tabelach  połączonych.  Jednak 
jeśli  tabele  źródłowe  mają  format  programu  Access,  można  otworzyć  bazę 
danych, w której są przechowywane, i włączyć więzy integralności w tej bazie 
danych. 

Ustawianie opcji operacji kaskadowych 

Może  się  zdarzyć,  że  wystąpi  uzasadniona  potrzeba  zmiany  wartości  po  stronie  „jeden” 
relacji.  W  takim  przypadku  program  Access  powinien  automatycznie  w ramach  jednej 
operacji  zaktualizować  wszystkie  wiersze,  na  które  wpływa  ta  zmiana.  W  ten  sposób 
aktualizacja  jest  wykonywana  w  pełni,  dzięki  czemu  baza  danych  nie  będzie  niespójna  w 
wyniku  zaktualizowania  tylko  niektórych  wierszy.  Aby  uniknąć  tego  problemu,  program 
Access  udostępnia  opcję  Kaskadowo  aktualizuj  pola  pokrewne.  Gdy  użytkownik  wymusi 
więzy  integralności  i  wybierze  opcję  Kaskadowo  aktualizuj  pola  pokrewne,  a  następnie 
zaktualizuje klucz podstawowy, program  Access  automatycznie zaktualizuje wszystkie pola, 
które odwołują się do klucza podstawowego. 

Ponadto  może  wystąpić  potrzeba  usunięcia  wiersza  i  wszystkich  wierszy  pokrewnych,  na 
przykład  rekordu  spedytora  i wszystkich  zamówień  powiązanych  z  danym  spedytorem.  W 
programie Access służy do tego opcja Kaskadowo usuń rekordy pokrewne. Gdy użytkownik 
wymusi  więzy  integralności  i  wybierze  opcję  Kaskadowo  usuń  rekordy  pokrewne,  to  w 
momencie  usunięcia  rekordu  zawierającego  klucz  podstawowy  program  Access 
automatycznie usunie wszystkie rekordy, które odwołują się do klucza podstawowego. 

background image

Włączanie  lub  wyłączanie  aktualizowania  kaskadowego  i/lub  usuwania 
kaskadowego 

1.  Kliknij przycisk Microsoft Office 

, a następnie kliknij polecenie Otwórz

2.  W oknie dialogowym Otwieranie wybierz i otwórz bazę danych. 
3.  Na  karcie  Narzędzie  bazy  danych  w  grupie  Pokazywanie/ukrywanie  kliknij 

przycisk Relacje

 

Zostanie wyświetlone okno Relacje. 

Jeśli  nie  zdefiniowano  jeszcze  żadnych  relacji  i  okno  Relacje  jest  otwierane  po  raz 
pierwszy,  zostanie  wyświetlone  okno  dialogowe  Pokazywanie  tabeli.  W  przypadku 
wyświetlenia tego okna dialogowego kliknij przycisk Zamknij

4.  Na karcie Projektowanie w grupie Relacje kliknij przycisk Wszystkie relacje

Zostaną  wyświetlone  wszystkie  tabele  mające  relacje,  a  także  linie  relacji.  Należy 
pamiętać, że tabele ukryte (czyli tabele, dla których zaznaczono pole wyboru Ukryta 
w oknie dialogowym Właściwości) oraz ich relacje nie zostaną wyświetlone, chyba że 
w oknie dialogowym Opcje nawigacji jest wybrana opcja Pokaż ukryte obiekty. 

Aby  uzyskać  więcej  informacji  na  temat  opcji  Pokaż  ukryte  obiekty,  zobacz 
Przewodnik po okienku nawigacji. 

5.  Kliknij  linię  oznaczającą  relację,  którą  chcesz  zmienić.  Zaznaczona  linia  relacji  jest 

pogrubiona. 

6.  Kliknij dwukrotnie linię relacji. 

— lub — 

Na karcie Projektowanie w grupie Narzędzia kliknij przycisk Edytuj relacje

Zostanie wyświetlone okno dialogowe Edytowanie relacji

7.  Zaznacz pole wyboru Wymuszaj więzy integralności
8.  Zaznacz pole wyboru Kaskadowo aktualizuj pola pokrewne lub Kaskadowo usuń 

rekordy pokrewne albo zaznacz oba te pola. 

9.  Wprowadź ewentualne dodatkowe zmiany w relacji, a następnie kliknij przycisk OK

Uwaga    Jeśli  klucz  podstawowy  jest  polem  typu  Autonumerowanie,  zaznaczenie  pola 
wyboru  Kaskadowo  aktualizuj  pola  pokrewne  nie  wywoła  żadnych  skutków,  ponieważ 
zmiana wartości pola typu Autonumerowanie jest niemożliwa. 

Dotyczy: Access 2007