Banco de Dados - Dependências Funcionais e Normalização de Bancos de Dados Relacionais
Dependências Funcionais e Normalização de Bancos de Dados Relacionais
João Eduardo Ferreira
Osvaldo Kotaro Takai
Abordagens de Projeto
Top-down
Iniciar com o agrupamento dos atributos obtidos a partir do projeto conceitual de mapeamento
Isso é chamado de projeto por análise
Bottom-up
Considerar os relacionamentos entre atributos
Construir as relações
Isso é chamado projeto pela síntese
Nossa Abordagem:
Utilizar a abordagem Top-down para obter as relações
Utilizar a abordagem Bottom-up para melhorar a qualidade das relações obtidas anteriormente
2
Objetivos
1.
Apresentar um Guia Informal para projetos de
Bancos de Dados Relacionais
Semântica de Atributos
Informação redundante em tuplas e Anomalias de
Atualização
Valores Nulos em tuplas
Tuplas Espúrias
3
Objetivos
1.
Apresentar um guia formal para avaliar a qualidade das relações de um banco de dados
Dependências Funcionais (DFs)
Definição de DF
Regras de inferências para DFs
Formas Normais
Normalização de Relações
Uso prático das Formais Normais
Definição de Chaves e Atributos que participam das Chaves
Primeira Forma Normal
Segunda Forma Normal
Terceira Forma Normal
Definição Geral de Forma Normal (Múltiplas Chaves)
BCNF (Boyce-Codd Normal Form)
4
Guia Informal
Projetar um banco de dados relacional significa:
Agrupar atributos para formar “bons” esquemas de relações
O que é um bom esquema?
No nível lógico
É fácil de entender
Ajuda a formular consultas corretas
No nível físico
Tuplas são armazenadas eficientemente
Tuplas são acessadas com eficiência
Existem 2 níveis de esquemas de relações
Nível lógico (visão do usuário)
Nível de armazenamento (relações base)
O projeto considera as relações base
5
Guia Informal: Semântica de Atributos
Guia 1: Informalmente, cada tupla de uma relação deve representar uma entidade ou instância de relacionamento. Assim:
Atributos de entidades distintas não devem estar na