Questão FC369410
Na teoria do processo de normalização em bancos de dados relacionais, o conceito de chave é definido por “um conjunto de uma ou mais colunas, tal que não possa haver duas linhas, t
Projeto e Modelagem de Dados
FGV · 2024
Na teoria do processo de normalização em bancos de dados relacionais, o conceito de chave é definido por “um conjunto de uma ou mais colunas, tal que não possa haver duas linhas, t1, t2, cujos valores presentes nessas colunas sejam idênticos em t1 e t2”.
Nesse contexto, considere uma tabela T, com colunas A, B, C e D, para as quais são válidas as seguintes dependências funcionais:
A -> B
B -> C
B -> D
C -> B
Supondo que, adicionalmente, a dependência funcional
C -> A
seja válida, é correto concluir que, obrigatoriamente, a tabela T deve ser:
- declarada com duas chaves distintas;
- declarada com três chaves distintas;
- declarada com uma chave apenas;
- particionada em duas tabelas;
- particionada em três tabelas.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A, B e C são, isoladamente, suficientes para determinar todas as colunas. Calculando os fechamentos: \(A^+ = \{A\}\xrightarrow{A\to B}\{A,B\}\xrightarrow{B\to C,B\to D}\{A,B,C,D\}\); \(B^+ = \{B\}\xrightarrow{B\to C}\{B,C\}\xrightarrow{C\to A}\{A,B,C\}\xrightarrow{B\to D}\{A,B,C,D\}\); \(C^+ = \{C\}\xrightarrow{C\to A}\{C,A\}\xrightarrow{A\to B}\{A,B,C\}\xrightarrow{B\to D}\{A,B,C,D\}\).
Como cada fecho de singleton contém todas as colunas, cada um desses atributos é uma chave candidata. Não há chave menor que um singleton, e D não determina os demais, logo não é chave. Portanto, obrigatoriamente a tabela T possui três chaves distintas: A, B e C.
Conteúdo do catálogo FC Concursos · Atualizado em