Przejdź do głównej treści
  1. Strona główna
  2. Technik informatyk
  3. INF.03
  4. Pytanie

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

Aby przy usunięciu rekordu nadrzędnego automatycznie usunęły się powiązane z nim rekordy podrzędne, w definicji klucza obcego dodaje się klauzulę:

Źle. ON UPDATE CASCADE reaguje na ZMIANĘ klucza, a nie na usunięcie.
Dobrze. ON DELETE CASCADE przy usunięciu rekordu nadrzędnego usuwa też powiązane podrzędne.
Źle. ON DELETE RESTRICT BLOKUJE usunięcie rekordu nadrzędnego, gdy ma powiązania.
Źle. ON DELETE SET NULL ustawia klucz obcy na NULL, a nie usuwa rekordów podrzędnych.
ON DELETE CASCADE to opcja klucza obcego, która sprawia, że usunięcie rekordu w tabeli nadrzędnej automatycznie usuwa wszystkie powiązane z nim rekordy w tabeli podrzędnej. Zapobiega to pozostawieniu „osieroconych” wierszy wskazujących na nieistniejący rekord. Dodaje się ją w definicji klucza obcego, np. FOREIGN KEY(klient_id) REFERENCES klienci(id) ON DELETE CASCADE. Dlatego poprawna jest klauzula ON DELETE CASCADE.
Pozostałe klauzule reagują inaczej. ON DELETE SET NULL przy usunięciu rekordu nadrzędnego nie kasuje podrzędnych, lecz ustawia ich klucz obcy na NULL (powiązanie znika, rekordy zostają). ON DELETE RESTRICT działa wręcz odwrotnie - nie pozwala usunąć rekordu nadrzędnego, dopóki istnieją powiązane podrzędne. ON UPDATE CASCADE dotyczy ZMIANY wartości klucza, a nie usuwania. Automatyczne usunięcie rekordów podrzędnych wraz z nadrzędnym daje ON DELETE CASCADE, dlatego to ona jest poprawna.

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. Wyślemy 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.