Bdm aula 6 - normalização - ticianne darin

Post on 21-Jun-2015

1.082 views 0 download

Transcript of Bdm aula 6 - normalização - ticianne darin

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