Questão de Banco de Dados — Conceitos e Fundamentos de Modelo Relacional — INSTITUTO AOCP 2025
- Código
- qa699013
- Banca
- INSTITUTO AOCP
- Órgão
- TRE TO
- Ano
- 2025
- Cargo
- TJ
- AV-V-V-V.
- BF-F-F-F.
- CF-F-V-V.
- DV-V-F-F.
- EV-F-V-F.
GabaritoD — V-V-F-F.
Gabarito: letra D — sequência V-V-F-F. A integridade referencial exige que a chave estrangeira aponte para uma chave primária existente (V), impede registros órfãos na tabela dependente (V), mas pode sim ser configurada para propagar ou restringir alterações (F) e exige que a chave estrangeira tenha o mesmo tipo e tamanho da chave primária referenciada (F).
A integridade referencial é uma das restrições de integridade do modelo relacional, ao lado da integridade de entidade. Enquanto a integridade de entidade garante que a chave primária não seja nula e seja única, a integridade referencial garante que um valor de chave estrangeira em uma tabela dependente corresponda a um valor de chave primária existente na tabela referenciada. Em outras palavras, ela impede que um registro filho exista sem um registro pai válido — é a regra que mantém a consistência dos relacionamentos entre tabelas.
Na prática, quando você define uma chave estrangeira em SQL (com FOREIGN KEY), o SGBD aplica essa restrição automaticamente: uma inserção ou atualização que tente gravar um valor de chave estrangeira que não existe na tabela pai é rejeitada. Além disso, o comportamento diante de exclusão ou atualização do registro pai pode ser configurado com as ações ON DELETE e ON UPDATE, que podem ser CASCADE (propaga a alteração), RESTRICT (impede a operação), SET NULL (define o valor nulo) ou NO ACTION. Portanto, a afirmativa III, que diz que a integridade referencial não pode ser configurada para propagar ou restringir alterações, é falsa.
Outro ponto importante: a chave estrangeira deve ter o mesmo tipo de dado e, em geral, o mesmo tamanho da chave primária referenciada, para que a comparação entre os valores seja possível e correta. A afirmativa IV, que diz que isso não é necessário, é falsa.
A pegadinha da banca está em inverter o que é verdadeiro e o que é falso: as duas primeiras afirmativas são verdadeiras e as duas últimas são falsas, mas o candidato desatento pode marcar V-V-V-V ou F-F-F-F por não conhecer as ações de integridade referencial.
Critério | Integridade Referencial (afirmativas 1 e 2) | Ações ON DELETE/ON UPDATE (afirmativa 3) | Compatibilidade de tipos (afirmativa 4) |
|---|---|---|---|
Definição | Chave estrangeira deve referenciar chave primária existente; impede registros órfãos | Pode ser configurada para propagar (CASCADE), restringir (RESTRICT/NO ACTION) ou definir nulo (SET NULL) | Chave estrangeira deve ter mesmo tipo e tamanho da chave primária referenciada |
Verdadeiro/Falso | V-V | F (a afirmativa nega que isso seja possível) | F (a afirmativa nega essa exigência) |
Exemplo prático | Inserir pedido com cliente_id inexistente é rejeitado | Excluir cliente com ON DELETE CASCADE apaga seus pedidos; com RESTRICT, bloqueia | Comparar INT com VARCHAR ou CHAR(5) com CHAR(10) gera erro ou comportamento indefinido |
A tabela que contém a chave estrangeira deve referenciar uma chave primária existente em outra tabela. Isso é a definição básica de integridade referencial: a chave estrangeira em uma tabela filha aponta para a chave primária de uma tabela pai, garantindo que o relacionamento seja válido.
A integridade referencial impede que registros na tabela dependente existam sem um correspondente válido na tabela referenciada. Isso é exatamente o que a restrição faz: ao tentar inserir um registro com uma chave estrangeira que não existe na tabela pai, o SGBD rejeita a operação, evitando registros órfãos.
Quando um registro na tabela referenciada é excluído ou alterado, a integridade referencial pode sim ser configurada para garantir que as alterações sejam propagadas ou restritas nas tabelas dependentes. As ações ON DELETE CASCADE, ON UPDATE CASCADE, RESTRICT, SET NULL e NO ACTION são exatamente isso. A afirmativa inverte o que é verdadeiro.
A chave estrangeira deve ter o mesmo tipo de dado e, em geral, o mesmo tamanho da chave primária à qual faz referência. Isso é necessário para que a comparação entre os valores seja possível e correta. A afirmativa nega essa exigência, sendo falsa.
Conclusão: Corretas: 1 e 2; Incorretas: 3 e 4 → sequência V-V-F-F, portanto a alternativa é a letra D.
Para questões de integridade referencial, lembre-se sempre das ações ON DELETE e ON UPDATE (CASCADE, RESTRICT, SET NULL, NO ACTION). Elas são o ponto mais cobrado e o que diferencia quem sabe do quem decora. E lembre: chave estrangeira sempre com mesmo tipo e tamanho da chave primária referenciada.
Gabarito: letra D
Link permanente: /questoes/qa699013