46
Formas Normais Pedro Sousa 1 Dependências Funcionais e Formas Normais

Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

  • Upload
    ngobao

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 1

Dependências Funcionais e

Formas Normais

Page 2: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 2

IntroduçãoAs dependências funcionais e as formas normais estabelecem critérios de qualidade de desenho no modelo Relacional.

Permitem detectar e prevenir a redundância e garantir a coerência da informação.Fundamenta-se nas dependências entre os atributos das relações

Ao nível do modelo Relacional, deve ser usado para detectar eventuais problemas associados à redundância e coerência da informação.Ao nível do modelo Entidade Associação, deve ser usado para

identifcar entidades e determinar os seus atributos.

Page 3: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 3

O problema da Redundância dos Dados

A redundância dos dados tem implicações ao nível da coerência e dacompletude da informação neles contidasSão bem conhecidos os seguintes problemas, designados por anomalias:

Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base de dados.Anomalia de eliminação: quando se elimina uma instância de um facto, perde-se instâncias de outros factos independentes.Anomalia de actualização: quando a actualização de um facto implica a alteração de uma série de instâncias de outros factos independentes.

Page 4: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 4

Exemplo Introdutório

Anomalia de inserção: Só podemos indicar o preço de cada peça se existirem encomendas pendentes.Anomalia de eliminação: Ao eliminar uma encomenda, perde-se a informação relativa ao preço de cada peça.Anomalia de actualização: A alteração do preço de uma peça implica a alteração do mesmo em todas as encomendas existentes.

Encomenda

Nº Encomenda

Nº da Peça

Preço Unitário

Quantidade

Consideremos a seguinte Entidade /Relação

NºEncomenda | Nº Peça | Quantidade| Preço Unitário

| | |

| | |

Encomenda

Page 5: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 5

Exemplo Introdutório Dependências Funcionais

Encomenda

Nº Encomenda

Nº da Peça

Preço Unitário

Quantidade

NºEncomenda | Nº Peça | Quantidade| Preço Unitário

| | |

| | |

Encomenda

Nº Encomenda

Nº Peça

Quantidade

Preço Unitário

O problema reside nas relações de dependências entre os atributos da Entidade/Relação:

o Nº da encomenda determina Nº da peça, a Quantidade e o Preço Unitário.O Nº da peça determina o Preço Unitário.

Diagrama de Dependências Funcionais

Page 6: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 6

Diagrama de Dependências FuncionaisOutro Exemplo

Nome-Director

Nome-Armazém

Endereço-Armazém

Peça Nº

Data-Inventário

QuantidadeExistente

Nome-Fornecedor Nº-Encomenda

QuantidadeEntregue

Que informação está contida neste Diagrama de Dependências Funcionais?

De que modo essa informação pode ser útil no desenvolvimento de esquemas Relacionais ou mesmo Conceptuais (ER)?

Page 7: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 7

Dependência funcional

Seja uma relação R com conjuntos de atributos X e Y:Diz-se que X determina Y se para todo o valor

de X existe um só valor de Y.

Por outras palavras, sempre que dois tuplos têm um valor de X comum, têm também o valor de Y em comum.Diz-se também que X é determinante, e representa-se graficamente por X-> Y.A dependência funcional é um questão semântica. Não pode ser deduzida com base num conjunto de tuplos. Estes apenas podem confirmar que determinada dependência não existe.X é uma super-chave se X->R, sendo R o conjunto de todos os atributos da relação R

Page 8: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 8

Propriedades das Dependências Funcionais(regras de Armstrong)

ReflexividadeSe Y está contido em X, então X-> Y

IncrementoSe X -> Y, então X Z -> YZ

TransitividadeSe X -> Y e Y -> Z, então X-> Z

Page 9: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 9

Regras Derivadas

Auto-ReflexividadeX -> X

DecomposiçãoSe X -> Y Z, então X-> Y e X -> Z

UniãoSe X-> Y e X -> Z então X -> YZ

ComposiçãoSe X-> Y e A -> B então XA -> YB

Page 10: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 10

Dependência total e atributos chaves

• Seja X um atributo e Y o conjunto de atributos { y1, y2, ...yn} tal que {y1, y2, ...yn} determina X, i.e. {y1, y2, ...yn} -> X

