← Questões de Banco de Dados

Banco de Dados · FGV · 2023

Questão comentada de Banco de Dados

No contexto do projeto de bancos de dados relacionais, considere uma tabela T composta pelas colunas “A”, ”B”, “C” e “D”. Verificam-se para essa tabela as dependências funcionais a seguir. A -> B A -> C B -> A B -> D Assinale o conjunto de constraints que devem ser aplicadas à tabela referida, de modo que a mesma atenda plenamente às formas normais.

Gabarito: C

Aqui a ideia central é identificar as chaves candidatas da tabela. Pelas dependências funcionais, A determina B e C, e como B determina A e D, então A fecha em {A, B, C, D}. O mesmo acontece com B: ele determina A, que por sua vez determina C e volta para B, além de também determinar D. Resultado: A e B são chaves candidatas. Quando você quer que uma tabela relacional respeite essas dependências e fique em forma normal adequada, a chave deve ser garantida por restrição de unicidade. Como há duas chaves candidatas, você precisa impor UNIQUE em A e UNIQUE em B. Assim, nenhuma linha pode repetir A nem repetir B, o que preserva os determinantes mínimos apontados pelas FDs. Isso também conversa com a teoria de normalização: como os lados esquerdos das dependências são superchaves, a relação atende à lógica de BCNF. Em provas de banco de dados, a banca costuma misturar dependência funcional com constraint SQL para ver se você percebe qual coluna, sozinha, já identifica a tupla. Por isso o gabarito é a alternativa C: duas constraints UNIQUE, uma sobre A e outra sobre B. As demais opções ou juntam colunas sem necessidade, ou repetem a mesma restrição, ou deixam de garantir as chaves candidatas corretamente.

Continue treinando

Questões relacionadas