Questão FC369389
ATENÇÃO: O texto a seguir deve ser usado para a próxima questão. O esquema de um banco de dados relacional, especificado pelos comandos SQL a seguir, atenderá às consultas create t
Projeto e Modelagem de Dados
FGV · 2024
ATENÇÃO:
O texto a seguir deve ser usado para a próxima questão.
O esquema de um banco de dados relacional, especificado pelos comandos SQL a seguir, atenderá às consultas
create table candidato
(
num_inscr int primary key,
cpf_cand char(11) unique,
nome varchar(30)
);
create table questao
(
id int primary key,
texto varchar(20) not null,
gabarito char(1) check (gabarito in ('A','B','C','D','E'))
);
create table candidato_questao
(
num_cand int,
cpf_cand char(11),
id_quest int,
opcao_mar char(1),
primary key(num_cand,id_quest),
unique(cpf_cand,id_quest),
foreign key(num_cand) references candidato,
foreign key(cpf_cand) references candidato(cpf_cand),
foreign key(id_quest) references questao
);
Nesse contexto, é correto afirmar que
- a especificação da restrição imposta sobre o atributo cpf_cand da relação candidato produzirá erro de compilação, pois há a demanda pela especificação da cláusula CONSTRAINT.
- a existência do atributo cpf_cand na relação candidato_questao viola, nessa relação, a segunda forma normal.
- a restrição de integridade referencial imposta sobre o atributo cpf_cand da tabela candidato_questao é conflitante com a definição de chave primária da relação.
- a restrição de verificação imposta sobre o atributo gabarito da relação questao permite troca direta entre os predicados IN e EXISTS.
- o atributo cpf_cand é um atributo principal da superchave mínima A= {cpf_cand, id_quest} da relação candidato_questao.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
cpf_cand é parte de uma superchave mínima porque existe a restrição unique(cpf_cand, id_quest) na relação candidato_questao, ou seja, a combinação \(A = \{cpf\_cand, id\_quest\}\) identifica unicamente tuplas.
É mínima porque nenhuma das componentes isoladas determina unicamente as tuplas: nem cpf_cand sozinho (pode repetir várias respostas do mesmo candidato), nem id_quest sozinho (várias respostas de diferentes candidatos para a mesma questão) têm unicidade declarada. Assim, não se pode remover atributo sem perder a propriedade de chave.
Logo, cpf_cand é um atributo principal (prime) — pertence a uma chave candidata \(A\) — e por isso a afirmação é correta.
Conteúdo do catálogo FC Concursos · Atualizado em