W relacyjnych bazach danych relację między tabelami opisuje się m.in. przez krotność (cardinality), czyli informację, ile rekordów jednej tabeli może odpowiadać rekordowi drugiej tabeli.
W treści zadania są dwa warunki:
- Rekordowi z tabeli A odpowiada dowolna liczba rekordów z tabeli B – oznacza to, że dla pojedynczego A może istnieć 0, 1 lub wiele rekordów w B (czyli "wiele" po stronie B).
- Jednemu rekordowi z tabeli B odpowiada dokładnie jeden rekord z tabeli A – każdy rekord B jest przypisany do jednego konkretnego A (czyli "jeden" po stronie A).
Po połączeniu tych warunków otrzymujemy relację jeden do wielu (1:N): jeden A → wiele B, a każde B → jeden A. W praktyce implementuje się to zwykle tak, że w tabeli B znajduje się klucz obcy wskazujący na klucz główny tabeli A.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- "wiele do wielu" byłoby wtedy, gdy pojedynczemu A mogłoby odpowiadać wiele B i jednocześnie pojedynczemu B mogłoby odpowiadać wiele A. To przeczy warunkowi "dokładnie jeden rekord z A dla B".
- "jeden do jednego" wymagałoby, aby jednemu A odpowiadał co najwyżej jeden B oraz jednemu B co najwyżej jeden A. Tymczasem w zadaniu A może mieć dowolną liczbę rekordów B.
- "nieoznaczoną" nie jest standardową nazwą krotności relacji w modelowaniu relacyjnym (w kontekście egzaminu typowo wybiera się spośród 1:1, 1:N, N:M).
Wskazówka egzaminacyjna: gdy w opisie pojawia się para zdań "A ma wiele B" oraz "B ma dokładnie jedno A", najczęściej chodzi o relację 1:N z kluczem obcym w tabeli po stronie "wielu".