Baixe o material de estudo
A normalização de banco de dados é essencial para garantir a integridade e eficiência das informações armazenadas. Uma dúvida comum entre estudantes e concurseiros é sobre as regras da Forma Normal de Boyce-Codd (BCNF) e como ela se diferencia da Quarta Forma Normal (4FN). Neste artigo, vamos esclarecer essas diferenças com exemplos práticos.
A Questão do Aluno
A seguinte questão foi levantada:
A Forma Normal de Boyce-Codd assegura que qualquer atributo ou conjunto de atributos que determina outro em uma tabela (determinante) seja uma chave candidata, eliminando possíveis anomalias causadas por dependências funcionais inadequadas.
O aluno questionou se, na BCNF, o determinante não deveria ser uma superchave ao invés de uma chave candidata.
Resposta: Certo.
Explicação: A BCNF estabelece que todo determinante deve ser uma chave candidata. Isso significa que, em qualquer dependência funcional (A -> B), o atributo A deve ser uma chave candidata.
Explicando a Diferença entre Chave Candidata e Superchave
O aluno demonstrou uma confusão comum entre os conceitos de superchave e chave candidata. Vamos esclarecer:
- Superchave: Qualquer conjunto de atributos que pode identificar unicamente uma tupla na tabela. Pode conter atributos redundantes.
- Chave Candidata: Uma superchave mínima, ou seja, o menor conjunto de atributos capaz de identificar unicamente uma tupla, sem atributos desnecessários.
Toda chave candidata é uma superchave, mas nem toda superchave é uma chave candidata.
A BCNF exige que os determinantes sejam chaves candidatas, garantindo que não haja dependências funcionais indevidas.
Exemplo de Violação da BCNF
Considere a seguinte tabela de matrículas em cursos:
Aluno | Curso | Professor |
---|---|---|
Ana | BD | Prof. X |
Bruno | BD | Prof. X |
Carla | Redes | Prof. Y |
Diego | Redes | Prof. Y |
Aqui, temos as seguintes dependências funcionais:
- (Aluno, Curso) -> Professor
- Curso -> Professor
A segunda dependência funcional mostra que Curso determina Professor, mas Curso não é uma chave candidata, pois não identifica unicamente os registros (um curso pode ter vários alunos). Isso viola a BCNF, pois um determinante (Curso) não é uma chave candidata. Para corrigir isso, dividimos a tabela:
Nova Tabela 1 – Matrícula:
Aluno | Curso |
---|---|
Ana | BD |
Bruno | BD |
Carla | Redes |
Diego | Redes |
Nova Tabela 2 – Cursos e Professores:
Curso | Professor |
---|---|
BD | Prof. X |
Redes | Prof. Y |
Agora, a dependência Curso -> Professor é mantida de forma normalizada.
Diferença entre BCNF e 4FN
A BCNF elimina dependências funcionais inadequadas, mas não trata dependências multivaloradas.
A Quarta Forma Normal (4FN) lida com esse problema, garantindo que tabelas não tenham dependências multivaloradas que não sejam determinadas por uma chave candidata.
Exemplo de Violação da 4FN
Considere a seguinte tabela:
Aluno | Idioma | Esporte |
---|---|---|
Ana | Inglês | Futebol |
Ana | Inglês | Basquete |
Ana | Espanhol | Futebol |
Ana | Espanhol | Basquete |
Aqui, temos dependências multivaloradas:
- Aluno ->> Idioma
- Aluno ->> Esporte
O problema é que um aluno pode falar vários idiomas e praticar vários esportes, mas Idioma não depende de Esporte, nem vice-versa. Para normalizar em 4FN, devemos separar as tabelas:
Nova Tabela 1 – Aluno e Idiomas:
Aluno | Idioma |
---|---|
Ana | Inglês |
Ana | Espanhol |
Nova Tabela 2 – Aluno e Esportes:
Aluno | Esporte |
---|---|
Ana | Futebol |
Ana | Basquete |
Agora, eliminamos dependências multivaloradas, garantindo a conformidade com a 4FN.
Conclusão
- BCNF: Elimina dependências funcionais em que um determinante não seja chave candidata.
- 4FN: Elimina dependências multivaloradas que não sejam determinadas por uma chave candidata.
Ambas as formas normais são avançadas e garantem maior integridade nos bancos de dados. Para concursos, é essencial compreender as diferenças entre elas e saber identificar quando aplicá-las. Bons estudos!
Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil? Clique nos links abaixo:
CONCURSOS 2025
CONCURSOS ABERTOS
QUESTÕES DE CONCURSOS
Receba gratuitamente no seu celular as principais notícias do mundo dos concursos. Clique no link abaixo e inscreva-se:
TELEGRAM
Fonte: Gran Cursos Online