1.2. A operação Excluir
Para especificar a exclusão, uma condição sobre os atributos da relação seleciona a tupla (ou tuplas) a ser(em) excluída(s). Aqui estão alguns exemplos.
| Operação | Resultado |
|---|---|
| 1- Operação: Excluir a tupla em TURMA com ID_Turma = 2. | Resultado: Esta exclusão é aceitável e exclui exatamente uma tupla. |
| 2- Operação: Excluir a tupla em TURMA com ID_Turma = 1. | Resultado: Esta exclusão não é aceitável, pois existem tuplas em ALUNO que se referenciam a esta tupla. Logo, se a tupla em TURMA for excluída, haverá violações de integridade referencial. |
Várias opções estão disponíveis se uma operação de exclusão causar uma violação. A primeira opção, chamada restrict, é rejeitar a exclusão. A segunda opção, chamada cascade, é tentar propagar (ou gerar em cascata) a exclusão excluindo tuplas que referenciam aquela que está sendo excluída. Por exemplo, nesta operação, o SGBD poderia excluir automaticamente a primeira tupla da relação ALUNO (que é referenciada pelo comando) juntamente com a tupla da relação TURMA. Uma terceira opção, chamada set null ou set default, é modificar os valores de atributo que referenciam a causa da violação; cada valor desse tipo é definido para NULL ou alterado para referenciar um valor padrão válido. Observe que, se um atributo referenciando que causa uma violação faz parte da chave primária, ele não pode ser definido como nulo; caso contrário, ele violaria a integridade de entidade.
|
Em geral, quando uma restrição de integridade referencial é especificada na DDL, o SGBD permitirá que o projetista de banco de dados especifique qual das três opções se aplica no caso de uma violação da restrição. Cada tabela pode ter um tipo de configuração de restrição distinta. |