Segundo Elmasri & Navathe (2017), a normalização é um processo de decomposição de tabelas para eliminar redundâncias e inconsistências, organizando os dados de forma eficiente.
"A normalização é o processo de decomposição de tabelas para eliminar redundâncias e dependências indesejáveis" - Date (2003)
Dificuldade para inserir novos dados
Ex: Inserir funcionário sem departamento
Dificuldade para atualizar dados
Ex: Atualizar nome do departamento
Perda acidental de dados
Ex: Excluir funcionário e perder departamento
| ID_Funcionário | Nome | Departamento | Gerente | Projeto | Data_Início |
|---|---|---|---|---|---|
| 1 | João Silva | TI | Maria Santos | Projeto A | 2024-01-15 |
| 1 | João Silva | TI | Maria Santos | Projeto B | 2024-02-01 |
| 2 | Ana Costa | TI | Maria Santos | Projeto A | 2024-01-20 |
Conforme Date (2003), uma dependência funcional é uma restrição entre dois conjuntos de atributos em uma relação.
Seja R uma relação e X, Y conjuntos de atributos. Y é funcionalmente dependente de X (X → Y) se, para cada valor de X, existe exatamente um valor de Y.
Todos os atributos são atômicos (indivisíveis)
1FN + dependências parciais eliminadas
2FN + dependências transitivas eliminadas
Após normalização, temos tabelas separadas para Funcionário, Departamento e Projeto, eliminando redundâncias e inconsistências.
Analise uma tabela não normalizada e identifique:
Normalize tabelas para: