Click here to load reader
View
215
Download
0
Embed Size (px)
Dependncias Funcionais eFormas Normais
IntroduoAs dependncias funcionais e as formas normais estabelecem critrios de qualidade de desenho no modelo Relacional.Permitem detectar e prevenir a redundncia e garantir a coerncia da informao.Fundamenta-se nas dependncias entre os atributos das relaes
Ao nvel do modelo Relacional, deve ser usado para detectar eventuais problemas associados redundncia e coerncia da informao. Ao nvel do modelo Entidade Associao, deve ser usado para identifcar entidades e determinar os seus atributos.
O problema da Redundncia dos DadosA redundncia dos dados tem implicaes ao nvel da coerncia e da completude da informao neles contidasSo bem conhecidos os seguintes problemas, designados por anomalias:Anomalia de insero: quando os factos (conhecimento) independentes no podem ser inseridos independentemente na base de dados.Anomalia de eliminao: quando se elimina uma instncia de um facto, perde-se instncias de outros factos independentes.Anomalia de actualizao: quando a actualizao de um facto implica a alterao de uma srie de instncias de outros factos independentes.
Exemplo Introdutrio
Anomalia de insero: S podemos indicar o preo de cada pea se existirem encomendas pendentes.Anomalia de eliminao: Ao eliminar uma encomenda, perde-se a informao relativa ao preo de cada pea.Anomalia de actualizao: A alterao do preo de uma pea implica a alterao do mesmo em todas as encomendas existentes.EncomendaN EncomendaN da PeaPreo UnitrioQuantidadeConsideremos a seguinte Entidade /RelaoEncomenda
Exemplo Introdutrio Dependncias Funcionais
O problema reside nas relaes de dependncias entre os atributos da Entidade/Relao: o N da encomenda determina N da pea, a Quantidade e o Preo Unitrio.O N da pea determina o Preo Unitrio.EncomendaN EncomendaN da PeaPreo UnitrioQuantidadeNEncomenda | N Pea | Quantidade| Preo Unitrio | | | | | | EncomendaDiagrama de Dependncias Funcionais
Diagrama de Dependncias FuncionaisOutro ExemploQue informao est contida neste Diagrama de Dependncias Funcionais?De que modo essa informao pode ser til no desenvolvimento de esquemas Relacionais ou mesmo Conceptuais (ER)?
Dependncia funcionalSeja uma relao 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 tm um valor de X comum, tm tambm o valor de Y em comum.Diz-se tambm que X determinante, e representa-se graficamente por X-> Y.A dependncia funcional um questo semntica. No pode ser deduzida com base num conjunto de tuplos. Estes apenas podem confirmar que determinada dependncia no existe.X uma super-chave se X->R, sendo R o conjunto de todos os atributos da relao R
Propriedades das Dependncias Funcionais(regras de Armstrong)ReflexividadeSe Y est contido em X, ento X-> Y IncrementoSe X -> Y, ento X Z -> YZ
TransitividadeSe X -> Y e Y -> Z, ento X-> Z
Regras DerivadasAuto-ReflexividadeX -> X DecomposioSe X -> Y Z, ento X-> Y e X -> Z
UnioSe X-> Y e X -> Z ento X -> YZ ComposioSe X-> Y e A -> B ento XA -> YB
Dependncia 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} -> XDizemos que X completamente dependente de Y, se qualquer subconjunto dos elementos de Y no determina X.Dizemos que X um atributo chave se pertence ao identificador da Entidade ou chave primria da Relao
As Formas Normais1 Forma Normal2 Forma Normal3 Forma Normal5 Forma Normal4 Forma NormalForma Normal Boyce Codd
As Formas Normais Seja uma entidade (ou associao) 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 dependncia entre os atributos {a1,...,am} e os atributos {i1,..,in}.A 3 Forma Normal prende-se com as dependncias mtuas entre os atributos {a1,...,am}.A BCNF prende-se com a existncia de vrias chaves
1 Forma NormalUma relao est na 1 Forma normal se todos os seus atributos so valores escalares.
Todas as relaes normalizadas esto na 1 Forma NormalRelao no NormalizadaRelao Normalizada
Problemas com a 1 Forma NormalExemplo
Esta relao est na 1 FN mas apresenta as anomalias de insero, de actualizao e de eliminao!A 1 FN no assegura a resoluo do problema das anomalias!
Eliminao das Anomalias do Exemplo Anterior
Estas relaes j no tm as anomalias !ID_PessoaTempoGastoProjectoProjecto
A eliminao das anomalias implica a fragmentao da relao inicial em duas novas relaes
A 1 Forma Normal e os Modelos ConceptuaisQual a relao entre os atributos multivalor, os atributos compostos e a 1 Forma Normal ?Em ambos os casos, os atributos Nr-da-Pea e identificao no so atributos escalares!Esta a razo pela qual a converso ER para Relacional implica a converso dos atributos multivalor e compostos em atributos simples
A 2 Forma NormalOu seja, todos os atributos que no pertencem a nenhuma chave so completamente dependentes de pelo menos uma chave.Todas as relaes na 1FN e com uma chave simples esto necessariamente na 2FN. Nada se diz quanto s dependncias mtuas entre os atributos que pertencem s chaves.Nada se diz quanto s dependncias mtuas entre os atributos que no pertencem s chaves.Uma Relao est na 2 Forma normal se est na 1 Forma Normal e cada atributo no chave completamente dependente dos atributos chave.
2 Forma NormalExemplo 1Esta relao no est na 2 FN.A decomposio da relao R com vista 2 FN passa por criar as seguintes Relaes:
R1(A,B,C) com a dependncia AB -> CR2(A,D) com a dependncia A -> DConsideremos a Relao R(A,B,C,D) e a dependncia A -> D(as dependncias AB ->C e AB ->D so implcitas)
cada atributo no chave completamente dependente dos atributos chave
2 Forma Normal - Exemplo 2Exame no est na 2FN O atributo Professor no pode ser atributo de Exame!
2 Forma Normal Exemplo 3Esta Entidade/Relao est na 2 Forma Normal ?Encomenda(NrEncomenda, NPea,PreoUnitrio, Quantidade,PreoTotal)Cada encomenda refere-se apenas a uma quantidade de uma nica pea.Considere a Relao (ou Entidade) Encomenda.
Problemas com a 2 Forma NormalAs 2 Forma Normal no garante a no redundncia da informao, sendo portanto possvel que os problemas das anomalias existam tambm nas relaes na 2FN.Por exemplo, a informao sobre o preo de cada pea.
A redundncia surge devido s dependncias entre os atributos no chave.
Eliminao das AnomaliasA eliminao das anomalias implica a eliminao das dependncias entre os atributos no chave.Tal implica a decomposio da Entidade/Relao original em duas.NrEncomendaN PeaQuantidadePreo UnitrioN PeaEst na 2FNEsto na 2FNNrEncomendaN PeaQuantidadePreo UnitrioPreo TotalPreo Total
A 3 Forma NormalOu seja, a 3FN implica a 2FN e que no existam dependncias entre os atributos no chave. Todas as relaes que apenas tm um atributo no chave esto na 3FN, se estiverem na 2FN.Nada se diz quanto s dependncias mtuas entre os atributos que pertencem s chaves.Uma Relao est na 3 Forma normal se todos os atributos no chave so completamente dependentes dos atributos chave e so independentes entre si.
3 Forma Normal: Exemplo 1Esta relao no est na 3 FN.A decomposio da relao R com vista 3 FN passa por criar as seguintes Relaes:
R1(B,C) com a dependncia B -> CR2(A,B) com a dependncia A -> BConsideremos a Relao R(A,B,C) e a dependncia B-> C
cada atributo no chave completamente independente dos restantes atributos no chave
3 Forma Normal: Exemplo 2N Empregado Nome, Departamento, Diviso,Chefe Departamento DivisoDiviso ChefeEmpregadoN EmpregadoDepartamentoChefe DivisoNomeno est na 3FNv
3 Forma Normal: Exemplo 3Trabalha( N Empregado, N Departamento, Oramento, N Horas, N Projecto)
Trabalha no est na 3FN, porque Projecto determina Oramento e no chaveEmpregado N EmpregadoOramentoPisoNomeN DepartamentoDepartamentoN HorasN ProjectoN HorasN ProjectoOramentoProjecto
Problemas com a 3 Forma NormalOs problemas da 3FN surgem quando:Existem dependncias entre os atributos das chaves, por exemplo:
Existem vrias chaves compostas, com pelo menos um atributo comum, por exemplo:
X
X(a1, a2, a3, a4)Seja a Entidade/Relao Xcom os seguintes atributos e chavesa1a2a3a4
Problemas com a 3 Forma Normal: ExemploO director de cada projecto armazenado vrias vezesO director de um projecto s armazenado quando o projecto encomendar peasUm projecto no pode ser armazenado enquanto o seu director no for conhecidoA mudana de um director de um projecto implica a mudana de vrios tuplos
Relao UsaProblemas:Estes problemas resultam de: pea ser partilhada por determinantes, e dependncia entre Director e Projecto
A Forma Boyce Codd(BCNF)Uma Relao est na BCNF quando todos os determinantes so chave
No existem dependncias entre os atributos no chave
No existem dependncias entre sub-conjuntos dos atributos das chaves.
A BCNF s se distingue da 3FN quando:Existe mais do que uma chaveAs chaves so formadas por vrios atributos
Exemplo -1Chaves DisjuntasSeja a Relao Fornecedor : Fornecedor (F#, Nome, Estado, Cidade)Em que FN esta Relao est ?Que anomalias so possveis na relao Fornecedor ? Que inconvenientes resultam da exi