Změna chování referenční integrity klíče
Zatím jsi implementoval/a tři omezení cizích klíčů:
professors.university_idnauniversities.idaffiliations.organization_idnaorganizations.idaffiliations.professor_idnaprofessors.id
Tyto cizí klíče mají aktuálně nastavené chování ON DELETE NO ACTION. Teď změníš toto chování pro sloupec odkazující na organizations v tabulce affiliations. Pokud je organizace smazána, měly by se smazat i všechny její záznamy v affiliations (od libovolného profesora).
Úprava omezení klíče pomocí ALTER COLUMN nefunguje. Místo toho je potřeba omezení nejprve DROPnout a pak ADDat nové s jiným chováním ON DELETE.
Pro smazání omezení ale musíš znát jeho název. Tato informace je uložena v information_schema.
Toto cvičení je součástí kurzu
Introduction to Relational Databases in SQL
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';