Questão nº 100
Questão de Ciência de Dados · FGV TCE-PA 2024 (nº 100)
Considere o Sistema de Concursos de uma empresa hipotética que adota um Sistema de Gerenciamento de Banco de Dados (SGDB) relacional.
A primeira tabela construída no banco foi Tabela_Candidato, que possui os seguintes campos:
candidato_ID;
candidato_Nome;
candidato_CPF.
A segunda tabela construída foi a Tabela_Concurso, que possui os seguintes campos:
concurso_ID;
candidato_ID;
concurso_Nome;
concurso_Cargo.
No contexto dos bancos de dados relacionais, é correto afirmar que
- Ao campo candidato_ID é uma chave estrangeira na Tabela_Candidato.
- Bo campo candidato_ID é uma chave primária na Tabela_Concurso.
- Ca Tabela_Candidato está incompleta, haja vista que não possui informação do concurso que o candidato pode fazer.
- Ddá forma como o banco de dados foi concebido, só é possível lançar um concurso por candidado.
- Ea inserção da chave estrangeira candidato_ID na tabela Tabela_Concurso, permite o lançamento de um candidato em vários concursos. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Em bancos de dados relacionais, uma chave primária é um campo que identifica de forma única cada registro (linha) em uma tabela, garantindo que não haja duplicatas. Uma chave estrangeira é um campo em uma tabela que faz referência à chave primária de outra tabela, criando um elo entre elas.
- (A) Incorreta: Na Tabela_Candidato,
candidato_IDé a chave primária, pois identifica unicamente cada candidato. Uma chave estrangeira sempre faz referência a uma chave primária em outra tabela. - (B) Incorreta: Na Tabela_Concurso,
concurso_IDé a chave primária, identificando cada concurso.candidato_IDnesta tabela é uma chave estrangeira que aponta para a Tabela_Candidato. Se fosse primária, um concurso só poderia ter um candidato, o que não faz sentido. - (C) Incorreta: A Tabela_Candidato tem a função de armazenar os dados dos candidatos. A informação sobre os concursos que ele faz é armazenada na Tabela_Concurso, que se relaciona com a Tabela_Candidato através do
candidato_ID. Essa separação é um princípio fundamental de bancos de dados relacionais para evitar redundância. - (D) Incorreta: Armadilha da banca! Esta afirmação seria verdadeira se
candidato_IDfosse a chave primária da Tabela_Concurso ou parte de uma chave primária composta que impedisse repetições. No entanto, comoconcurso_IDé a chave primária da Tabela_Concurso (identificando cada inscrição), o campocandidato_ID(como chave estrangeira) pode se repetir, permitindo que o mesmo candidato seja associado a múltiplos concursos (registros diferentes na Tabela_Concurso, cada um com umconcurso_IDúnico). - (E) Correta: A chave estrangeira
candidato_IDna Tabela_Concurso estabelece um vínculo com a Tabela_Candidato. Comoconcurso_IDé a chave primária da Tabela_Concurso, cada registro nesta tabela representa uma inscrição única em um concurso. O mesmocandidato_IDpode aparecer em várias linhas da Tabela_Concurso, cada uma associada a umconcurso_IDdiferente, permitindo que um candidato se inscreva em múltiplos concursos.
Fonte: FGV TCE-PA 2024 Auditor de Controle Externo - Administrativa - Ciência de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.