• Nenhum resultado encontrado

normalizacao

N/A
N/A
Protected

Academic year: 2021

Share "normalizacao"

Copied!
35
0
0

Texto

(1)

Refinamento de Esquemas

Problemas causados pelas Dependências

Funcionais (FDs)

Formas Normais

Decomposição de Relações para eliminar FDs

indesejáveis

Dependências Multivaloradas

Decomposição de Relações para eliminar MDs

indesejáveis

(2)

Anomalias de Atualização

ENOME #CI 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

Problemas:

- Desperdício de espaço de memória - Anomalias de atualização

- Anomalias de Inserção

- Anomalias de modificação - Anomalias de Deleção

(3)

Anomalias de Atualização

ENOME #CI 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

(4)

Exemplo

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} ER Model

Relational Model

Redundância

ID Nome

(5)

Dependência Funcional

Dada uma relação R com atributos A1,...,An,B1,...,Bm,C1,...,Cl,

Dizemos que

A1,...,An determina funcionalmente B1,...,Bm ( A1, ..., A n) B1,...,Bm

Se sempre que duas tuplas tiverem os mesmos valores para A1,...,An, então elas terão o mesmo valor para B1,...,Bm.

(6)

Dependência Funcional

MATRÍCULAS (disciplina, estudante, semestre, nota) {disciplina, estudante} semestre, nota

Estudante Disciplina Semestre Nota João Silva Banco de Dados I 94-2 8,5 João Silva Banco de Dados I 94-2 7,5

- FDs ocorrem muito frequentemente.

- Os SGBDs só permite a manutenção de FDs que ...

- Durante o projeto do esquema, deve-se identificar todas as FDs pois isto ajuda a identificar esquemas ruins

(7)

Boyce Codd Normal Form

-- Em outras palavras, as únicas dependência funcionais em R (de interesse) envolve suas chaves.

-- Isto é chamado de ‘Boyce Codd Normal Form’ (BCNF) para esquemas de relação.

Se A1,...,An  B1,...,Bn em uma relação R, então A1,...,An é uma superchave.

(8)

Chave de Relação

A chave de uma relação determina funcionalmente todos

os atributos da relação

Suponha R ( A1, A2, ..., An ) e conjunto de FDs F e X  {A1, A2, ..., An}.

- X é uma superchave de R sss X  {A1, A2, ..., An} F +

- X é uma chave de R sss:

1. X  {A1, A2, ..., An}  F +

(9)

Boyce Codd Normal Form

Um esquema de relação R está em BCNF sss para todas FDs válidas em R

A1 ... An  B1 ... Bm,

uma das condições abaixo é satisfeita:

(a) A FD é trivial (B1 ... Bm  A1 ... A n) ou (b) A1 ... An é uma superchave de R.

(10)

Boyce Codd Normal Form

