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: Integralność referencyjna Klucz główny w SQL Klucz obcy w SQL Relacja jeden do wielu

Którą relację w projekcie bazy danych należy ustalić między tabelami widocznymi na rysunku zakładając, że każdy klient sklepu internetowego dokona przynajmniej dwóch zamówień?

Ilustracja do pytania z kwalifikacji INF.03
A. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
B. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
C. 1:1
D. n:n

Pytanie z egzaminu CKE, styczeń 2018 (arkusz E.14-X-18.01).

Poprawna relacja to 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia. Jeden rekord w tabeli Klient opisuje jednego klienta, a z tym klientem może być powiązanych wiele rekordów w tabeli Zamówienie. Założenie, że każdy klient sklepu internetowego dokona przynajmniej dwóch zamówień, oznacza minimalną liczność po stronie zamówień, ale nadal jest to relacja jeden do wielu. W modelu relacyjnym realizuje się ją najczęściej przez umieszczenie w tabeli Zamówienie klucza obcego wskazującego identyfikator klienta. Reguła do zapamiętania: jeśli jeden obiekt typu A może mieć wiele obiektów typu B, a każdy obiekt typu B należy do jednego obiektu typu A, stosuje się relację 1:n.
W tym przypadku trzeba odróżnić liczbę zamówień od liczby klientów przypisanych do jednego zamówienia. Relacja 1:1 oznaczałaby, że jeden klient ma dokładnie jedno zamówienie albo jedno zamówienie odpowiada dokładnie jednemu klientowi bez możliwości wielu zamówień dla tej samej osoby. Nie pasuje to do założenia o co najmniej dwóch zamówieniach klienta. Relacja 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta, odwraca sens powiązania - sugerowałaby, że jedno zamówienie może dotyczyć wielu klientów, co nie wynika z treści pytania. Relacja n:n byłaby właściwa, gdyby wielu klientów mogło współdzielić wiele zamówień i potrzebna byłaby tabela pośrednia. Poprawna odpowiedź to 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia. Typowy błąd polega na uznaniu, że informacja „przynajmniej dwa” automatycznie oznacza relację n:n, podczas gdy określa tylko minimalną liczność zamówień dla klienta.

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.