•Dizemos que X é completamente dependente de Y, se qualquer subconjunto dos elementos de Y não determina X.

•Dizemos que X é um atributo chave se pertence ao identificador da Entidade ou à chave primária da Relação

Page 11: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 11

As Formas Normais

1 Forma Normal

2 Forma Normal

3 Forma Normal

5 Forma Normal

4 Forma Normal

Forma Normal Boyce Codd

Page 12: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 12

As Formas Normais

Seja uma entidade (ou associação) X com atributos{i1,..,in, a1,...,am}Seja {i1,..,in} os atributos que constituem a chave de X.

A 1ª Forma Normal prende-se com a estrutura de cada atributo de X.A 2ª Forma Normal prende-se com a dependência entre os atributos {a1,...,am} e os atributos {i1,..,in}.A 3ª Forma Normal prende-se com as dependências mútuas entre os atributos {a1,...,am}.A BCNF prende-se com a existência de várias chaves

Page 13: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 13

1ª Forma Normal

Uma relação está na 1ª Forma normal se todos os seus atributos são valores escalares.

Todas as relações “normalizadas” estão na 1ª Forma Normal

Pessoa Residência

João

Cidade Data

Cidade Data

LisboaFaro

Lisboa

01-02-9211-12-94

10-10-84

“Relação” não Normalizada Relação Normalizada

Pessoa

João

Cidade Data

Lisboa

Faro

Lisboa

01-02-92

11-12-94

10-10-84

João

Page 14: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 14

Problemas com a 1ª Forma NormalExemplo

ID_Pessoa | Projecto | OrçamentoProjecto | TempoGastoProjecto

| | |

| | |

Esta relação está na 1ª FN mas apresenta as anomalias de inserção, de actualização e de eliminação!

ID_Pessoa

OrçamentoProjectoProjecto

TempoGastoProjecto

A 1ª FN não assegura a resolução do problema das anomalias!

Page 15: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 15

Eliminação das Anomalias do Exemplo Anterior

ID_Pessoa | Projecto | TempoGastoProjecto

| |

| |

Estas relações já não têm as anomalias !

ID_Pessoa

TempoGastoProjecto

OrçamentoProjectoProjecto

Projecto | OrçamentoProjecto

| |

Projecto

A eliminação das anomalias implica a fragmentação da relação inicialem duas novas relações

Page 16: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 16

A 1ª Forma Normal e os Modelos Conceptuais

Qual a relação entre os atributos multivalor, os atributos compostos e a 1ª Forma Normal ?

Encomenda

Nº Encomenda

Nr-da-PeçaIdentificação

Ano

Em ambos os casos, os atributos Nr-da-Peça e identificação não são atributos escalares!Esta é a razão pela qual a conversão ER para Relacional implica aconversão dos atributos multivalor e compostos em atributos simples

Page 17: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 17

A 2ª Forma Normal

Uma Relação está na 2ª Forma normal se está na 1ª Forma Normal e cada atributo não chave é

irredutivelmente dependente dos atributos chave.

Ou seja, todos os atributos que não pertencem a nenhuma chave são irredutivelmente dependentes de pelo menos uma chave.Todas as relações na 1FN e com uma chave simples estão necessariamente na 2FN. Nada se diz quanto às dependências mútuas entre os atributos quepertencem às chaves.Nada se diz quanto às dependências mútuas entre os atributos que não pertencem às chaves.

Page 18: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 18

2ª Forma NormalExemplo 1

Consideremos a Relação R(A,B,C,D) e a dependência A -> D(as dependências AB ->C e AB ->D são implícitas)

Esta relação não está na 2ª FN.A decomposição da relação R com vista à 2ª FN passa por criar asseguintes Relações:

R1(A,B,C) com a dependência AB -> CR2(A,D) com a dependência A -> D

cada atributo não chave é irredutivelmente dependente dos atributos chave

Page 19: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 19

2ª Forma Normal - Exemplo 2

Exame( Nº-Estudante,Nome-Cadeira, Professor,Nota)

Dependências da relação Exame:Nº-Estudante, Nome-Cadeira Professor,NotaNome-Cadeira Professor

