Przejdź do treści głównej
INF.03Pytanie #1054 z 1558html-struktura-i-semantyka

Aby prawidłowo utworzyć relację typu m..n nienarażoną na redundancję danych, należy

Opcje odpowiedzi:
A
posortować przynajmniej jedną z tabel
B
połączyć bezpośrednio klucze podstawowe obu tabel
C
połączyć bezpośrednio klucze obce obu tabel
D
utworzyć tabelę pomocniczą
Prawidłowa
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: D (utworzyć tabelę pomocniczą)

utworzyć tabelę pomocniczą.

Relacja wiele-do-wielu (m..n, ang. many-to-many) występuje, gdy jeden rekord w tabeli A może być powiązany z wieloma rekordami w tabeli B, a jednocześnie jeden rekord w tabeli B może być powiązany z wieloma rekordami w tabeli A. Przykład: Uczniowie i Kursy (jeden uczeń może uczęszczać na wiele kursów, a na jeden kurs może uczęszczać wielu uczniów).

Bezpośrednie połączenie dwóch tabel w relacji m..n za pomocą kluczy spowodowałoby znaczną redundancję danych i problemy z zarządzaniem taką strukturą w relacyjnych bazach danych.

Aby prawidłowo zaimplementować relację m..n i uniknąć redundancji, tworzy się tabelę pomocniczą (nazywaną też tabelą łączącą, asocjacyjną, sprzęgającą lub pośrednią). Taka tabela:

  1. Zawiera co najmniej dwie kolumny, które są kluczami obcymi, odnoszącymi się do kluczy głównych dwóch tabel, które chcemy połączyć.
  2. Klucz główny tabeli pomocniczej jest zazwyczaj złożony z tych dwóch kluczy obcych.
  3. Każdy wiersz w tabeli pomocniczej reprezentuje jedno konkretne powiązanie między rekordem z pierwszej tabeli a rekordem z drugiej tabeli.
  4. Tabela pomocnicza może również zawierać dodatkowe atrybuty opisujące samą relację (np. data zapisu ucznia na kurs).

Przykład: Dla relacji Uczniowie (ID_Ucznia, ...) i Kursy (ID_Kursu, ...), tabela pomocnicza mogłaby wyglądać tak: Zapisy_Na_Kursy (ID_Ucznia_FK, ID_Kursu_FK, Data_Zapisu).

Dlaczego pozostałe opcje są nieprawidłowe?

  • A: posortować przynajmniej jedną z tabel — Sortowanie danych nie ma wpływu na modelowanie relacji.
  • B: połączyć bezpośrednio klucze podstawowe obu tabel — Nie jest to możliwe w standardowy sposób do modelowania relacji m..n bez tabeli pomocniczej i prowadziłoby do problemów. Jeden klucz podstawowy w tabeli A musiałby się odnosić do wielu kluczy podstawowych w tabeli B (i vice versa), co jest sprzeczne z definicją klucza podstawowego i relacji.
  • C: połączyć bezpośrednio klucze obce obu tabel — Klucze obce służą do tworzenia relacji, ale bezpośrednie połączenie ich w dwóch tabelach bez tabeli pośredniej nie zrealizuje poprawnie relacji m..n bez redundancji.

Chcesz poćwiczyć całą kwalifikację INF.03?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

Podobne pytania z działu „Html struktura i semantyka”

Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 282 pytań z tego działu.