1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do relacyjnych baz danych w SQL

Connected

ćwiczenie

Zmiana zachowania klucza obcego przy usuwaniu rekordów

Do tej pory zdefiniowano trzy ograniczenia klucza obcego:

  1. professors.university_id do universities.id
  2. affiliations.organization_id do organizations.id
  3. affiliations.professor_id do professors.id

Obecnie wszystkie te klucze mają ustawione zachowanie ON DELETE NO ACTION. W tym ćwiczeniu zmienisz to zachowanie dla kolumny odwołującej się do organizations w tabeli affiliations. Jeśli organizacja zostanie usunięta, wszystkie powiązane z nią afiliacje (niezależnie od profesora) powinny zostać usunięte automatycznie.

Zmiany zachowania istniejącego klucza nie można dokonać za pomocą ALTER COLUMN. Zamiast tego należy DROPować istniejące ograniczenie klucza, a następnie ADDać nowe z innym zachowaniem ON DELETE.

Aby usunąć ograniczenie, trzeba znać jego nazwę. Ta informacja jest przechowywana w information_schema.

Instrukcje 1/4

undefined XP
    1
    2
    3
    4

Sprawdź istniejące ograniczenia klucza obcego, wykonując zapytanie do table_constraints w information_schema.