A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Formas Normais Pedro Sousa 1 Dependências Funcionais e Formas Normais."— Transcrição da apresentação:

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

2 Formas Normais Pedro Sousa 2 Introdução  As 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.

3 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 da completude da informação neles contidas  Sã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.

4 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

5 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

6 Formas Normais Pedro Sousa 6 Diagrama de Dependências Funcionais Outro 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)?

7 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

8 Formas Normais Pedro Sousa 8 Propriedades das Dependências Funcionais (regras de Armstrong)  Reflexividade  Se Y está contido em X, então X-> Y  Incremento  Se X -> Y, então X Z -> YZ  Transitividade  Se X -> Y e Y -> Z, então X-> Z

9 Formas Normais Pedro Sousa 9 Regras Derivadas  Auto-Reflexividade  X -> X  Decomposição  Se X -> Y Z, então X-> Y e X -> Z  União  Se X-> Y e X -> Z então X -> YZ  Composição  Se X-> Y e A -> B então XA -> YB

10 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

11 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

12 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

13 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 Zé Cidade Data Cidade Data Lisboa Faro Lisboa 01-02-92 11-12-94 10-10-84 “Relação” não Normalizada Relação Normalizada Pessoa João Zé Cidade Data Lisboa Faro Lisboa 01-02-92 11-12-94 10-10-84 João

14 Formas Normais Pedro Sousa 14 Problemas com a 1ª Forma Normal Exemplo 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çamentoProjecto Projecto TempoGastoProjecto  A 1ª FN não assegura a resolução do problema das anomalias!

15 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çamentoProjecto Projecto Projecto | OrçamentoProjecto | Projecto  A eliminação das anomalias implica a fragmentação da relação inicial em duas novas relações

16 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ça Identificaçã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 a conversão dos atributos multivalor e compostos em atributos simples

17 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 é completamente dependente dos atributos chave.  Ou seja, todos os atributos que não pertencem a nenhuma chave são completamente 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 que pertencem às chaves.  Nada se diz quanto às dependências mútuas entre os atributos que não pertencem às chaves.

18 Formas Normais Pedro Sousa 18 2ª Forma Normal Exemplo 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 as seguintes Relações:  R1(A,B,C) com a dependência AB -> C  R2(A,D) com a dependência A -> D cada atributo não chave é completamente dependente dos atributos chave

19 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,Nota Nome-Cadeira Professor Estudante Nº Cadeira Nome Nota Exame Professor Exame não está na 2FN Estudante Cadeira Exame Nº Nome Nota Professor Exame está na 2FN O atributo Professor não pode ser atributo de Exame!

20 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 Quantidade NrEncomenda Preço Total NrEncomenda 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.

21 Formas Normais Pedro Sousa 21 Problemas com a 2ª Forma Normal  As 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

22 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. NrEncomenda Nº Peça Quantidade Preço Unitário Nº Peça Está na 2FN Estão na 2FN NrEncomenda Nº Peça Quantidade Preço Unitário Preço Total

23 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.  Todas 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 que pertencem às chaves. Uma Relação está na 3ª Forma normal se todos os atributos não chave são completamente dependentes dos atributos chave e são independentes entre si.

24 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 as seguintes Relações:  R1(B,C) com a dependência B -> C  R2(A,B) com a dependência A -> B cada atributo não chave é completamente independente dos restantes atributos não chave

25 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º Empregado Empregado Do está na 3FN Nome Departamento Chefe Da Divisão Departamento

26 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º Departamento Departamento Trabalha Nº Horas Nº Projecto Trabalha Nº Horas Nº Projecto Orçamento Projecto

27 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,a4 a3,a2 a1,a4 a1 a3 a3 a1 X X(a1, a2, a3, a4) Seja a Entidade/Relação X com os seguintes atributos e chaves a1 a2 a3 a4

28 Formas Normais Pedro Sousa 28 Problemas com a 3ª Forma Normal: Exemplo  O director de cada projecto é armazenado várias vezes  O director de um projecto só é armazenado quando o projecto encomendar peças  Um projecto não pode ser armazenado enquanto o seu director não for conhecido  A mudança de um director de um projecto implica a mudança de vários tuplos Peça Quantidade 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

29 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 chave  As chaves são formadas por vários atributos

30 Formas Normais Pedro Sousa 30 Exemplo -1 Chaves 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 ?

31 Formas Normais Pedro Sousa 31 Exemplo - 2 Chaves 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#

32 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

33 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ção  Entre 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

34 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 sua posterior restituição em R´1. Existe perda de informação! A | B | C a1 | b1 | c1 a3 | b1 | c2 a2 | b2 | c3 a4 | b2 | c4 A | B | C a1 | b1 | c1 a1 | b1 | c2 a3 | b1 | c1 a3 | b1 | c2 a2 | b2 | c3 a2 | b2 | c4 a4 | b2 | c3 a4 | b2 | c4 A | B a1 | b1 a3 | b1 a2 | b2 a4 | b2 B | C b1 | c1 b1 | c2 b2 | c3 b2 | c4 R1 R2 R3 R´1 Decomposição Junção

35 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)

36 Formas Normais Pedro Sousa 36 Decomposição sem perdas de Informação: Exemplo X | Y | Z x1 | y1 | z1 x2 | y2 | z2 x3 | y2 | z1 x4 | y1 | z2 X | Y x1 | y1 x2 | y2 x3 | y2 x4 | y1 X | Z x1 | z1 x2 | z2 x3 | z1 x4 | z2 R1: X-> Y, X-> Z, YZ-> X R3: X-> Z Decomposição Junção R2: X-> Y X | Y | Z x1 | y1 | z1 x2 | y2 | z2 x3 | y2 | z1 x4 | y1 | z2 R´1

37 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

38 Formas Normais Pedro Sousa 38 Exemplo (1)  Encomenda não está na 1FN.  Porquê ?  Quais são as anomalias que se podem verificar? Encomenda NrEncomenda Item Data Codigo-Peça Quantidade Preço NrClienteNomeCliente

39 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 NrClienteNomeCliente

40 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 NrClienteNomeCliente Item

41 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 DataNrClienteNomeCliente Cliente Do NrItem Quantidade PreçoUnitário Detalhe Item


Carregar ppt "Formas Normais Pedro Sousa 1 Dependências Funcionais e Formas Normais."

Apresentações semelhantes


Anúncios Google