Você está na página 1de 14

Dependências Funcionais

dependência funcional é uma restrição entre 2 conjuntos de atributos de uma BDs.


Seja um esquema relacional em que os são atributos. Sejam















e dois subconjuntos de atributos de .





( determina funcionalmente ou depende funcionalmente de ) sse








 

 

 

 


 









interpretação:
X determina funcionalmente Y sse quando (quaisquer) 2 tuplos de R concordarem
nos valores de X implicar que também concordam nos valores de Y; ou
Os valores da componente Y de tuplos de R dependem dos valores da componente
X.

1
Exemplo de Dependências Funcionais
EmpProj
EBI Pnum Horas Enome Pnome Plocal






dependências:
!
"

!


!%

%
&'


$
#

(


!
"

)
*'

+

$
#

2
Formas Normais (Codd 1972)
Representam orientações para o desenho de relações.
As regras de normalização foram pensadas para prevenir anomalias no processo de
modificação e inconsistência da informação.
1a. Forma Normal
Uma relação está na 1a. Forma Normal se os valores de cada atributo na relação
forem atómicos (i.e. simples, não-divisı́veis).
não permite atributos multivalor.


decompor atributos compostos, e.g. nome(P,U) para Pnome e Unome.




3
2a. Forma Normal
Um esquema relacional satisfaz a 2a. Forma Normal se
satisfaz a 1a. Forma Normal
todo atributo não-chave depender completamente da chave. é uma de-



pendência completa se
-

/








,

.
No exemplo seguinte, as dependências e violam a 2a.





!
"

!


!%

%
&'


$
#

(
Forma Normal:
EmpProj
EBI Pnum Horas Enome Pnome Plocal

Problemas com redundância, e.g. o nome e localização do projecto aparece para todas as combinações
0

de EBI e Pnum, o que pode trazer dificuldades em garantir consistência desta informação.
alteração do nome ou localização do projecto implica alterações em muitos tuplos.
0

4
Normalização 2FN
EmpProj
EBI Pnum Horas Enome Pnome Plocal

decomposicao

EP1 EP2 EP3


EBI Pnum Horas EBI Enome Pnum Pnome Plocal

Este processo de normalização melhora a integridade da inforação, minimizando redundância e con-


sistência.

Por vezes, tem-se um decréscimo na eficiência para certas operações de consulta. Será o caso se
tivermos de juntar com frequência as 3 tabelas numa só, mas neste caso é preferı́vel ter uma visão com
a junção das 3 tabelas.

5
3a. Forma Normal
Uma relação satisfaz a 3a. Forma Normal se:
satisfaz a 2a. Forma Normal
nenhum atributo não-chave é dependente transitivo da chave.
em é uma dependência transitiva se .


12



789

9


543

 .



,
Definição mais geral para 3FN:
Um esquema é 3FN se para qualquer dependência não trivial em se tem:





a) é superchave em , ou


b) é um atributo pertencente à chave de .




Dado , o conjunto de atributos , com , é uma


 ,

















=


<
superchave de se identificar todos os tuplos de de forma única. A chave de é a



menor das superchaves possı́veis de .


6
Exemplo 3FN
EmpDep
Enome EBI Dnasc End Dnum Dnome DirBI

Dependencia transitiva:
EBI {Dnome, DirBI}

Porque: EBI Dnum decomposicao


Dnum {Dnome, DirBI}

ED1 ED2
Enome EBI Dnasc End Dnum Dnum Dnome DirBI

7
Forma Normal de Boyce-Codd (BCNF)

Um esquema é BCNF se para qualquer dependência não trivial em se tem





que é superchave em .


A diferença para 3FN é a inexistência da possibilidade de A ser parte da chave.


Note-se que se é BCNF também é 3FN, mas o inverso não é verdadeiro.


Exemplo de uma relação que é 3FN e não BCNF:


R
A B C
df1 df2

pois df1 verifica a condição (a) de 3FN e df2 verifica condição (b). não é BCNF


devido a df2.

8
Normalização BCNF
FilmeActor
Titulo Ano Duracao tipoF NomeEstudio NomeActor

{Titulo,Ano} {Duracao,TipoF,NomeEstudio}

E {Titulo,Ano} nao e’ superchave


decomposicao

Filme FA
Titulo Ano Duracao TipoF NomeEstudio Titulo Ano NomeActor

9
Dependências Multivalor

