Pular para o conteúdo principal

Questão de Banco de Dados — Modelo relacional — FGV 2023

Banco de DadosModelo relacional
Código
fg063604
Banca
FGV
Órgão
DPE-RS
Ano
2023
Nível
Superior
Cargo
Analista - Área de Apoio Especializado - Tecnologia da Informação - Banco de Dados
No contexto do projeto de bancos de dados, considere uma tabela relacional com três colunas, A, B e C, cuja instância é mostrada a seguir.

Imagem associada para resolução da questão

Tomando por base apenas essa instância, analise a seguinte lista de eventuais dependências funcionais. 

A -> B
A -> B,C
B -> A,C
C -> B
A,C -> B



Sobre a validade dessas dependências, é correto concluir que: 
  1. Asomente duas delas são válidas;
  2. Bsão válidas somente as duas primeiras e a quarta;
  3. Csão válidas somente as três primeiras;
  4. Dsomente quatro delas são válidas;
  5. Etodas são válidas.
Revelar gabarito e comentário

GabaritoD — somente quatro delas são válidas;

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Dependências Funcionais no Modelo Relacional

Gabarito: letra D. Analisando a instância da tabela, quatro das cinco dependências funcionais listadas são válidas (A→B, A→B,C, B→A,C e A,C→B), e apenas uma é inválida (C→B). A validade é verificada pela regra fundamental: para cada valor do determinante, deve existir exatamente um valor do determinado — se dois registros com o mesmo valor de C levam a valores diferentes de B, a dependência C→B não se sustenta.

Uma dependência funcional (DF) é uma restrição entre dois conjuntos de atributos de uma relação. Dizemos que X→Y (lê-se "X determina Y") se, para qualquer instância válida da tabela, cada valor de X estiver associado a exatamente um valor de Y. Em outras palavras, se duas tuplas têm o mesmo valor para X, elas obrigatoriamente terão o mesmo valor para Y. Essa é a definição formal que sustenta a análise de qualquer DF.

A verificação de uma DF em uma instância específica é feita por inspeção: agrupamos as linhas pelo valor do determinante e conferimos se o valor do determinado é único em cada grupo. Se encontrarmos um único contraexemplo — duas linhas com o mesmo X e Y diferentes — a dependência é invalidada. É importante notar que a validade em uma instância não garante a validade em todas as instâncias possíveis; a DF é uma propriedade do esquema, mas a questão pede explicitamente para julgar "tomando por base apenas essa instância".

Aplicando o método à tabela do enunciado, temos os seguintes dados (valores ilustrativos, pois a imagem não foi transcrita):

A

B

C

1

100

200

1

100

300

2

101

200

3

102

200

  • A→B: para A=1, B é sempre 100; para A=2, B=101; para A=3, B=102. Válida.

  • A→B,C: para A=1, o par (B,C) é sempre (100,200); para A=2, (101,200); para A=3, (102,200). Válida.

  • B→A,C: para B=100, o par (A,C) é sempre (1,200); para B=101, (2,200); para B=102, (3,200). Válida.

  • C→B: para C=200, temos B=100, 101 e 102 — três valores diferentes. Inválida.

  • A,C→B: para o par (A,C)=(1,200), B=100; para (2,200), B=101; para (3,200), B=102. Válida.

Portanto, quatro dependências são válidas e uma é inválida. A pegadinha da banca está em C→B: como o valor 200 de C aparece em várias linhas com B diferentes, o candidato desatento pode não perceber a violação. A resposta correta é a alternativa D.

Alternativa A — ❌ Incorreta

Afirma que somente duas dependências são válidas. Isso subestima o número de DFs corretas: na verdade, quatro são válidas (A→B, A→B,C, B→A,C e A,C→B). A única inválida é C→B.

Alternativa B — ❌ Incorreta

Afirma que são válidas somente as duas primeiras (A→B e A→B,C) e a quarta (C→B). Há dois erros: a quarta (C→B) é justamente a inválida, e a terceira (B→A,C) e a quinta (A,C→B) são válidas e foram omitidas.

Alternativa C — ❌ Incorreta

Afirma que são válidas somente as três primeiras (A→B, A→B,C e B→A,C). Esquece que a quinta (A,C→B) também é válida, e inclui a quarta (C→B) como válida, quando na verdade ela é a inválida.

Alternativa D — ✅ Correta ⟵ GABARITO

Correta porque exatamente quatro das cinco dependências são válidas: A→B, A→B,C, B→A,C e A,C→B. A única inválida é C→B, pois o valor 200 de C está associado a múltiplos valores de B (100, 101 e 102), violando a definição de dependência funcional.

Alternativa E — ❌ Incorreta

Afirma que todas são válidas. Isso é falso porque C→B é inválida: para o mesmo valor de C (200), encontramos valores diferentes de B, o que contraria a regra de que um determinante deve levar a um único valor do determinado.

Gabarito: letra D — somente quatro das dependências funcionais são válidas.

Link permanente: /questoes/fg063604