Estudante Nº

Cadeira Nome

NotaExame

Professor

Exame não está na 2FN

Estudante

Cadeira

Exame

Nome

Nota

Professor

Exame está na 2FN

O atributo Professor não pode ser atributo de Exame!

Page 20: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 20

2ª Forma Normal – Exemplo 3

Esta Entidade/Relação está na 2ª Forma Normal ?

Encomenda Nº da Peça

Preço Unitário

QuantidadeNrEncomenda

Preço TotalNrEncomenda

Nº Peça

Quantidade

Preço Unitário

Preço Total

Encomenda(NrEncomenda, NºPeça,PreçoUnitário,Quantidade,PreçoTotal)

Cada encomenda refere-se apenas a uma quantidade de uma única peça.Considere a Relação (ou Entidade) Encomenda.

Page 21: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 21

Problemas com a 2ª Forma NormalAs 2ª Forma Normal não garante a não redundância da informação, sendo portanto possível que os problemas das anomalias existam também nas relações na 2FN.

Por exemplo, a informação sobre o preço de cada peça.

A redundância surge devido às dependências entre os atributos não chave.

NrEncomenda

Nº Peça

Quantidade

Preço Unitário

Preço Total

Page 22: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 22

Eliminação das Anomalias

A eliminação das anomalias implica a eliminação das dependências entre os atributos não chave.Tal implica a decomposição da Entidade/Relação original em duas.

NrEncomendaNº Peça

Quantidade

Preço UnitárioNº Peça

Está na 2FN Estão na 2FN

NrEncomenda

Nº Peça

Quantidade

Preço Unitário

Preço TotalPreço Total

Page 23: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 23

A 3ª Forma Normal

Ou seja, a 3FN implica a 2FN e que não existam dependências entre os atributos não chave. Todos os atributos não chave são não-transitivamente dependentes da chave primáriaTodas as relações que apenas têm um atributo não chave estão na 3FN, se estiverem na 2FN.Nada se diz quanto às dependências mútuas entre os atributos quepertencem às chaves.

Uma Relação está na 3ª Forma normalse todos os atributos não chave são completamente

dependentes dos atributos chave e são independentes entre si.

Page 24: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 24

3ª Forma Normal: Exemplo 1

Consideremos a Relação R(A,B,C) e a dependência B-> C

Esta relação não está na 3ª FN.A decomposição da relação R com vista à 3ª FN passa por criar asseguintes Relações:

R1(B,C) com a dependência B -> CR2(A,B) com a dependência A -> B

cada atributo não chave é completamente independente dos restantes atributos não chave

Page 25: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 25

3ª Forma Normal: Exemplo 2

Nº Empregado Nome, Departamento, Divisão,Chefe Departamento Divisão

Divisão Chefe

Empregado

Nº Empregado

Departamento

Chefe Divisão

Nome

não está na 3FN

v

Nº EmpregadoEmpregado

Do

está na 3FN

Nome

Departamento

ChefeDa

DivisãoDivisão

Departamento

Page 26: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 26

3ª Forma Normal: Exemplo 3

Nº Empregado, Nº Departamento Orçamento, Nº Horas, Nº Projecto

Nº Projecto Orçamento

Trabalha( Nº Empregado, Nº Departamento, Orçamento, Nº Horas, Nº Projecto)

Trabalha não está na 3FN, porque Projecto determina Orçamento e não é chave

Empregado

Nº Empregado

Orçamento

Piso

Nome

Nº DepartamentoDepartamento

TrabalhaNº Horas

Nº ProjectoTrabalha

Nº Horas Nº Projecto

Orçamento

Projecto

Page 27: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 27

Problemas com a 3ª Forma Normal

Os problemas da 3FN surgem quando:Existem dependências entre os atributos das chaves, por exemplo:

Existem várias chaves compostas, com pelo menos um atributo comum, por exemplo:

a1,a2 a3,a4a3,a2 a1,a4

a1 a3a3 a1X

X(a1, a2, a3, a4)

Seja a Entidade/Relação Xcom os seguintes atributos e chaves

a1

a2a3

a4

Page 28: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 28

