Upload
ticianne-darin
View
1.085
Download
0
Embed Size (px)
Citation preview
Bancos de Dados
Multimídia
Ticianne Darin
Normalização
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.
Normalização
Permite evitar redundâncias desnecessárias e eliminar problemas que podem ocorrer em operações de inserção, eliminação e atualização de dados.
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
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
ID Nome Endereço Hobby
1111 Joe 123 Main biking 1111 Joe 123 Main hiking …………….
ID Nome Endereço Hobby
1111 Joe 123 Main {biking, hiking}
Modelo ER
Modelo Relacional
Redundância
ID Nome
ID Endereço
Dependência Funcional
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
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
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
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 Y e X Z
• RI6:Regra da Pseudotransitividade: Se XY e WYZ então XW Z
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
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
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
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
Primeira Forma Normal (1NF)
Uma relação de variáveis está na primeira forma normal se cada tupla contiver um valor para cada atributo.
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)
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
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
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.
Segunda Forma Normal (2NF)
• Baseada no conceito de dependência funcional total (não parcial)
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.
Terceira Forma Normal (3NF)
• Baseada no conceito de dependência transitiva
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
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
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)
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.
Os esquemas estão em BCNF?
Decompõe!
EMPREGADO (emp, dept, sal)
EMP1 (emp, dept) EMP2 (emp, sal)
Exercício em Sala
Até a próxima aula!
Feliz é o homem que acha sabedoria, e
o homem que adquire entendimento; Provérbios 3:13