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: Programowanie webowe Bazy danych

Na rysunku przedstawiono dwie tabele. Aby połączyć je relacją jeden do wielu, jeden po stronie Klienci, wiele po stronie Zamowienia, należy

Ilustracja do pytania z kwalifikacji INF.03
A. połączyć relacją pola ID z obu tabel.
Źle. Połączenie samych pól ID tworzy relację jeden do jednego.
B. dodać pole klucza obcego do tabeli Klienci i połączyć je z ID tabeli Zamowienia.
Źle. Klucz obcy w tabeli Klienci odwraca relację - klient mógłby mieć tylko jedno zamówienie.
C. dodać pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci.
Dobrze. Klucz obcy umieszcza się po stronie „wiele”, czyli w tabeli Zamowienia.
D. zdefiniować trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, drugi klucz połączyć z ID tabeli Zamowienia.
Źle. Trzecia tabela z dwoma kluczami obcymi służy do relacji wiele do wielu.

Pytanie z egzaminu CKE, styczeń 2017 (arkusz E.14-X-17.01).

Należy dodać pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci. W relacji jeden do wielu klucz obcy zawsze trafia do tabeli po stronie „wiele”: każde zamówienie wskazuje jednego klienta, a jeden klient może mieć wiele zamówień, czyli wiele wierszy z tą samą wartością klucza obcego. Do zapamiętania: klucz obcy stoi tam, gdzie jest „wiele”. W SQL zapisuje się to np. jako FOREIGN KEY (klient_id) REFERENCES Klienci(ID) w definicji tabeli Zamowienia. Taki projekt pozwala potem łączyć dane zapytaniem z JOIN. Klucz obcy powinien mieć ten sam typ danych co klucz główny, na który wskazuje, np. INT.

Najczęstszy błąd to umieszczenie klucza obcego po stronie „jeden”. Gdyby to tabela Klienci wskazywała ID zamówienia, każdy klient mógłby mieć tylko jedno zamówienie - kierunek relacji byłby odwrócony. Połączenie samych pól ID obu tabel dałoby relację jeden do jednego: klient o ID 5 pasowałby tylko do zamówienia o ID 5, co nie ma sensu biznesowego. Trzecia tabela z dwoma kluczami obcymi to sposób na relację wiele do wielu, np. między zamówieniami a towarami, i tutaj jest zbędna. Przy relacji jeden do wielu wystarczy klucz obcy w tabeli Zamowienia, wskazujący ID w tabeli Klienci. Przy projektowaniu bazy pomaga pytanie: ile rekordów drugiej tabeli może dotyczyć jednego rekordu pierwszej. Jeden klient może złożyć wiele zamówień, ale każde zamówienie złożył jeden klient. Ta odpowiedź wskazuje stronę „wiele”, a tam właśnie umieszcza się klucz obcy.

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.