FC ConcursosFC Concursos

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

  1. 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.
  2. a existência do atributo cpf_cand na relação candidato_questao viola, nessa relação, a segunda forma normal.
  3. 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.
  4. a restrição de verificação imposta sobre o atributo gabarito da relação questao permite troca direta entre os predicados IN e EXISTS.
  5. 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

Continue aprendendo