Bdm aula 7 - normalização parte2 - ticianne darin

13

Click here to load reader

Transcript of Bdm aula 7 - normalização parte2 - ticianne darin

Page 1: Bdm   aula 7 - normalização parte2 - ticianne darin

Bancos de Dados

Multimídia

Ticianne Darin

Page 2: Bdm   aula 7 - normalização parte2 - ticianne darin

Guidelines para Projeto de Bancos

de Dados Relacionais

• Projete um esquema de relação de forma que seja fácil explicar seu significado. Não combine atributos de múltiplos tipos de entidades e relacionamentos numa única relação.

• Evite anomalias de inserção, exclusão ou de modificação não sejam possíveis. Caso não seja possível evitá-las, assegure-se que os programas que atualizam o banco de dados vão funcionar corretamente.

• Tanto quanto possível, evita colocar atributos numa relação cujos valores possam ser frequentemente valores nulos.

• Projete esquemas de relações de modo que elas possam ser juntadas com condições de junção de igualdade sobre atributos que sejam chaves primárias ou chaves estrangeiras, de forma que tuplas espúrias não sejam geradas.

Page 3: Bdm   aula 7 - normalização parte2 - ticianne darin

Primeira Forma Normal (1NF)

• É parte da definição formal de uma relação; foi definida para não permitir atributos multivalorados, atributos compostos e suas combinações.

• Uma relação está em 1FN se e somente se todos os seus atributos contêm apenas valores atômicos (simples, indivisíveis).

Page 4: Bdm   aula 7 - normalização parte2 - ticianne darin

Segunda Forma Normal (2NF)

• Uma relação está em 2NF se e somente se estiver em 1NF e todo atributo não-primo (isto é, que não seja membro de uma chave) for totalmente dependente de qualquer chave.

Page 5: Bdm   aula 7 - normalização parte2 - ticianne darin

Terceira Forma Normal (3NF)

• Uma relação está em 3NF se e somente se estiver em 2NF e nenhum atributo não-primo (isto é, que não seja membro de uma chave) for transitivamente dependente da chave primária.

• Em outras palavras, para toda FD X -> A, uma das duas condições seguintes devem valer:

– X é uma superchave ou

– A é membro de uma chave candidata

Page 6: Bdm   aula 7 - normalização parte2 - ticianne darin

Algoritmo para decomposição 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 decomposição 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.

Page 7: Bdm   aula 7 - normalização parte2 - ticianne darin

Algoritmo para decomposição em

3NF

• 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.

Page 8: Bdm   aula 7 - normalização parte2 - ticianne darin

Cobertura Mínima de FDs

• Um conjunto de FDs F é mínimo se satisfaz as seguintes condições:

– Todas as FDs em F tem um único atributo do lado direito.

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

– 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.

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

Page 9: Bdm   aula 7 - normalização parte2 - ticianne darin

Algoritmo para Determinar a

Cobertura Mínima para F

• Passo 1

– Obtenha o conjunto equivalente H com somente um atributo do lado direito

• Passo 2

– Remova as FDs redundantes em H

• Passo 3

– Remova atributos redundantes no lado esquerdo das FDs (é possível chegar ao atributo do lado direito, sem alguns dos atributos do lado esquerdo?)

• Passo 4

– Junte todas as FDs que tem o mesmo lado esquerdo

Page 10: Bdm   aula 7 - normalização parte2 - ticianne darin

BCNF

• Uma relação esquema R está na BCNF se, sempre que houver uma DF X -> A em R, então X é uma superchave de R.

• Diferença:

– Condição que permite que A seja principal (parte da chave) está ausente da FNBC

• A maioria dos esquemas de relação que estão na 3FN também estão na FNBC

Page 11: Bdm   aula 7 - normalização parte2 - ticianne darin

Decomposição em BCNF

• Escolher uma das dependências que viola BCNF no conjunto R para decompor R;

– decompor R em R1 e R2, tendo R1 todos os atributos da dependência funcional escolhida, e R2 todos os atributos de R exceto Y (em X -> Y);

– repetir os passos anteriores para o conjunto R2;

– repetir os passos 1 e 2 para o conjunto Ri;

– parar quando não houver mais dependências que viole BCNF em qualquer subconjunto Ri.

Page 12: Bdm   aula 7 - normalização parte2 - ticianne darin

Exercicio

Page 13: Bdm   aula 7 - normalização parte2 - ticianne darin

Até a próxima aula!

Pois que aproveita ao homem ganhar o mundo inteiro, se perder a sua alma? Ou que dará o homem em recompensa da sua alma?

Mateus 16.26