Post on 15-Oct-2018
Formas Normais Pedro Sousa 1
Dependências Funcionais e
Formas Normais
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.
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.
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
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
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)?
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
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
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
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
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
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
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
LisboaFaro
Lisboa
01-02-9211-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
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!
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
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
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.
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
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
Nº
Nome
Nota
Professor
Exame está na 2FN
O atributo Professor não pode ser atributo de Exame!
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.
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
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
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.
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
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
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
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
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
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
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 ?
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#
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
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
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
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)
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
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
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
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
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
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
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
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
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?
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.
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