Przejdź do treści głównej
INF.03Bazy Danych

Integralność referencyjna i więzy spójności

Zasada w relacyjnych bazach danych zapewniająca, że relacje między tabelami pozostają spójne, a klucze obce zawsze wskazują na istniejące rekordy.

Na czym polega integralność referencyjna?

Gwarantuje, że w bazie danych nie powstaną tzw. rekordy osierocone (np. zamówienie przypisane do nieistniejącego klienta). Jeśli tabela podrzędna posiada klucz obcy, nie można:

  1. Wstawić do tabeli potomnej klucza obcego, którego nie ma w tabeli nadrzędnej.
  2. Usunąć rekordu z tabeli nadrzędnej, jeśli istnieją powiązane z nim rekordy potomne (chyba że zdefiniowano kaskadowość).

Reakcje na usuwanie/edycję (ON DELETE / ON UPDATE):

  • CASCADE – automatycznie usuwa lub aktualizuje powiązane rekordy w tabeli podrzędnej.
  • RESTRICT – zgłasza błąd i blokuje operację w tabeli nadrzędnej.
  • SET NULL – ustawia pole klucza obcego na wartość NULL.
  • NO ACTION – zachowuje się domyślnie tak jak RESTRICT.

Najczęstsze pułapki na egzaminie INF.03:

  • Jeśli próbujesz usunąć tabelę nadrzędną poleceniem DROP TABLE, baza zgłosi błąd, dopóki nie usuniesz najpierw tabeli potomnej lub więzów klucza obcego.

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Integralność referencyjna i więzy spójności lub rozpocznij trening.