Skip to content

🛡️ Teoria Relacional: Dependências Funcionais e Formas Normais (1FN a 3FN) ​

Módulo de Qualidade e Integridade: Garantindo Bancos de Dados sem Redundâncias nem Anomalias
Fundamentação: Edgar F. Codd e Raymond F. Boyce
Público: 1º Ano do Curso Técnico em Desenvolvimento de Software


1. 🎯 Objetivos de Aprendizagem ​

Ao final deste capítulo, você será capaz de:

  • 🔍 Identificar anomalias de inserção, exclusão e alteração em tabelas desnormalizadas.
  • 📐 Escrever e interpretar Dependências Funcionais formais (X→Y).
  • ⚖️ Diferenciar Dependência Funcional Total, Parcial e Transitiva.
  • 🧹 Executar a normalização passo a passo de uma planilha bruta até a 1ª, 2ª e 3ª Formas Normais.
  • 🛡️ Garantir a preservação da informação através da decomposição sem perda de dados (lossless join).

2. ⚠️ O Que São Anomalias de Dados? ​

Considere uma biblioteca escolar que guardou seus empréstimos em uma única planilha não normalizada:

id_emp (PK)id_livro (PK)aluno_nomealuno_cidadetitulo_livroautor_nomedata_emp
1011Lucas SilvaSão PauloCódigo LimpoRobert Martin01/10/2026
1014Lucas SilvaSão PauloDom CasmurroMachado de Assis01/10/2026
1021Beatriz RamosCampinasCódigo LimpoRobert Martin05/10/2026

As Três Anomalias Críticas ​


3. 📐 Dependências Funcionais (X→Y) ​

Dizemos que um conjunto de atributos X determina funcionalmente um atributo Y (denotado por X→Y) se, e somente se, para quaisquer duas linhas com o mesmo valor de X, elas obrigatoriamente possuem o mesmo valor de Y.

X→determinaY
  • Exemplo 1: matricula→nome_aluno, email (A matrícula identifica unicamente o aluno).
  • Exemplo 2: isbn→titulo, ano_publicacao (O ISBN determina os dados do livro).

Dependências Funcionais e Violações


4. 🧹 As Três Primeiras Formas Normais ​

1ª Forma Normal (1FN) — Atomicidade de Atributos ​

Regra: Todos os atributos devem conter apenas valores atômicos (indivisíveis), sem repetições de grupos nem listas/vetores em uma mesma coluna.

❌ Antes da 1FN (Violação): ​

id_alunonometelefones
1Carlos Silva(11) 98888-1111, (11) 97777-2222

✅ Depois da 1FN (Tabela Normalizada): ​

Criamos uma tabela separada para os telefones:

id_telefoneid_aluno (FK)numero_telefone
11(11) 98888-1111
21(11) 97777-2222

2ª Forma Normal (2FN) — Dependência Total da Chave ​

Regra: Estar na 1FN e não possuir dependências funcionais parciais. Todos os atributos não-chave devem depender da totalidade da chave primária, e não de apenas uma parte dela (relevante para chaves compostas).

❌ Antes da 2FN (Violação): ​

  • Chave Primária Composta: {id_emprestimo,id_livro}
  • Dependência Parcial: id_livro→titulo_livro (o título depende só do livro, não do empréstimo).

✅ Decomposição em 2FN: ​

Separamos os dados do Livro dos dados do Empréstimo:

  1. ITENS_EMPRESTIMO: {id_emprestimo―,id_livro―,estado_conservacao}
  2. LIVROS: {id_livro―,isbn,titulo,ano}

3ª Forma Normal (3FN) — Eliminação de Dependências Transitivas ​

Regra: Estar na 2FN e não possuir dependências funcionais transitivas. Nenhum atributo não-chave pode depender de outro atributo não-chave (X→Y→Z).

❌ Antes da 3FN (Violação): ​

  • matricula (PK)→cep_aluno
  • cep_aluno→cidade, uf
  • Logo: matricula→cidade é uma dependência transitiva intermediada pelo CEP!

✅ Decomposição em 3FN: ​

  1. ALUNOS: {matricula―,nome,email,cep (FK)}
  2. ENDERECOS_CEP: {cep―,bairro,cidade,uf}

5. 📊 Resumo Comparativo das Formas Normais ​

Forma NormalFoco PrincipalProblema que EliminaSolução Aplicada
1FNAtomicidadeListas, conjuntos e campos multivalorados na mesma célulaCriação de novas linhas ou tabela filha associativa
2FNChaves CompostasAtributos dependendo de metade da chave primáriaDecomposição em tabelas específicas de entidade
3FNDependências IndiretasAtributo não-chave determinando outro atributo não-chaveSeparação da regra funcional em tabela própria

6. 🏆 Benefícios no Mundo Real ​

Ao atingir a 3ª Forma Normal (3FN):

  1. 🛡️ Tamanho reduzido: O banco de dados consome até 70% menos espaço em disco.
  2. ⚡ Velocidade nas alterações: Um dado é alterado em uma única linha e reflete no sistema inteiro.
  3. 🔒 Integridade garantida: Elimina o risco de ter a mesma pessoa com dois endereços conflitantes no sistema.

Material Didático Aberto sob Licença MIT.