ANÚNCIO

~/questoes/programacao

O que é integridade referencial em bancos de dados relacionais?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência FastAPI: Banco de Dados, Modelos e Migrações
Para fixar

Integridade Referencial em Bancos de Dados Relacionais

Conceito central

Integridade referencial é um mecanismo que garante que toda chave estrangeira em uma tabela aponte para um registro válido na tabela referenciada. Isso previne dados órfãos — registros que fazem referência a algo que não existe — mantendo a consistência do banco de dados.

Por que essa resposta faz sentido

A alternativa B está correta porque integridade referencial é exatamente a garantia de que chaves estrangeiras apontam para registros existentes. Quando você tenta inserir ou atualizar uma chave estrangeira, o banco valida automaticamente se o registro referenciado existe na tabela de origem.

Armadilhas comuns

  • Confundir integridade referencial com backup ou replicação de dados — integridade referencial é sobre validação lógica, não sobre cópias ou redundância.
  • Pensar que integridade referencial é apenas um recurso opcional — na verdade, é fundamental em bancos relacionais bem projetados e é aplicada automaticamente quando há chaves estrangeiras.
  • Não entender que violações de integridade referencial são erros que o banco rejeita — se você tentar inserir uma chave estrangeira inválida, o banco vai lançar uma exceção e impedir a operação.

Entenda as alternativas

A

Backup automático é um recurso de proteção e recuperação de dados, totalmente diferente de integridade referencial. Backup salva cópias do banco; integridade referencial garante a validade dos relacionamentos entre tabelas.

B

Esta é a definição precisa de integridade referencial. Chaves estrangeiras são ponteiros para outros registros, e o banco garante que esses ponteiros sempre apontam para algo real e válido na tabela referenciada.

C

Executar queries em múltiplos bancos simultaneamente é uma funcionalidade de distribuição de dados ou federação de bancos, não tem relação com garantir que relacionamentos entre tabelas sejam válidos.

D

Criptografia é um mecanismo de segurança para proteger dados em repouso ou em trânsito. Integridade referencial é sobre validar relacionamentos lógicos entre tabelas, não sobre criptografar informações.

Dica prática: Em FastAPI com SQLAlchemy, defina relacionamentos usando `relationship()` nas suas classes de modelo. O SQLAlchemy automaticamente cria as chaves estrangeiras no banco, e o banco aplica integridade referencial sem você precisar fazer nada — qualquer tentativa de referenciar um registro inexistente será bloqueada.

Revise pensando: Se você tenta adicionar um comentário (comment) que referencia um usuário (user) que não existe no banco, o que acontece se integridade referencial estiver ativa?