1.1. A operação Inserir

A operação Inserir oferece uma lista de valores de atributo para que uma nova tupla possa ser inserida em uma relação.

Ela pode violar qualquer um dos quatro tipos de restrições discutidos anteriormente (gerando erros ou alertas). As restrições de domínio podem ser violadas se for dado um valor de atributo que não aparece no domínio correspondente ou não é do tipo de dado apropriado. As restrições de chave podem ser violadas se um valor de chave na nova tupla já existir em outra tupla na relação. A integridade de entidade pode ser violada se qualquer parte da chave primária da nova tupla for nula. A integridade referencial pode ser violada se o valor de qualquer chave estrangeira em se referir a uma tupla que não existe na relação referenciada. Aqui estão alguns exemplos para ilustrar essa discussão.

Operação Resultado
1- Operação: INSERIR (NULL, ‘8-1’, ‘8ª.’) em TURMA. Resultado: esta inserção viola a restrição de integridade de entidade (NULL para a chave primária ID_Turma), de modo que é rejeitada.
2- Operação: INSERIR (6, ‘8-1’, ‘8ª.’) em TURMA. Resultado: Esta inserção viola a restrição de chave porque outra tupla com o mesmo valor de ID_Turma (6) já existe na relação TURMA, e, portanto, é rejeitada.
3- Operação: INSERIR (5, ‘2660/0’, ‘Marcos Valério Santiago’, ‘Sim’, 7) em ALUNO. Resultado: Esta inserção viola a restrição de integridade referencial especificada sobre ID_Turma em ALUNO porque não existe uma tupla referenciada correspondente em TURMA com ID_Turma igual a 7.
4- Operação: INSERIR (5, ‘2660/0’, ‘Marcos Valério Santiago’, ‘Sim’, 6) em ALUNO. Resultado: Esta inserção satisfaz todas as restrições, de modo que é aceitável.

Se uma inserção violar uma ou mais restrições, a opção padrão é rejeitar a inserção. Nesse caso, o SGBD geralmente oferece um motivo ao usuário sobre a rejeição da inserção, ou seja, uma informação do porquê ocorreu o erro. Outra opção é tentar corrigir o motivo da rejeição da inserção, mas isso normalmente não é usado para violações causadas pela operação Inserir; em vez disso, é usado com mais frequência na correção de violações das operações Excluir e Atualizar. Saiba+

Copyright © 2014 AIEC.