1.3. A operação Atualizar
É necessário especificar uma condição sobre os atributos da relação para selecionar a tupla ou tuplas a serem modificadas. Aqui estão alguns exemplos.
| Operação | Resultado |
|---|---|
| 1. Operação: Atualizar ALUNO, alterando ID_Turma para 2 onde o ID_Aluno = 1. | Resultado: Aceitável, irá mudar a turma do anulo ‘Thiago’ de ‘5-1’ para ‘5-2’ da ‘5ª série’. |
2. Operação: Atualizar ALUNO, alterando o ID_Turma para NULL e Ativo para ‘Não’ onde o ID_Aluno = 4. |
Resultado: Aceitável, irá transformar a aluna ‘Mariana’ em ex-aluna. |
| 3. Operação: Atualizar ALUNO, alterando ID_Turma para 2 onde o ID_Aluno = 5. | Resultado: Inaceitável, pois não existe aluno com esse ID. |
| 4. Operação: Atualizar ALUNO, alterando ID_Turma para 7 onde o ID_Aluno = 4. | Resultado: Inaceitável, pois viola a integridade referencial, não existe turma com ID_Turma igual a 7. |
| 5. Operação: Atualizar ALUNO, alterando ID_Aluno para 4 onde o ID_Aluno = 3. | Resultado: Inaceitável, pois viola a restrição de chave primária, repetindo um valor que já existe como chave primária na tupla. |
| 6. Operação: Atualizar ALUNO, alterando ID_Turma para ‘7-1’ onde o ID_Aluno = 3. | Resultado: Inaceitável, pois o valor ‘7-1’ é inválido para o tipo de dado, além de ferir a regra de integridade referencial. |
Atualizar um atributo que nem faz parte de uma chave primária nem de uma chave estrangeira em geral não causa problemas; o SGBD só precisa verificar para confirmar se o novo valor é do tipo de dado e domínio corretos. Modificar um valor de chave primária é semelhante a excluir uma tupla e inserir outra em seu lugar, pois usamos a chave primária para identificar tuplas. Logo, as questões discutidas anteriormente nos itens “Operação Inserir” e “Operação Excluir” entram em cena. Saiba+
Se um atributo de chave estrangeira for modificado, o SGBD deverá garantir que o novo valor referencia uma tupla existente na relação referenciada (ou que seja definido como NULL). Existem opções semelhantes para lidar com as violações de integridade referencial causadas pela operação Atualizar, como as opções discutidas para a operação Excluir. De fato, quando uma restrição de integridade referencial for especificada na DLL, o SGBD permitirá que o usuário escolha opções separadas para lidar com uma violação causada pela operação Excluir e uma violação causada pela operação Atualizar.
X