Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

Słowa kluczowe: Relacja wiele-do-wielu

W bazie danych każda osoba ma dokładnie jeden paszport, a każdy paszport należy do dokładnie jednej osoby. Jaką relację należy utworzyć między tabelami osoby i paszporty?

A. n..1 (wiele-do-jednego)
Źle. n..1 oznacza, że wiele osób dzieliłoby jeden paszport. Każdy paszport ma jednego właściciela.
B. 1..n (jeden-do-wielu)
Źle. 1..n oznacza, że jedna osoba mogłaby mieć wiele paszportów. Tu ma dokładnie jeden.
C. 1..1 (jeden-do-jednego)
Dobrze. Osoba ma jeden paszport, a paszport jedną osobę, więc relacja jest jeden-do-jednego.
D. n..m (wiele-do-wielu)
Źle. n..m wymaga wielu powiązań po obu stronach i tabeli pośredniej. Tu każda strona ma jedno.

Gdy jednemu rekordowi jednej tabeli odpowiada dokładnie jeden rekord drugiej, i odwrotnie, jest to relacja 1..1, czyli jeden-do-jednego. W tabeli paszporty umieszcza się klucz obcy wskazujący osobę, np. id_osoby, i nakłada się na niego ograniczenie UNIQUE. Bez tego ograniczenia ta sama osoba mogłaby dostać dwa paszporty.

Relację 1..1 stosuje się, gdy część danych chce się trzymać osobno: rzadko używanych, poufnych albo opcjonalnych, np. dane paszportowe, szczegóły konta czy wyniki badań lekarskich. Rozpoznajesz ją, zadając pytanie w obie strony: ile paszportów ma osoba i do ilu osób należy paszport. Dwie odpowiedzi „jeden” dają 1..1.

Typ relacji ustala się, patrząc na nią z obu stron. Relacja 1..n znaczyłaby, że jedna osoba może mieć wiele paszportów, a n..1, że wiele osób dzieli jeden paszport. Treść wyklucza obie sytuacje, bo po każdej stronie jest dokładnie jeden rekord.

Relacja n..m, czyli wiele-do-wielu, wymaga tabeli pośredniej z dwoma kluczami obcymi i dotyczy sytuacji takich jak uczniowie i przedmioty: uczeń ma wiele przedmiotów, a przedmiot wielu uczniów. Tu żadna strona nie ma wielu powiązań.

Typowa pułapka to wybór 1..n tylko dlatego, że klucz obcy stoi w jednej z tabel, tak jak w relacji jeden-do-wielu. O typie decyduje jednak ograniczenie UNIQUE na tym kluczu, które zamienia relację w 1..1.

Dlatego zawsze zadawaj pytanie w obie strony.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.