Questão de Banco de Dados — Conceitos e Fundamentos de Modelo Relacional — Quadrix 2023
- Código
- qa537330
- Banca
- Quadrix
- Órgão
- CREF 3
- Ano
- 2023
- Cargo
- Ana ( )

- CCerto
- EErrado

GabaritoC — Certo
Gabarito: CERTO (letra C). Na tabela DENUNCIA, a coluna Codigo_Agente foi definida como chave estrangeira, pois ela referencia a chave primária da tabela AGENTE, estabelecendo a ligação lógica entre as duas tabelas — exatamente o papel de uma foreign key no modelo relacional.
A chave estrangeira (foreign key) é o mecanismo central para implementar relacionamentos em um banco de dados relacional. Ela é um atributo (ou conjunto de atributos) em uma tabela que referencia a chave primária (ou uma chave candidata) de outra tabela, criando uma associação lógica entre os registros. No caso apresentado, a tabela DENUNCIA registra denúncias apuradas por agentes do CREF3; cada denúncia é feita por um agente, e o Codigo_Agente na tabela DENUNCIA aponta para o Codigo_Agente na tabela AGENTE (que é a chave primária desta). Assim, a coluna na tabela DENUNCIA é, por definição, uma chave estrangeira.
É importante distinguir os papéis das chaves: a chave primária identifica de forma única cada tupla (linha) de uma tabela, enquanto a chave estrangeira não serve para identificar registros, mas sim para associar registros entre tabelas. Essa distinção é fundamental e frequentemente cobrada em provas. A chave estrangeira pode ter valor NULL (quando a associação é opcional), mas a chave primária nunca pode ser NULL.
No modelo relacional, os relacionamentos entre tabelas são implementados por meio de chaves estrangeiras. A cardinalidade do relacionamento determina onde a chave estrangeira deve ser colocada:
Cardinalidade | Onde fica a chave estrangeira |
|---|---|
1:1 (um para um) | Em uma das tabelas (ou em ambas, em casos especiais) |
1:N (um para muitos) | Na tabela do lado N (muitos) |
N:M (muitos para muitos) | Em uma tabela de ligação, com chaves estrangeiras para cada tabela original |
No relacionamento entre AGENTE e DENUNCIA, um agente pode apurar várias denúncias, mas cada denúncia é apurada por um único agente — ou seja, é um relacionamento 1:N. A chave estrangeira Codigo_Agente fica na tabela DENUNCIA (lado N), exatamente como descrito no item.
A pegadinha que a banca explora neste tipo de questão é a confusão entre chave primária e chave estrangeira. O candidato pode pensar que, por ser um código, Codigo_Agente na tabela DENUNCIA seria uma chave primária. No entanto, a chave primária da tabela DENUNCIA é outro atributo (provavelmente Codigo_Denuncia), e Codigo_Agente é apenas um atributo que referencia a tabela AGENTE. A função de associação entre tabelas é o que caracteriza a chave estrangeira.
Guarde o critério decisivo: se a coluna referencia a chave primária de outra tabela, ela é chave estrangeira — independentemente do nome que recebe. É exatamente esse critério que confirma o item.
A afirmativa está correta. A coluna Codigo_Agente na tabela DENUNCIA foi definida como chave estrangeira porque ela referencia a chave primária da tabela AGENTE, permitindo a ligação lógica entre as duas tabelas. Esse é o papel fundamental da chave estrangeira: implementar relacionamentos no modelo relacional, associando registros de tabelas diferentes. A nomenclatura "Codigo_Agente" sugere exatamente essa referência, e a cardinalidade do relacionamento (1:N) confirma que a chave estrangeira deve estar na tabela DENUNCIA (lado N).
Para identificar uma chave estrangeira em uma questão, pergunte: "essa coluna referencia a chave primária de outra tabela?" Se sim, é chave estrangeira. Lembre-se: a chave primária identifica a tupla na própria tabela; a chave estrangeira associa a tupla a outra tabela. Essa distinção resolve a maioria das questões sobre o tema.
Gabarito: letra C (CERTO).
Link permanente: /questoes/qa537330