Spróbuj!
Co to jest relacja jeden-do-jednego?
Relacje jeden do jednego są często używanego do wskazywania relacji o krytycznym znaczeniu w celu uzyskania danych niezbędnych do prowadzenia działalności.
Relacja jeden-do-jednego to takie połączenie między informacjami w dwóch tabelach, w przypadku którego każdy rekord pojawia się w każdej tabeli tylko raz. Może na przykład istnieć relacja jeden-do-jednego między pracownikami a użytkowanymi przez nich samochodami. Każdy pracownik występuje tylko raz w tabeli Pracownicy, a każdy samochód występuje tylko raz w tabeli Samochody.
Możesz użyć relacji jeden-do-jednego wówczas, gdy masz tabelę zawierającą listę elementów, ale informacje dotyczące tych elementów są różnego typu. Załóżmy na przykład, że masz tabelę kontaktów, w której część osób to pracownicy, a część — podwykonawcy. W przypadku pracowników musisz znać identyfikator pracownika, numer wewnętrzny i inne istotne informacje. W przypadku podwykonawców potrzebujesz między innymi nazwy firmy, numeru telefonu oraz stawki. W takim przypadku najlepiej utworzyć trzy oddzielne tabele — Kontakty, Pracownicy i Podwykonawcy — a następnie utworzyć jedną relację jeden-do-jednego między tabelami Kontakty i Pracownicy, a drugą relację jeden-do-jednego między tabelami Kontakty i Podwykonawcy.
Omówienie tworzenia relacji jeden-do-jednego
Relacje jeden-do-jednego tworzy się, łącząc indeks (najczęściej klucz podstawowy) w jednej tabeli z indeksem w innej tabeli, mającym taką samą wartość. Na przykład:
Często najlepszym sposobem na utworzenie tej relacji jest skonfigurowanie tabeli pomocniczej tak, aby wyszukiwała wartość z pierwszej tabeli. Na przykład pole Identyfikator samochodu w tabeli Pracownicy można skonfigurować jako pole odnośnika, wyszukujące wartość w indeksie Identyfikator samochodu w tabeli Samochody służbowe. Dzięki temu nie będzie możliwe przypadkowe dodanie nieistniejącego identyfikatora samochodu.
Ważne: W przypadku tworzenia relacji jeden-do-jednego należy dobrze przemyśleć włączenie lub wyłączenie wymuszania więzów integralności dla tej relacji.
Wymuszanie więzów integralności w programie Access ułatwia utrzymanie porządku w bazie danych przez usuwanie pokrewnych rekordów. Na przykład w przypadku usunięcia pracownika z tabeli Pracownicy można jednocześnie usunąć rekordy dotyczące jego świadczeń z tabeli Świadczenia. Jednak w przypadku niektórych relacji, tak jak w naszym przykładzie, wymuszanie więzów integralności nie jest uzasadnione: w przypadku usunięcia pracownika nie chcemy usuwać pojazdu z tabeli Samochody służbowe, ponieważ pojazd ten nadal będzie należał do firmy i zostanie przypisany komuś innemu.
Kroki tworzenia relacji jeden-do-jednego
Utwórz relację jeden-do-jednego, dodając do tabeli pole odnośnika. (Aby dowiedzieć się, jak to zrobić, zobacz Tworzenie tabel i ustawianie typów danych). Na przykład aby wskazać, który samochód został przypisany do określonego pracownika, możesz dodać do tabeli Pracownicy pole Identyfikator samochodu. Następnie użyj Kreatora odnośników, aby utworzyć relację między tymi dwoma polami:
-
Otwórz tabelę.
-
W widoku projektu dodaj nowe pole, wybierz wartość Typ danych, a następnie wybierz pozycję Kreator odnośników.
-
W kreatorze wyszukiwanie wartości z innej tabeli jest ustawieniem domyślnym, więc wybierz pozycję Dalej.
-
Wybierz tabelę zawierającą klucz (zazwyczaj klucz podstawowy), który chcesz uwzględnić w bieżącej tabeli, a następnie wybierz przycisk Dalej. W naszym przykładzie należałoby wybrać tabelę Samochody służbowe.
-
Na liście Wybrane pola dodaj pole zawierające klucz, którego chcesz użyć. Wybierz pozycję Dalej.
-
Ustaw kolejność sortowania i, jeśli chcesz, zmień szerokość pola.
-
Na ekranie końcowym wyczyść pole wyboru Włącz integralność danych i wybierz przycisk Zakończ.