MATRÍCULA (s#, c#, semestre, nota) - S#, c#, semestre nota

Os esquemas estão em BCNF?

EMPREGADO (emp, dept, sal) - emp  sal

- suponha que um empregado pode trabalhar em mais de um departamento.

(11)

Boyce Codd Normal Form

EMPREGADO (emp, dept, sal)

O que fazer quando um esquema não está em BCNF?

DECOMPÕE !!!

(12)

Implicação lógica de FDs

Dado um conjunto F de FDs podemos provar que

outras FDs são válidas

Ex: Seja o conjunto de FDs: {AB, B  H}, a FD

AH é implicada logicamente.

Nós dizemos que o conjunto de FDs F (sobre R)

implica logicamente a FD XY sss

para qualquer instancia r de R que satisfaz todas

as FDs em F, então XY é também satisfeita em r.

(13)

REGRAS DE INFERÊNCIA PARA FDs

Axiomas de Armstrong

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

Os axiomas de Armstrong são legítimos e completos

Regras adicionais:

RI4:Regra da União: Se X Y e X Z então X YZ

RI2:Regra da Decomposição: Se X YZ então X Y e X Z

(14)

Fecho de um conjunto de FDs F (F

+

)

O Fecho de F (F+) é o conjunto de todas as FDs implicadas por F.

Algorítmo para obtenção de X

+

("o fecho de X sob F”).

(X+ é o conjunto de atributos que são funcionalmente determinados

pelo conjunto de atributos X.) X+=X;

Repita

X':=X+

Para cada FD Y Z em F faça Se Y  X+ então X+=X+ Z;

(15)

EXEMPLO: Seja F formado das seguintes FDs: AB  C D  EG C  A BE  C BC  D CG  BD ACD  B CE  AG Seja X=BD. (BD)+=???

Fecho de um conjunto de FDs F (F

+

)

(16)

Decomposição de Relação

Propriedades Desejáveis

– Não tem perda de Informação (junção sem Perda)

– Preserva as restrições de Integridade

(17)

Decomposição de Relação

Sem perda na Junção

Esquema 2 tem todos os atributos do esquema 1, mas foi perdido o relacionamento de em que curso um estudante tirou aquela nota.

Esquema 1:

EST-CURSOS (estudante, curso, semestre, nota) Esquema 2:

NOTAS (estudante, semestre, nota) EST-CURSOS2 (estudante, curso)

(18)

Estudante Curso Semestre Nota

João Silva Banco de Dados I 94-2 8,5 João Silva Compiladores 93-1 7,5 Fabio Costa Análise Numérica 94-2 9,3 Fabio Costa Banco de Dados I 94-2 5.2 Jane Lima Eng. Software 93-1 7.6

Estudante Curso

João Silva Banco de Dados I João Silva Compiladores

Fabio Costa Análise Numérica Fabio Costa Banco de Dados I Jane Lima Eng. Software

Estudante Semestre Nota

João Silva 94-2 8,5 João Silva 93-1 7,5 Fabio Costa 94-2 9,3 Fabio Costa 94-2 5.2 Jane Lima 93-1 7.6 EST-CURSOS NOTAS EST-CURSOS2

(19)

Estudante Curso Semestre Nota

João Silva Banco de Dados I 94-2 8,5 * João Silva Banco de Dados I 93-1 7,5 * João Silva Compiladores 94-2 8,5 João Silva Compiladores 93-1 7,5 Fabio Costa Análise Numérica 94-2 9,3 * Fabio Costa Análise Numérica 94-2 5.2 * Fabio Costa Banco de Dados I 94-2 9,3 Fabio Costa Banco de Dados I 94-2 5.2 Jane Lima Eng. Software 93-1 7.6

(20)

Dica: Devemos projetar esquemas de relação de forma que a "junção das relações" com as condições de igualdade de atributos sejam chaves primárias ou estrangeiras, de maneira que podemos garantir que a relação original pode ser recuperada pela junção natural.

(relacionamento 1-1 ou 1-n entre as relações)

Junção sem perdas

A decomposição D={R1, ..., Rn} de R tem junção sem

perdas sss para qualquer instância válida r de R temos

que r pode ser recuperada da junção natural das

relações r1, r2, ..., rn as quais foram obtidas da projeção de r nos atributos de R1, ..., Rn respectivamente; ou seja r = r1 * r 2 .... * r n.

(21)

Junção sem perdas

Propriedade #1: A decomposição D ={R1, R2} de R com conj. de FDs F tem junção sem perdas sss

- A FD (R1 R2)  (R1- R2) está em F+, ou

- A FD (R1  R2)  (R2- R1) está em F+

Propriedade #2: Se a decomposição D={R1, ..., Rm} de R tem junção sem perda e se a decomposição

D1={Q1, ..., Qk} de Ri tem junção sem perda, então a

decomposição D2={R1, ..., Ri-1,Q1, ..., Qk, Ri+1, ..., Rm} de R tem junção sem perda.

(22)

Algorítmo para decomposição em BCNF

sem perdas na junção

1. Faça D:= {R}

2. Enquanto existir um esquema de relação Q em D que não está em BCNF faça:

- Escolha um um esquema de relação Q em D que não está em BCNF

- Encontre uma FD XY em Q que viola BCNF; - Substitua Q em D por dois esquemas (Q-Y) e (XY)

(23)

Decomposição de Relação

Propriedades Desejáveis

– Não tem perda de Informação (junção sem Perda)

– Preserva as restrições de Integridade

(24)

Preservação de Dependências

A decomposição D={R1, ..., Rn} de R preserva as

dependências de R sss o conjunto de FDs F de R é

implicado pela projeção de F nas Ri's.

Dado um conjunto de FDs F em R, a projeção de F em Ri, (F[Ri ]), é o conjunto de FDs X  Y em F+ tal que os

atributos em XY estão contidos em Ri.

A decomposição D={R1, ..., Rn} de R preserva as dependências de R sss (F[R1 ], ... F[Rn ])+=F+

(25)

Em certos casos não é possivel obter um esquema que:

– está em BCNF

– tem junção sem perda (requerido!) – preserva dependencias

Nestes casos usa-se uma forma normal mais fraca.

(26)

Exemplo

LOTES (#Prop., N_Municipio, #Lote, Área)

FD1: #Prop. {N_Municipio, #Lote, Área} FD2: #Lote, N_Municipio Área, #Prop FD3: Área N_Municipio

Viola BCNF. Logo, Decomponha: LOTES1 (#Prop., #Lote, Área) LOTES2 (Área, N_Municipio) Mas, FD2 não é preservada.

Neste caso é melhor deixar como está.

(27)

Terceira Forma Normal

Uma relação R está em 3NF se para cada FD A1...An  B1...Bm que é válida em R, uma das condiçoes é satisfeita:

– A1 ... An  B1 ... Bm é trivial (Bi’sAi’s), – A1 ... An inclui uma chave de R, ou

– Cada Bi ocorre na chave de R.

Todo esquema de relação pode ser

decomposto em um conjunto de relações que: – está em 3NF

– Preserva dependências – tem junção sem perda

(28)

CONJUNTO MÍNIMO DE FDs

Um conjunto de FDs F é mínimo se satisfaz as seguintes condições: 1) Todas as FDs em F tem um único atributo do lado direito.

2) Não se pode remover uma FD de F e ainda ter um conjunto de FDs que é equivalente a F.

3) Não se pode substituir uma FD X A em F por Y  A, onde Y  X e ainda ter um conjunto de FDs que é equivalente a F.

Podem existir várias coberturas (fecho) mínimo para um conjunto de FDs F. Não existe algoritmo simples para determinar uma

(29)

EQUIVALÊNCIA DE CONJUNTOS DE FDs

O conjunto de FDs F

"

cobre"

o conjunto de FDs E

sss E

+

F

+

.

Os conjuntos de FDs F e E

"

são equivalentes"

sss

F

+

=E

+

(i.e. E

+

F

+

e F

+

E

+

).

(30)

Algorítmo para decomp. em 3NF preservando

as dependências e sem perdas na junção

Entrada: Esquema de relação R e dependências F.

Saída: Uma decomp. D de R tal que D tem junção sem perdas, as dependências de R são preservadas, e todas as relações de D estão em 3NF.

(31)

Algorítmo para decomp. em 3NF preservando

as dependências e sem perdas na junção

1. Encontre a cobertura mínima G para F;

2. Para cada X do lado esquerdo de uma FD em G, crie um esquema de relação {XA1... An} em D, onde X  A1, ...,

X  An são todas as FDs em G com X do lado esquerdo. 3. Coloque todos os atributos restantes em uma única

relação.

4. Se uma chave de R não está contida em nenhum dos esquemas de relação, crie uma relação que contenha os atributos da chave.

(32)

CURSO HORA, SALA

Dependência Multivalorada

CURSO

PROF.

HORA

SALA

ALUNO

Cálculo I João

Seg. 9

318

Ana

Cálculo I João

Qua. 9

232

Ana

Cálculo I João

Sex. 9

560

Ana

Cálculo I João

Seg. 9

318

Mário

Cálculo I João

Qua. 9

232

Mário

(33)

Dependência Multivalorada

Dada uma relação R onde X e Y são subconjuntos de R, dizemos que X multidetermina Y ( X Y) se sempre que existirem duas tuplas t1 e t2 tais que t1[X] = t2[X], então

também devem existir duas tuplas t3 e t4 tais que:

» t3[X]=t4[X]=t1[X]=t2[X]

» t3[Y]=t1[Y], e t4[Y]=t2[Y]

(34)

Quarta Forma Normal (4nf)

Um esquema de relação R com dependências F está em 4NF se para qulquer dependências multivaloradas não trivial X Y X é uma superchave

CURSO PROF. ALUNO

Cálculo I João Ana

Cálculo I João Mário

CURSO HORA SALA

Cálculo I Seg. 9 318

Cálculo I Qua. 9 232

(35)

Resumo

Problemas causados pelas Dependências

Funcionais (FDs)

Formas Normais

Decomposição de Relações para eliminar FDs

indesejáveis

Dependências Multivaloradas

Decomposição de Relações para eliminar MDs

indesejáveis

Referências

Documentos relacionados

As mesmas informações foram usadas como parâmetro para se comparar com o comportamento dos preços em outras capitais do Brasil (DIEESE, 2005), e com indicadores

regulamentares ou regimentais do cargo, no caso de cargo técnico ou científico. 279 - Para os efeitos deste Capítulo, a expressão “cargo” compreende os cargos, funções ou empregos

Os processos semi Markovianos são modelos bastante importantes dentro do contexto de Engenharia de Confiabilidade. Tais processos não são mais estritamente Markovianos, mas

Já na etapa 2 do Pré­sal, os R$ 3.7 milhões destinados às UCs do Estado de       São Paulo deverá ser distribuído entre a APAMLC e as outras UCs da região, sendo       que

Os maiores coeficientes da razão área/perímetro são das edificações Kanimbambo (12,75) e Barão do Rio Branco (10,22) ou seja possuem uma maior área por unidade de

Cristinne Leus Tomé nos traz, sob o título A segurança: o discurso fundador e os sentidos pedagógicos em uma canção de ninar, apresenta um recorte de sua

Em média, a Vivo forneceu a melhor velocidade de download para os seus clientes em 2020... A Vivo progrediu em especial a partir de abril

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e