22
George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar aos Capítulos 14-15 de Elmasri-Navathe 2000) Asterio K. Tanaka http://www.uniriotec.br/~tanaka [email protected] Utilização por terceiros autorizada com citação da fonte.

George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

Embed Size (px)

Citation preview

Page 1: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

BANCO DE DADOSDependências funcionais e Normalização de

Bancos de Dados Relacionais

(Material complementar aos Capítulos 14-15 de Elmasri-Navathe 2000)

Asterio K. Tanakahttp://www.uniriotec.br/~tanaka

[email protected]

Utilização por terceiros autorizada com citação da fonte.

Page 2: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Projeto de Bancos de Dados

Requisitos de Dados

ProjetoConceitual

ProjetoLógico

ProjetoFísico

Esquema Conceitual

Esquema Físico

Esquema Lógico

Modelagem dos requisitos de dados através de diagramas de Entidades e Relacionamentos (DER) ou de Classes e Objetos (DCO)

Mapeamento do esquema conceitual para o modelo de dados do SGBD escolhido, através de diagrama de estruturas de dados (DED)

Mapeamento do esquema lógico para os tipos de dados e restrições de integridade do SGBD escolhido; criação de visões e índices.

Page 3: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Normalização

• Normalização de dados : processo de decomposição de esquemas para evitar anomalias de atualização (na inserção, exclusão, modificação de dados).

• “Bom design” evita redundância de dados e anomalias de atualização.

• Mecanismo formal para analisar esquemas de relações baseado nas suas chaves e nas dependências funcionais entre seus atributos.

• Antes da modelagem conceitual, normalização era um método de projeto de relações, a partir de uma RELAÇÃO UNIVERSAL.

• Uma modelagem conceitual bem feita resulta naturalmente em esquemas normalizados, portanto normalização é conseqüência, ou seja, um “bom design” é conseqüência de uma boa modelagem.

Page 4: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Redundância de Dados e Anomalias de Atualização

CPF Nome-Func

Data-Nasc

Endereço

Num-Dept Nome-Dept Gerente-Dept

CPF Num-Proj Horas Nome-Func

Nome-Proj

Local-Proj

• Redundância nas tuplas: Num-Dept, Nome-Dept, Gerente-Dept são repetidos para todo funcionário que trabalha naquele departamento. Idem para Nome-Func, Nome-Proj, Local-Proj para cada funcionário alocado em determinado projeto.

• Anomalias de atualização:

• Inserção: incluir um novo funcionário implica em incluir dados de departamento our deixar nulos; como incluir um novo departamento, se CPF é chave primária

• Exclusão: ao excluir um funcinário que seja o único funcinário de um departamento, estaremos perdendo dados sobre o departamento

• Modificação: ao mudarmos um dado de um departamento (por exemplo, o gerente), todas as tuplas de funcionários daquele departamento terão que ser modificadas.

FUNC-DEPT

FUNC-PROJ

Page 5: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Projeto de BD por Normalização

CPF Nome Emp Num Dept Nome Dept

Num Proj Nome Proj

Horas

CPF Nome Emp Num Dept

CPF Num Proj Horas

Num Dept Nome Dept

Num Proj Nome Proj

Normalização

Esquema com relações normalizadas

relação universal (“tabelão” com todos os dados)

Page 6: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Primeira Forma Normal (1FN)

• É parte da definição formal de uma relação; foi definida para não permitir atributos multivalorados, atributos compostos e suas combinações. A 1FN garante a propriedade de fechamento da Álgebra Relacional.

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

Page 7: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Nome Núm Gerente Data-Inicio

DEPARTAMENTO

PesqAdmSede

541

333445555987654321888665555

22Mai8801Jan9219Jun91

Lins, Bauru, SantosCampinasSantos

Localização

Relação que não está em 1FN

Num-Dept Localização

LOCAL_DEPT

14555

SantosCampinasLinsBauruSantos

Nome Núm Gerente Data-Inicio

DEPARTAMENTO

PesqAdmSede

541

333445555987654321888665555

22Mai8801Jan9219Jun91

Relações em 1FNsem redundância

atributo multivalorado

Page 8: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

CPF-Emp Num-Proj Horas

TRABALHA_EM

123456789123456789666884444453453453453453453333445555333445555333445555333445555999887777999887777987987987987987987987654321987654321888665555

1231223102030101030302020

32,5 7,540,020,020,010,010,010,010,030,010,035,05,020,015,0nulo

Relação em 1FN

CPF-Emp Projetos

Num-Proj Horas

TRABALHA_EM

123456789 666884444453453453 333445555 999887777 987987987 987654321 888665555

1231223102030101030302020

32,5 7,540,020,020,010,010,010,010,030,010,035,05,020,015,0nulo

Relação que não está em 1FN

atributo composto

Page 9: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Dependência Funcional

CPF Num-Proj Horas Nome-Emp Nome-Proj Local-Proj

EMP-PROJ

df1

df2

df3

df1 : {CPF, Num-Proj} {Horas}df2 : {CPF} {Nome-Emp}df3 : {Num-Proj} {Nome-Proj, Local-Proj}

DF deve ser explicitamente definida por alguém que conheça a semântica dos atributos de uma relação. Não basta deduzir a DF pelas instâncias.

X YOs valores dos atributos do conjunto X determinam os valores dos atributos do conjunto Y ou, inversamente, os valores dos atributos do conjunto Y dependem funcionalmente dos valores dos atributos do conjunto X.

Page 10: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Regras de Inferência para Dependências Funcionais

Regra reflexiva : Se X Y, então X Y.

