← Questões de Banco de Dados

Banco de Dados · FGV · 2022

Questão comentada de Banco de Dados

No Campeonato Brasileiro de Futebol, todos os times jogam entre si duas vezes, alternando os papeis de mandante e visitante. Um time não pode jogar mais de uma vez na mesma data. Nesse contexto, considere uma tabela de bancos de dados que armazene simplificadamente essas informações, com as seguintes colunas: •time_mandante •time_visitante •data •gols_mandante •gols_visitante À luz dessas premissas, assinale a lista com todas as combinações de colunas que devem, necessária e exclusivamente, ser estabelecidas como restrições (primary key ou unique) para atender à Forma Normal Boyce-Codd.

Gabarito: E

A Forma Normal de Boyce-Codd (BCNF) pede que toda dependência funcional relevante tenha como determinante uma superchave. Em português simples: se uma coluna, ou conjunto de colunas, “determina” outra informação, esse determinante não pode ser algo que deixe linhas duplicadas ou ambíguas. A ideia é cortar anomalias de inserção, alteração e exclusão. Neste caso, a tabela representa partidas. Pelas premissas, um time não pode jogar mais de uma vez na mesma data. Então, para identificar de forma única uma partida, a combinação de mandante e visitante já distingue o confronto, mas ainda há um detalhe importante: como um time não repete jogo na mesma data, a data também ajuda a identificar a partida no contexto da tabela. Por isso, as restrições precisam impedir duplicidade tanto do par de times quanto da presença do mesmo time no mesmo dia. O ponto central é que, para BCNF, não basta pensar em um único identificador bonitinho. Se existem dependências funcionais como time_mandante + data identificando uma linha, e time_visitante + data também identificando outra, esses conjuntos precisam ser protegidos por restrições de unicidade. Assim, os determinantes ficam superchaves e a tabela não permite registros inconsistentes. Por isso o gabarito é a letra E: (time_mandante, time_visitante), (time_mandante, data) e (time_visitante, data). A primeira impede repetir o mesmo confronto com os mesmos papéis; as outras duas garantem que um time não apareça em mais de uma partida na mesma data, respeitando a regra do enunciado e deixando a modelagem compatível com BCNF.

Continue treinando

Questões relacionadas