ComeçarComece gratuitamente

Altere o comportamento de integridade referencial de uma chave

Até agora, você implementou três restrições de chave externa:

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

Atualmente, essas chaves externas têm o comportamento ON DELETE NO ACTION. Aqui, você deve mudar esse comportamento para a coluna que faz referência a organizations de affiliations. Se uma organização for excluída, todas as afiliações dela (por parte de qualquer professor) também deverão ser excluídas.

A alteração de uma restrição de chave não funciona com ALTER COLUMN. Em vez disso, é preciso usar DROP para descartar a restrição de chave e, com ADD, acrescentar uma nova com um comportamento ON DELETE diferente.

No entanto, para excluir restrições, você precisa saber o nome delas. Essas informações também são armazenadas em information_schema.

Este exercício faz parte do curso

Introdução aos Bancos de Dados Relacionais em SQL

Ver Curso

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';
Editar e executar código