DB2 - Banco de dados - Integridade de Referência - www.cadcobol.com.br
Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com
Integridade de Referência
Garante que qualquer valor apontado pela chave estrangeira tenha um valor correspondente na chave primaria à qual está associada.
Esta integridade de referência é implementada no DB2 via DLL (Instruções de Definição de Objetos na Linguagem SQL).
No DB2 a integridade de referência obedece as seguintes regras:
Uma chave primária tem valor único e não nulo.
Uma chave estrangeira é nula ou tem valor correspondente na chave primária. Tanto na inserção como na atualização de linhas, o DB2 força a observação destas regras.
Todas as Tabelas associadas entre si, via regra de integridade de referencia, formam um conjunto chamado de estrutura referencial ou referencial structure.
Uma tabela com chave primária definida é chamada de parent table ou tabela mãe.
Uma tabela com chave estrangeira definida é chamada de dependent table ou tabela dependente.
Uma linha de uma parent table é chamada de parent row ou linha mãe se existir pelo menos uma linha na tabela dependente como chave estrangeira correspondente a sua chave primária.
Uma linha de uma dependent table é chamada de dependent row ou linha dependente se existir uma linha mãe com valor de chave primária correspondente a da sua chave estrangeira, ou seja, a chave estrangeira não deve ter valor nulo para ser uma linha dependente.
Na eliminação (DELETE) de linhas da tabela mãe, podem ocorrer situações conforme a regra de deleção estabelecida pela chave estrangeira.
CASCADE: Regra onde todas as linhas dependentes são eliminadas juntamente com a mãe.
SET NULL: Regra onde as chaves estrangeiras da linha dependentes são atualizadas com valor nulo após eliminação da mãe.
RESTRICT: Regra onde a eliminação da linha mãe é impedida. Neste caso somente as linhas que não são mães podem ser eliminadas.