Escolar Documentos
Profissional Documentos
Cultura Documentos
( 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.
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
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
=
<
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}
ED1 ED2
Enome EBI Dnasc End Dnum Dnum Dnome DirBI
7
Forma Normal de Boyce-Codd (BCNF)
que é superchave em .
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}
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.
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
> 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
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
EPD
decomposicao
EP ED
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
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.
\@
]@
ba$
a
a
c@
@
$
$
Q
\@
]@
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,
@
`_
\@
]@
ba$
a
a
c@
e@
$
$
Q
S
.
@
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