Definição - o que significa integridade referencial (RI)?
Para manter a integridade referencial, os dados relacionais nas tabelas do banco de dados devem ser universalmente configuráveis para que as alterações em uma parte do sistema não levem a problemas imprevistos em outro lugar.
Especificamente, as chaves que fazem referência a elementos de outras tabelas precisam ser conectadas a esses outros campos, de modo que, se houver uma alteração, tudo seja atualizado junto, e não separadamente.
Isso evita erros onde atualizações graduais criam discrepâncias.
Definirtec explica integridade referencial (RI)
Uma maneira comum de impor integridade referencial tem a ver com o desenvolvimento de 'gatilhos' que implementarão 'cascatas' em toda a estrutura de banco de dados.
De um modo geral, essas ferramentas permitem que os administradores construam uma integridade referencial que funcione.
Trabalhando com chaves primárias e estrangeiras, os profissionais de banco de dados podem criar modelos para impor integridade referencial em sistemas de tabelas.
Então, com a integridade referencial estabelecida, o conteúdo do banco de dados será reunido para ser atualizado em conjunto quando necessário. Por exemplo:
Considere um banco de dados bancário, que contém duas tabelas:
-
Tabela CUSTOMER_MASTER: contém os dados básicos do cliente / titular da conta, como nome, número do seguro social, endereço e data de nascimento.
-
Tabela ACCOUNTS_MASTER: armazena dados básicos da conta bancária, como tipo de conta, data de criação da conta, titular da conta e limites de saque.
Para identificar exclusivamente cada cliente / titular da conta na tabela CUSTOMER_MASTER, uma coluna de chave primária chamada CUSTOMER_ID é criada.
Para identificar um relacionamento de cliente e conta bancária na tabela ACCOUNTS_MASTER, um cliente existente na tabela CUSTOMER_MASTER deve ser referenciado.
Portanto, a coluna CUSTOMER_ID - também criada na tabela ACCOUNTS_MASTER - é uma chave estrangeira. Esta coluna é especial porque seus valores não foram criados recentemente.
Em vez disso, esses valores devem fazer referência a valores existentes e idênticos na coluna de chave primária de outra tabela, que é a coluna CUSTOMER_ID da tabela CUSTOMER_MASTER.
Integridade referencial é um padrão que significa que qualquer valor CUSTOMER_ID na tabela CUSTOMER_MASTER não pode ser editado sem editar o valor correspondente na tabela ACCOUNTS_MASTER.
Por exemplo: se o ID do cliente de Andrew Smith for alterado na tabela CUSTOMER_MASTER, essa alteração também deverá ser aplicada à tabela ACCOUNTS_MASTER, permitindo assim que as informações da conta de Andrew Smith se vinculem ao seu ID de cliente.
Então, por que a integridade referencial é importante?
Ele permite que as tabelas sejam alteradas quando necessário. Suponha que você tenha uma mesa de gerentes em uma mesa e uma mesa de membros da equipe em outra, com uma referência ao gerente do membro da equipe da primeira mesa.
Se um dos gerentes sai, e o banco de dados tem que refletir isso, o sistema de integridade referencial garante que na segunda tabela, a tabela separada dos membros da equipe, o campo para o gerente atribuído também seja alterado.
Caso contrário, você teria o nome obsoleto aparecendo ao pesquisar a segunda tabela.
Todo esse processo também pode ser referido como criação de "consistência".
Os esforços de normalização do banco de dados freqüentemente também contribuem para esse processo.
A normalização do banco de dados é comumente descrita como "redução de uma estrutura de dados complexa em uma simples" e, por meio dessas técnicas, que incluem o uso dos três "formulários" conhecidos pelos administradores, a integridade referencial pode ser aplicada naturalmente em uma extensão significativa.