Змініть поведінку забезпечення посилальної цілісності для ключа
Дотепер ви застосували три обмеження зовнішнього ключа:
professors.university_id→universities.idaffiliations.organization_id→organizations.idaffiliations.professor_id→professors.id
Зараз ці зовнішні ключі мають поведінку ON DELETE NO ACTION. Тут ви зміните цю поведінку для стовпця з посиланням на organizations у affiliations. Якщо організацію видалено, усі її афіліації (для будь‑якого професора) також мають бути видалені.
Змінити обмеження ключа через ALTER COLUMN не вийде. Натомість треба спочатку DROP обмеження ключа, а потім ADD нове з іншою поведінкою ON DELETE.
Щоб видалити обмеження, потрібно знати його назву. Цю інформацію також збережено в information_schema.
Ця вправа є частиною курсу
Вступ до реляційних баз даних у SQL
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';