3. Normalização
Processo que consiste em estruturar a
informação em tabelas da forma mais
adequada tendo em consideração as
operações que podem vir a ser executadas
sobre essa informação.
5. Anomalias de Atualização
ENOME ECOD DNO DNOME DGER
João Silva 620.042 D1 Pessoal Tereza Costa
Maria Alves 328.345 D2 Brinquedos Marcia Mendes
Ana Pereira 245.980 D2 Brinquedos Marcia Mendes
Fabio Costa 567.987 D3 Roupas Iris Pereira
Jane Lima 456.321 D1 Pessoal Tereza Costa
DNO DNOME, DGER
Para um mesmo valor de DNO, DNOME e DGER terão os mesmos valores
6. Solução: Decomposição
ENOME ECOD DNO
João Silva 620.042 D1
Maria Alves 328.345 D2
Ana Pereira 245.980 D2
Fabio Costa 567.987 D3
Jane Lima 456.321 D1
DNO DNOME DGER
D1 Pessoal Tereza Costa
D2 Brinquedos Marcia Mendes
D3 Roupas Iris Pereira
7. Modelo ER
ID Nome Endereço Hobby
1111 Joe 123 Main {biking, hiking}
Modelo Relacional
ID Nome Endereço Hobby
1111 Joe 123 Main biking
1111 Joe 123 Main hiking
…………….
Redundância
ID Nome
ID Endereço
9. Dependência Funcional
• Seja a tabela A com a seguinte estrutura:
A (x,y,z,w):
– z é funcionalmente dependente do atributo
x, se, para um dado valor de x o valor de Z
é sempre o mesmo.
– x é dominante, z é dependente
x z
10. Dependência Funcional Elementar
• Seja a tabela A com a seguinte estrutura:
A (x,y,z,w):
– quando o atributo w depende do conjunto
{x,y} como um todo, e não depende de
nenhum dos seus elementos (ou
subconjuntos) tomados isoladamente
– w é irredutivelmente dependente de {x,y}
{x,y} w
11. Exemplo
MATRÍCULAS (disciplina, estudante, semestre, nota)
{disciplina, estudante} semestre, nota
Estudante Disciplina Semestre Nota
Erico Silva Banco de Dados 2012-2 8,5
Erico Silva Banco de Dados 2012-2 7,5
12. Regras de Inferência para DF
• RI1:Regra da reflexidade: Se X Y então XY
• RI2:Regra do acréscimo: Se XY então WX WY
• RI3:Regra da Transitividade: Se X Y e Y Z
então X Z
• RI4:Regra da União: Se X Y e X Z então X
YZ
• RI5:Regra da Decomposição: Se X YZ então X
YeXZ
• RI6:Regra da Pseudotransitividade: Se XY e
WYZ então XW Z
13. Normalização de Relações
• Levar um esquema de relação por uma
série de testes
– Certifica se ele satisfaz certa forma normal
• Testes de forma normal
14. Normalização de Relações
• Propriedades que os esquemas
relacionais devem ter:
– Propriedade de junção não aditiva
• Extremamente crítica
– Propriedade de preservação de
dependência
• Desejável, mas às vezes é sacrificada por outros
fatores
15. Na prática...
• Projetos resultantes de alta qualidade e
atendem as propriedades desejáveis
• Normalização apenas até a 3FN, FNBC
ou, no máximo, 4FN
• Não precisam normalizar para a forma
normal mais alta possível
16. Definições de chaves e atributos
participantes em chaves
• Definição de superchave e chave
• Chave candidata
– Se um esquema de relação tiver mais de
uma chave
• Uma é a chave primária
• As outras são chamadas chaves secundárias
17. Primeira Forma Normal (1NF)
Uma relação de variáveis está na primeira
forma normal se cada tupla contiver um
valor para cada atributo.
18. Primeira Forma Normal (1NF)
• Parte da definição formal de uma relação
no modelo relacional básico (plano)
• Os únicos valores de atributo permitidos
são os valores atômicos (ou indivisíveis)
19. Primeira Forma Normal (1NF)
• Técnicas principais para conseguir a
primeira forma normal
– Remover o atributo e colocá-lo em uma
relação separada
– Expandir a chave
– Usar vários atributos atômicos
20. Primeira Forma Normal (1NF)
• Não permite relações aninhadas
– Cada tupla pode ter uma relação dentro dela
• Para alterar a 1NF:
– Remova os atributos da relação aninhada para
uma nova relação
– Propague a chave primária para ela
– Desaninhar a relação para um conjunto de
relações 1NF
21.
22. Segunda Forma Normal (2NF)
Uma relação de variáveis encontra-se na
segunda forma normal se estiver na
primeira forma normal e todos os atributos
que não são chave primária, dependem
irredutivelmente da chave primária.
23. Segunda Forma Normal (2NF)
• Baseada no conceito de dependência
funcional total (não parcial)
24.
25. Terceira Forma Normal (3NF)
Uma relação encontra-se na terceira forma
normal se já estiver na segunda forma
normal e todos os seus atributos que não
forem chave primária forem não
transitivamente dependentes da chave
primária.
29. Forma Normal de Boyce-Codd
Por definição uma relação está na BCNF se
todos os atributos são funcionalmente
dependentes da chave, de toda a chave e
nada mais do que a chave
30. Forma Normal de Boyce-Codd
• Cada relação em FNBC também está na 3FN
– Uma relação na 3FN não necessariamente está na
FNBC
• Diferença:
– Condição que permite que A seja principal está
ausente da FNBC
• A maioria dos esquemas de relação que estão
na 3FN também estão na FNBC
31. FNBC versus 3NF
• FNBC
– Para cada DF X->Y de uma relação R:
• Y é um subconjunto de X ou
• X é uma superchave da relação
• 3NF
– Para cada DF X-> Y de uma relação R:
• Y é um subconjunto de X ou
• X é uma superchave da relação
• Y é um subconjunto de K, para alguma chave K de
R (um subconjunto de uma chave não é uma chave)
32. Os esquemas estão em BCNF?
MATRÍCULA (s#, c#, semestre, nota)
- S#, c#, semestre nota
EMPREGADO (emp, dept, sal)
- emp sal
- suponha que um empregado pode trabalhar
em mais de um departamento.