Problemas com a 3ª Forma Normal: Exemplo

O director de cada projecto é armazenado várias vezesO director de um projecto só é armazenado quando o projecto encomendar peçasUm projecto não pode ser armazenado enquanto o seu director não for conhecidoA mudança de um director de um projecto implica a mudança de vários tuplos

PeçaQuantidade

Director

Projecto

Relação Usa

Projecto | Director | Peça | Quantidade

| | |

| | |

Problemas:

Estes problemas resultam de:• peça ser partilhada por determinantes, e • dependência entre Director e Projecto

Page 29: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 29

A Forma Boyce Codd(BCNF)

Uma Relação está na BCNF quando todos os determinantes são chave

Não existem dependências entre os atributos não chave

Não existem dependências entre sub-conjuntos dos atributos das chaves.

A BCNF só se distingue da 3FN quando:Existe mais do que uma chaveAs chaves são formadas por vários atributos

Page 30: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 30

Exemplo -1Chaves Disjuntas

Seja a Relação Fornecedor :

Fornecedor (F#, Nome, Estado, Cidade)F#

Nome

Estado

Cidade

Em que FN esta Relação está ?Que anomalias são possíveis na relação Fornecedor ? Que inconvenientes resultam da existência de 2 chaves candidatas ?

Page 31: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 31

Exemplo - 2Chaves Sobrepostas

Seja a Relação Venda :

Venda (F#, P#, Fnome,Quantidade)F#

FNome

Quantidade

Em que FN esta Relação está ?Que anomalias são possíveis na relação ? Quais são as decomposições mais convenientes ?

P#

Page 32: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 32

Exemplo -3

Seja a Relação Aulas :

Aulas (Disciplina,Professor,Aluno) Professor

Em que FN esta Relação está ?Que anomalias são possíveis na relação ? Quais são os inconvenientes das seguintes decomposições ?

V1 (Aluno,Professor) e V2 (Professor,Disciplina)V1 (Aluno,Disciplina) e V2 (Professor,Disciplina)V1 (Aluno,Disciplina) e V2 (Professor,Aluno)

Aluno

Disciplina

Page 33: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 33

Notas sobre a decomposição de Relações/Entidades

A decomposição de uma relação ou entidade com vista à sua normalização pode implicar a perda de informação.

O Problema da Perda de InformaçãoEntre as decomposições que não implicam a perda de informação, importa decidir sobre a mais correcta.

O Problema da Perda das Dependências

Page 34: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 34

Decomposição com perdas de informação

Seja R1(A,B,C), e A-> B e C-> B.Consideremos a decomposição de R1 em R2(A,B) e R3(B,C) ,e a suaposterior restituição em R´1. Existe perda de informação!

A | B | C

a1 | b1 | c1a3 | b1 | c2

a2 | b2 | c3a4 | b2 | c4

A | B | C a1 | b1 | c1a1 | b1 | c2a3 | b1 | c1a3 | b1 | c2a2 | b2 | c3a2 | b2 | c4a4 | b2 | c3a4 | b2 | c4

A | B

a1 | b1a3 | b1

a2 | b2a4 | b2

B | C

b1 | c1b1 | c2

b2 | c3b2 | c4

R1

R2

R3R´1

Decomposição

Junção

Page 35: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 35

Decomposição sem perdas de informação

A decomposição de uma relação diz-se sem perdas(lossless-join decomposition) quando esta pode ser obtida a partir do join natural das relações resultantes da decomposição

A decomposição de uma relação R(X,Y,Z) (em que X, Y, Z são conjuntos de atributos) em R1(X,Y) e R2(X,Z) é sem perdas se X->Y ou se X->Z. (Teorema de Heath´s)

Page 36: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 36

Decomposição sem perdas de Informação: Exemplo

X | Y | Z

x1 | y1 | z1x2 | y2 | z2

x3 | y2 | z1x4 | y1 | z2

X | Y

x1 | y1x2 | y2

x3 | y2x4 | y1

X | Z

x1 | z1x2 | z2

x3 | z1x4 | z2

R1: X-> Y, X-> Z, YZ-> XR3: X-> Z

Decomposição

Junção

R2: X-> YX | Y | Z

x1 | y1 | z1x2 | y2 | z2

x3 | y2 | z1x4 | y1 | z2

R´1

Page 37: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 37

Exemplos de Decomposições

Seja a Relação Fornecedor (F#, Estado, Cidade).

Decomposição 1 F1 (F#, Estado) e F2(F#,Cidade)

Decomposição 2 F1 (F#, Estado) e F2(Cidade,Estado)

A 1ª não implica perdas, enquanto na segunda perde-se a dependência F# ->Cidade

Page 38: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 38

Exemplo (1)

Encomenda não está na 1FN.Porquê ?Quais são as anomalias que se podem verificar?

Encomenda

NrEncomendaItem

Data

Codigo-Peça

Quantidade

Preço

NrCliente

NomeCliente

Page 39: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 39

Exemplo (2)

Este esquema está na 1FN, mas não está na 2FN.Porquê ?Quais são as anomalias que se podem verificar?

Detalhe(NrItem, NrEncomenda,PreçoUnitário, Quantidade)Encomenda(NrEncomenda,Data,NrCliente,NomeCliente)

Encomenda

NrEncomenda

Data

NrItem

Quantidade

PreçoUnitário

Detalhe Da

NrCliente

NomeCliente

Page 40: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 40

Exemplo (3)Este esquema está na 2FN, mas não está na 3FN.

Porquê ?Quais são as anomalias que se podem verificar?

Detalhe(NrItem, NrEncomenda, Quantidade)Item(NrItem, PreçoUnitário)Encomenda(NrEncomenda,Data,NrCliente,NomeCliente)

Encomenda

NrEncomenda

Data

NrItem

Quantidade

PreçoUnitário

Detalhe

NrCliente

NomeCliente

Item

Page 41: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 41

Exemplo (4)Este esquema está na 3FN

Detalhe(NrItem, NrEncomenda,PreçoUnitário, Quantidade)Item(NrItem, PreçoUnitário)Encomenda(NrEncomenda,Data,NrCliente)Cliente(NrCliente,NomeCliente)

Encomenda

NrEncomenda

Data

NrCliente

NomeCliente

Cliente

DoNrItem

Quantidade

PreçoUnitário

DetalheItem

Page 42: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 42

Formas Normais: Exercício 1

E1ABCD

B DAB C

Qual o Identificador ?Em que FN está ?

E2ABCD

AB CEE AB

Qual o Identificador ?Em que FN está ?

EC D

Page 43: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 43

Formas Normais: Exercício 2

E3ABCD

B DD B

Qual o Identificador ?Em que FN está ?

ABD C

E4ABCD

A BCDB ACD

Qual o Identificador ?Em que FN está ?

CD AB

Page 44: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 44

Exercício 3

Considere a relação R(a,b,c,d,e), em que {a,b} é a chave primária e d->e .

- Indique todas as dependências da relação R.

- Qual a forma normal da relação R?

- Assuma agora que a chave primária R é {a,b,d}. Em que forma normal a relação R passa a estar?

Page 45: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 45

Exercício 4Considere a relação R(a,b,c,d), em que {a,b} é a chave primária.

- Indique uma dependência funcional entre os atributos de R de forma a que R não esteja na 2ª forma normal.

- Indique uma dependência funcional entre os atributos de R de forma a que R esteja na 2ª forma normal mas não esteja na 3ª forma normal.

- Indique uma dependência funcional entre os atributos de R de forma a que R esteja na 3ª forma normal mas não esteja na Boyce Codd.

Page 46: Dependências Funcionais e Formas Normais - … · anomalias: Anomalia de inserção: quando os factos (conhecimento) independentes não podem ser inseridos independentemente na base

Formas Normais Pedro Sousa 46

Considere a relação R (a,b,c) e a sua decomposição nas relações R1(b,c) e R2(a,c).

- Qual ou quais as dependências que têm necessariamente que existir entre os atributos a, b e c para que a decomposição de R em R1 e R2 não represente perda de informação?

- Assumindo a existência da ou das dependências anteriores, escreva uma expressão em álgebra relacional que permita reconstituir R a partir de R1 e R2 ?

-

Exercício 5