Regra de aumento : {XY} XZ Y.

Regra transitiva : {X Y, Y Z} X Z.

Regra projetiva ou de decomposição : {X YZ} X Y.

Regra aditiva ou de união : {X Y, X Z} X YZ.

Regra pseudo-transitiva : {X Y, WY Z} WX Z.

Page 11: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Segunda Forma Normal (2FN)

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

Page 12: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

CPF Num-Proj Horas

CPF Nome-Emp

Num-Proj Nome-Proj Local-Proj

df1

TRABALHA_EM

EMPREGADO

PROJETO

df2

df3

Relaçõesem 2FN

CPF Num-Proj Horas Nome-Emp Nome-Proj Local-Proj

EMP-PROJ

df1

df2

df3

Relação em 1FN que não está em 2FN

Page 13: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Terceira Forma Normal (3FN)

Uma relação está em 3FN se e somente se estiver em 2FN 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 df X A, uma das duas condições seguintes devem valer:

• X é uma superchave ou

• A é membro de uma chave candidata

Page 14: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

CPF Nome-Emp Data-Nasc Endereço Num-Dept Nome-Dept Ger-Dept

EMP-DEPT

Relação em 2FN que não está em 3FN

df1

df2

CPF Nome-Emp Data-Nasc Endereço Num-Dept

df1

Num-Dept Nome-Dept Ger-Dept

df2

EMPREGADO

DEPARTAMENTO

Relaçõesem 3FN

Page 15: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Forma Normal de Boyce-Codd (FNBC)

• É uma forma mais restritiva de 3FN, isto é toda relação em FNBC está também em 3FN; entretanto, uma relação em 3FN não está necessariamente em FNBC.

Uma relação está em FNBC se para toda DF X Z, X é uma super-chave.

Page 16: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Aluno Disciplina Professor

df1

df2

Aluno Disciplina Professor

Carlos Química AnaCarlos Física AntonioMarta Química AnaMarta Português MariaJoão Português Manoel

Relação em 3FN que não está em FNBC

Anomalia de exclusão : Se Carlos sair da aula de Física, não teremos nenhum registro de que Antonio leciona Física.

AULA

AULA

df2 : {Professor} Disciplina} {Professor} não é uma superchave.

Page 17: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Carlos AnaCarlos AntonioMarta AnaMarta MariaJoão Manoel

Relações em FNBC

Note, entretanto, que a dependência funcional

df1 : {Aluno, Disciplina} Professor

foi perdida na decomposição.

Considere, por exemplo, a inserção de (Marta, Manoel) em R1.

Aluno Professor

Ana QuímicaAntonio FísicaMaria PortuguêsManoel Português

Professor Disciplina R1 R2

Page 18: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

• Conclusão: alguns esquemas não podem ser normalizados em FNBC e ao mesmo tempo preservar todas as dfs.

• Solução: redundância parcial.

Decomposição/Junção sem Perda

Aluno Disciplina Professor

Carlos Química AnaCarlos Física AntonioMarta Química AnaMarta Português MariaJoão Português Manoel

AULA

Ana QuímicaAntonio FísicaMaria PortuguêsManoel Português

Professor Disciplina

R2

Relações em FNBC, com redundância parciale todas as dependências funcionais preservadas

Page 19: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Quarta Forma Normal

• Baseada em dependências multivaloradas (DMVs)

Quarta forma normal (4FN)

Uma relação R está em 4FN se e somente se estiver em FNBC e, caso exista alguma DMV

X --->> Y,

a DMV é trivial (i.e., Y X ou X Y = R)

ou

X é uma superchave de R.

Page 20: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Nome-Emp Nome-Proj Nome-Depend

Prado X JoãoPrado Y AnaPrado X AnaPrado Y JoãoBorba W JoséBorba X JoséBorba Y JoséBorba Z JoséBorba W JoanaBorba X JoanaBorba Y JoanaBorba Z JoanaBorba W BetoBorba X BetoBorba Y BetoBorba Z Beto

EMPREGADO

Relação EMPREGADO não estáem 4FN.2 DMVs não triviais:Nome-Emp --->> Nome-ProjNome-Emp --->> Nome-Depend

Nome-Emp Nome-Proj Nome-Emp Nome-Depend

Prado XPrado YBorba WBorba XBorba YBorba Z

Prado JoãoPrado AnaBorba JoséBorba JoanaBorba Beto

EMP-PROJ EMP-DEP

As relações EMP-PROJ e EMP-DEP estão em 4FN

Page 21: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Outras Formas Normais

• Tipos adicionais de dependências.

• dependências de junção e de inclusão, que levam a formas normais mais restritas (Quinta Forma Normal, Forma Normal de Domínio-Chave).

• A utilidade prática destas formas normais é limitada, porque num banco de dados real com muitos atributos, é muito difícil (e praticamente irrelevante) descobrir tais dependências e restrições.

Page 22: George Hamilton Slide Title Asterio K. Tanaka BANCO DE DADOS Dependências funcionais e Normalização de Bancos de Dados Relacionais (Material complementar

George Hamilton

Slide Title

Asterio K. Tanaka

Normalização como Ferramenta para Validação da Qualidade de um Esquema

• As formas normais até FNBC são baseadas em dependências funcionais, exceto a 1FN, que faz parte da definição do modelo relacional.

• O design conceitual baseado nos modelos ER ou OO tende naturalmente a produzir esquemas normalizados, a menos da 1FN.

• A separação de conceitos é o resultado natural do design conceitual bem feito.

• Na prática, esquemas que violam a normalização são exemplos de esquemas mal projetados.