KWALIFIKACJA INF3 - TEST WIEDZY NR 3

PYTANIE NR 23.
Rozważając modelowanie bazy danych dla biblioteki, jakiego typu relacji powinniśmy użyć, aby połączyć encje "Książka" i "Autor", biorąc pod uwagę, że jedna książka może mieć wielu autorów, a jeden autor może napisać wiele książek?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Opis wskazuje na relację N:M, bo jedna "Książka" może mieć wielu "Autorów", a jeden "Autor" może być powiązany z wieloma "Książkami". Taki związek w modelu encja–związek nazywa się relacją wiele-do-wielu i zwykle odwzorowuje się go w bazie relacyjnej tabelą pośrednią.

Pełne wyjaśnienie:

W opisie podano dwa warunki jednocześnie:

  • jedna książka może mieć wielu autorów,
  • jeden autor może napisać wiele książek.

Jeśli obie strony mogą występować "w wielu" egzemplarzach względem siebie, kardynalność związku jest typu wiele-do-wielu (N:M). Dlatego poprawna jest odpowiedź: "Relacja wiele-do-wielu".

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "Relacja jeden-do-jednego" oznaczałaby, że jednej książce odpowiada dokładnie jeden autor i odwrotnie. To przeczy informacji o wielu autorach dla jednej książki oraz wielu książkach jednego autora.
  • "Relacja jeden-do-wielu" pasowałaby tylko wtedy, gdy jedna strona zawsze byłaby pojedyncza, a druga mogłaby być wielokrotna (np. jedna książka → wiele wypożyczeń). Tutaj wielokrotność występuje po obu stronach, więc 1:N jest zbyt "wąskie".
  • "Żadna z powyższych" jest fałszywa, bo standardowe typy kardynalności obejmują także N:M i dokładnie ten przypadek wynika z opisu.

W praktyce, w relacyjnej bazie danych relację N:M między "Książka" i "Autor" realizuje się zwykle przez dodatkową tabelę łączącą (np. "Autorstwo"), która zawiera klucze obce do obu encji. To pozwala poprawnie zapisać współautorstwo oraz ponowne wykorzystanie danych autora dla wielu książek.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Relacja wiele-do-wielu (N:M) oznacza, że jeden rekord z pierwszej encji może być powiązany z wieloma rekordami drugiej encji i odwrotnie. Przykład: książka ma wielu autorów, a autor może mieć wiele książek. W bazie relacyjnej zwykle wymaga to tabeli pośredniej.
Sprawdź opis w obu kierunkach. Jeśli możesz powiedzieć "jeden X ma wiele Y" i jednocześnie "jeden Y ma wiele X", to masz N:M. Gdy tylko jedna strona ma "wiele", a druga jest pojedyncza, wtedy jest to 1:N.
Relacja 1:N działa, gdy tylko jedna strona jest wielokrotna. W bibliotece często występują współautorstwa, więc jedna książka może mieć wielu autorów. Jednocześnie autor publikuje wiele książek. Ponieważ "wiele" jest po obu stronach, to nie 1:N, tylko N:M.
Tworzy się tabelę pośrednią (łącznikową), która przechowuje klucze obce do obu tabel. Dla książek i autorów może to być tabela "Autorstwo" z polami np. id_ksiazki i id_autora. Każdy wiersz oznacza jedno powiązanie autor–książka.
Tabela pośrednia (łącznikowa) to dodatkowa tabela używana do realizacji relacji N:M w relacyjnej bazie danych. Zapobiega duplikowaniu danych (np. wielokrotne wpisy autora w książce) i pozwala przechowywać dodatkowe informacje o powiązaniu, np. kolejność autorów.
Najczęściej są to dwa klucze obce: jeden do tabeli książek i drugi do tabeli autorów. Jako klucz główny stosuje się często klucz złożony z tych dwóch kolumn albo osobny identyfikator techniczny. Wybór zależy od wymagań i modelu danych.
Tak, ale rzadziej niż 1:N i N:M. Stosuje się ją np. gdy dane są logicznie rozdzielone na dwie tabele (bezpieczeństwo, opcjonalność, wydajność), ale każdy rekord ma najwyżej jeden odpowiednik. Dla książek i autorów zwykle nie pasuje, bo istnieją współautorzy.
Najczęściej pomija się jeden kierunek opisu (analizuje się tylko "książka ma autorów"), myli się implementację z logiką (np. "klucz obcy = 1:N"), albo zakłada się uproszczenie, że książka ma jednego autora, bo tak bywa w prostych przykładach. Warto zawsze testować oba kierunki.
Relacja 1:N pasuje np. "Czytelnik" → "Wypożyczenie" (jeden czytelnik może mieć wiele wypożyczeń) albo "Książka" → "Egzemplarz" (jedna pozycja katalogowa może mieć wiele egzemplarzy). W tych przypadkach wielokrotność jest tylko po jednej stronie.
Ćwicz rozpoznawanie kardynalności na opisach biznesowych i rysowanie prostych modeli ER. Zrób zestaw przykładów 1:1, 1:N i N:M oraz naucz się, jak je implementować w schemacie relacyjnym (klucze obce, tabela pośrednia). To często pojawia się w zadaniach praktycznych.
info

Statystycznie 73% uczniów zna prawidłową odpowiedź. średnio łatwe

Według specjalistów z branży: "Opis wskazuje na relację N:M, bo jedna "Książka" może mieć wielu "Autorów", a jeden "Autor" może być powiązany z wieloma "Książkami"."

Źródła:

  • Wikipedia (PL): "Model relacyjny" — https://pl.wikipedia.org/wiki/Model_relacyjny (dostęp: 2026-02-27)
  • Wikipedia (PL): "Związek (model encja–związek)" — https://pl.wikipedia.org/wiki/Model_encja%E2%80%93zwi%C4%85zek (dostęp: 2026-02-27)
  • Microsoft Learn: "Many-to-many relationships" (Entity Framework Core) — https://learn.microsoft.com/en-us/ef/core/modeling/relationships/many-to-many (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja lub materiały do modelowania ER i relacyjnego (rozdziały o kardynalności i związkach N:M)
  • Ćwiczenia z projektowania bazy: przypadki 1:1, 1:N, N:M i ich implementacja w SQL
  • Kurs podstaw baz danych obejmujący tabele łącznikowe i klucze obce

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego