Normalizacao em bd
Dependência Funcional, Dependência Multivalorada e Normalização
Profa. Flávia Cristina Bernardini
* Slides Baseados no material elaborado pelos professores Eduardo R. Hruschka, Cristina D. A. Ciferri e Elaine Parros Machado
Qualidade do Projeto Lógico
Como avaliar a qualidade do esquema da relação?
◦ Semântica ◦ Implementação/desempenho
Análise informal:
◦ Princípios para um bom projeto
Análise formal:
◦ Dependência funcional ◦ Normalização
Qualidade do Projeto Lógico ...
Análise Informal (princípios):
◦ Semântica de atributos ◦ Redução de redundância em tuplas: prevenção de anomalias de inserção prevenção de anomalias de remoção prevenção de anomalias de alteração
◦ Redução de valores nulos ◦ Prevenção de geração de tuplas espúrias (ilegítimas)
Exemplo:
Emp_Dept={Nome, CPF, DataNasc, End, Dnum, Dnome, DGerCPF}
◦ Combina informações de tipos diferentes de entidades
Problema semântico
◦ Redundância em relação às informações armazenadas
Dados do departamento (Dnome e DGerCPF)
◦ Inserção
Para inserir um empregado, é necessário cadastrar informações sobre o departamento (ou nulls) Tais informações podem gerar dados inconsistentes sobre o departamento
(cont)...
Exemplo...
Emp_Dept={Nome, CPF, DataNasc, End, Dnum, Dnome, DGerCPF}
◦ Exclusão:
Apagar um empregado pode significar apagar as informações do departamento
◦ Atualização:
Mudar o valor de um atributo de uma tupla de Emp_Dept pode implicar em ter de alterar outros valores correspondentes
Ex.: mudar Dnum
◦ Valores null:
Se muitos atributos não se aplicarem a muitas tuplas da relação, poderemos desperdiçar espaço de armazenamento. Ex:
Incluir no escritório na relação “empregados”, sendo que somente 10% destes possuem de fato um escritório
Qualidade do Projeto Lógico ...
Análise Formal:
◦ Dependências Funcionais:
Restrições entre atributos:
Avaliação da qualidade dos esquemas de relação Garantia de consistência da base de dados