As dependências multivalor numa relação surgem quando temos dois ou mais atribu-
tos multivalor independentes.
Obriga a repetir todos os valores de um atributo para cada valor do outro para manter
a relação consistente.
Como exemplo veja-se a relação EPD que relaciona um empregado com os projectos em que trabalha
e os seus dependentes.

EPD Enome Pnome Dnome


Silva X Pedro
Silva Y Ana
Silva X Ana
Silva Y Pedro
Um empregado pode trabalhar em vários projectos e ter vários dependentes. A dependência multivalor
resulta de juntarmos dois relacionamentos 1:N na mesma relação.

10
Definição de Dependência Multivalor (MVD)
Sejam e subconjuntos de atributos de uma relação . ( multidetermina ) especifica
>

>A

>

?
@
a seguinte restrição sobre instâncias de :

@
Se t.q. então (não necessáriamente distintos de ) t.q.
I H
J
B

> G

> G

B
C
C

C
C

C
C
@

@
D
EF

LF

D
E
K
$

$
H
I H

I H

I H
0

> G

> G

> G

> G
C

C
L

E
K

e
IJH

I H
0

? G

? G

? G

? G
C

C
D

E
K

e
I H

I H
0

MNG

MNG

MNG

MNG
C

C
E

D
K

onde . Por simetria se então .


PO@
I
M

> Q

>A

>A

M
R

R X Y R - (XY)
Os valores de Y ficam determinados por um valor de X
t1
Mas os valores de Y teem de ser repetidos para cada
t2 valor distinto de Z=R-(XY).
t3
t4
iguais t1=t3 t1=t4
t2=t4 t2=t3

11
4a. Forma Normal
Uma relação é 4FN relativamente a um conjunto de dependências se, para cada

U
T

dependência multivalor não-trivial, em , é superchave de .

Y U
Z
W
V

T
Uma MVD é trivial se ou .

I
>A

>

>

?
R

@
[

Benefı́cios de 4FN:
evita-se repitições de valores e redundância
0

evitam-se os problemas de garantia de consistência


0

maior independência dos dados.


0

EPD

Enome Pnome Dnome

decomposicao

EP ED

Enome Pnome Enome Dnome

12
Decomposição com junção-sem-perdas
Sempre que decompomos um esquema em e com base numa MVD

O @Q
I

I
\@

> Q

]@

>
?
@

S
que se verifica em , então a decomposição goza da propriedade de junção-sem-perdas.
>A

e constituem uma decomposição de obdecendo à junção-sem-perdas, sse

A
\@

]@

\@

]@
@

^
Q

S
.
O
\@

]@
Q

Por vezes dá-se que não existe uma decomposição de junção-sem-perdas de em duas relações, mas

@
existe para mais do que duas relações.

Além disso pode não existir qualquer outra dependência funcional em que viole as formas normais

@
até à BCNF, nem existir nenhuma MVD trivial que viole a 4NF. Sobra então outro tipo de dependência
que nos conduz à 5NF.

Uma Dependência de junção, , de um esquema especifica que para qualquer


`_

\@

]@

ba$
a
a

c@

@
$

$
Q

instância válida têm uma decomposição de junção-sem-perdas em .

\@

]@

ab$
a
a
d

c@
@

$
Uma MVD é um caso especial de JD para n=2. é trivial se um dos .

I
`_

\@

]@

a$
a
a

c@

e@

@
$

$
Q

13
5a Forma Normal
Uma relação é 5FN relativamente a um conjunto de dependências funcionais, multivalor e junção,
@

, se para cada dependência junção não-trivial, , cada é uma superchave de


f

`_

\@

]@

ba$
a
a

c@

e@
$

$
Q

S
.
@

Exemplo: Considere-se a relação Fornecimento(Fnome,Cnome,ClienteN) e suponha que


se verifica a seguinte restrição:

Se um fornecedor f fornece a componente x e se um cliente c encomenda a componente x e se o


fornecedor f fornece o cliente c, então o fornecedor f fornece a componente x ao cliente c.

Esta restrição significa que existe uma dependência junção JD(R1,R2,R3) em que R1(Fnome,Cnome),
R2(Fnome,ClienteN) e R3(Cnome,ClienteN).

Assim podemos, por aplicação da 5FN, decompor a relação Fornecimento em R1, R2 e R3.

Notar que a junção-natural de apenas duas destas relações Ri conduz a tuplos-falsos, mas a junção
das 3 relações Ri não!.

14

Você também pode gostar