Você está na página 1de 32

Bancos de Dados I

Bancos de Dados Relacionais


Projeto de Bancos de Dados Relacionais
Projeto de Bancos de Dados Relacionais
Bancos de Dados I
Projeto de BD Relacionais
Tcnicas de projeto
Teoria baseada nas dependncias
funcionais, buscando-se algoritmos
automatizados para verificar a adequao
de esquemas relacionais. Muitos
resultados importantes publicados nas
dcadas de 70 e 80.
Bancos de Dados I
Normalizao
Problema: Dada uma lista de itens de dados a
representar no computador, como decidir quais as
relaes que vo existir e quais os seus atributos
Conceitos envolvidos:
Dependncias funcionais
Formas normais
Relao universal
Normalizao ajuda,
mas no resolve!
Bancos de Dados I
Dependncias funcionais
Definio: Dada uma relao R, o atributo Y de R
funcionalmente dependente de um atributo X de R se e
somente se, sempre que duas tuplas de R tm o mesmo
valor para X tm tambm o mesmo valor para Y.
Para que serve isto?
Normalizao, entendimento do
significado dos dados
Bancos de Dados I
Atributos e suas dependncias funcionais (1)
Considerando os atributos:
CodVo, CodEmp, NomeEmp, Telefone
Data,
H_Sada, H_Chegada,
H_Sada_Real, H_Chegada_Real,
CodAvio, Tipo, Capacidade
Origem, Destino, Distncia
Bancos de Dados I
Atributos e suas dependncias funcionais (2)

CodEmp
Data
Telefone NomeEmp
H_Sada
CodAvio
CodVo
Origem
Destino
H_Chegada
H_Sada_Real
H_Chegada_Real
Capacidade
Distncia
Bancos de Dados I
Tratando dependncias funcionais
Axiomas de Armstrong
A1. Reflexividade: Se Y X U ento X Y
D as dependncias triviais, que no dependem de F.
A2. Aumento: Se X Y e Z U ento XZ YZ
X, Y e Z so conjuntos de atributos e X Y pode estar em F
ou ter sido derivada pelos axiomas.
A3. Transitividade: Se X Y e Y Z ento X Z
Bancos de Dados I
Tratando dependncias funcionais
Axiomas de Armstrong (inferidos)
A4. Unio: Se X Y e X Z ento X YZ
D as dependncias triviais, que no dependem de F.
A5. Pseudotransitividade:
Se X Y e WY Z ento XW Z
A6. Decomposio: Se X Y e Z Y ento X Z
Uma consequncia importante da decomposio:
Se A
1
,...,A
n
so atributos ento X A
1
,...,An verifica-se se
e somente se X A
i
para cada i
Bancos de Dados I
Proposies
Os axiomas de Armstrong so robustos e
completos (sound and complete).
Bancos de Dados I
Formas normais
Verificam as relaes escolhidas
Evitam problemas de atualizao ineficientes
H 4 formas normais usualmente empregadas
Bancos de Dados I
Exemplo de projeto pobre

VO
CodVo CodEmp NomeEmp
101
751
230
321
VRG
TAM
TBR
VRG
Varig
Trans A Marlia
Transbrasil
Varig
Bancos de Dados I
Anomalias
Redundncia
O nome da empresa aparece mais de uma vez
Inconsistncia
O nome da empresa poderia aparecer com valores
diferentes para o mesmo cdigo de empresa
Insero
No possvel inserir uma empresa sem que haja vos
Remoo
Remover todos os vos significa remover a empresa
Bancos de Dados I
Primeira forma normal
Todos os atributos tm valores atmicos
Exemplo de relao transgressora
Problema: vrios telefones na mesma coluna
Soluo: replicar as linhas com valores no atmicos e retirar as
redundncias mais adiante no processo de normalizao
CodEmp NomeEmp Telefone
VRG Viao Area Riograndense 23456781 34567891 23456771
TAM Transportes Areos Marlia 51111111
GOL Gol Linhas Areas 33333334 44444444
Bancos de Dados I
Primeira forma normal (cont.)
CodEmp NomeEmp Telefone
VRG Viao Area Riograndense 23456781
VRG Viao Area Riograndense 34567891
VRG Viao Area Riograndense 23456771
TAM Transportes Areos Marlia 51111111
GOL Gol Linhas Areas 33333334
GOL Gol Linhas Areas 44444444
Bancos de Dados I
Segunda forma normal
Todo atributo no chave totalmente
dependente da chave primria
Exemplo de relao transgressora
Problema: CodAvio no chave e no depende da chave primria
Soluo: desmembrar em mais de uma relao
Vo
CodVo CodEmp CodAvio
Bancos de Dados I
Segunda forma normal (cont.)
Desmembramento
Soluo: CodAvio deve ser movido para outra tabela
Vo
CodVo CodEmp
Bancos de Dados I
Terceira forma normal
Todo atributo no chave no transitivamente
dependente da chave primria
Exemplo de relao transgressora
Problema: NomeEmp transitivamente dependente de CodVo
Vo
CodVo CodEmp NomeEmp
101
751
230
321
VRG
TAM
TBR
VRG
Varig
Trans A Marlia
Transbrasil
Varig
Bancos de Dados I
Terceira forma normal
Desmembramento
Vo
CodVo CodEmp
101
751
230
321
VRG
TAM
TBR
VRG
Empresa
CodEmp NomeEmp
VRG
TAM
TBR
Varig
Trans A Marlia
Transbrasil
Bancos de Dados I
Forma normal Boyce-Codd
Todo determinante uma chave
Exemplo de relao transgressora
Problema: CodVo, Origem e Destino um determinante para H_Sada
Soluo: desmembrar em mais de uma relao
(ou, em alguns casos, introduzir uma chave)
Viagem
CodVo Origem Destino Data H_Sada H_Sada_Real H_Chegada_Real
Bancos de Dados I
Chaves
Se R um esquema relacional com
atributos A
1
,...,A
n
e dependncias
funcionais F e X um subconjunto de
A
1
,...,A
n
, diz-se que X uma chave de R
se:
1. X A
1
,...,A
n
est em F
2. no existe um subconjunto YX tal
que Y A
1
,...,A
n
esteja em F
Bancos de Dados I
Exemplo
Esquema
R(Cidade, Rua, Nmero, CEP)
Dependncias
Cidade Rua Nmero CEP
CEP Cidade
As combinaes de atributos abaixo podem ser
definidas como chaves?
{Cidade, Rua, Nmero}
{CEP, Rua, Nmero}
Bancos de Dados I
Aplicando axiomas
CEP Cidade (dado)
CEP Rua Nmero Cidade Rua Nmero (aumento)
Cidade Rua Nmero CEP (dado)
Cidade Rua Nmero CEP Cidade Rua Nmero (aumento)
CEP Rua Nmero CEP Cidade Rua Nmero (transitividade)
logo
{Cidade, Rua, Nmero}
{CEP, Rua, Nmero}
so chaves.
Bancos de Dados I
Formas normais
Uma relao R est na terceira forma normal se no
existe uma chave X em R, um conjunto de atributos
YR e um atributo no chave A, disjunto de X e Y, tal
que:
1. X Y verifica-se em R;
2. Y A verifica-se em R;
3. Y X no verifica-se em R.
Se R satisfaz as condies acima sempre que YX ento
diz-se que R est na segunda forma normal.
Bancos de Dados I
Formas normais
Um relao dita na Forma normal
Boyce-Codd se sempre que X A se
verifica em R, e A no est em X, ento X
inclui uma chave de R.
Proposio: Se uma relao R est nesta
forma normal ento est tambm na
terceira forma normal.
Bancos de Dados I
Formas normais e
decomposio
Qualquer relao tem uma decomposio
sem perda na FNBC.
Qualquer relao tem uma decomposio
sem perda na 3FN que preserva as
dependncias funcionais.
Bancos de Dados I
Dependncias multivaloradas
X multidetermina Y, ou X Y, se para
valores dos atributos X h um conjunto de
zero, um ou mais valores associados dos
atributos Y, e esse conjunto de valores
no est associado aos valores dos
atributos R - X - Y.
Bancos de Dados I
Dependncias multivaloradas
Diz-se que X Y verifica-se em R se sempre que
existirem t1 e t2 na instncia de R, com t1[X]=t2[X],
ento existem tambm as u1 e u2, onde

1. u1[X] = u2[X] = t1[X] = t2[X]
2. u1[Y] = t1[Y] e u1[R - X - Y] = t2[R - X - Y]
3. u2[Y] = t2[Y] e u2[R - X - Y] = t1[R - X - Y]
Bancos de Dados I
Dependncias multivaloradas
Exemplo
CodVo Origem Destino H_Sada Data
101 Rio BHZ 14:15 2/7/02
101 BHZ BSB 15:20 2/7/02
101 Rio BHZ 14:15 3/7/02
101 BHZ BSB 15:20 3/7/02
101 Rio BHZ 14:15 4/7/02
101 BHZ BSB 15:20 4/7/02
Bancos de Dados I
Dependncias multivaloradas
Testando CodVo Origem, Destino, H_Sada
CodVo Origem Destino H_Sada Data
101 Rio BHZ 14:15 2/7/02 t1
101 BHZ BSB 15:20 2/7/02 u2
101 Rio BHZ 14:15 3/7/02 u1
101 BHZ BSB 15:20 3/7/02 t2
101 Rio BHZ 14:15 4/7/02
101 BHZ BSB 15:20 4/7/02
Bancos de Dados I
Quarta forma normal
Uma relao R est na Quarta forma
normal se sempre que houver uma
dependncia multivalorada X Y, onde
Y no vazio nem subconjunto de X, e XY
no inclui todos os atributos de R, ento X
inclui alguma chave de R.
Bancos de Dados I
Axiomas para D.F. e D.M.
A1. Reflexividade: Se Y X U ento X Y
A2. Aumento: Se X Y e Z U ento XZ YZ
A3. Transitividade: Se X Y e Y Z ento X Z
A4. Complemento: Se X Y ento X U - X - Y
A5. Aumento: Se X Y e V W ento WX VY
A6. Transitividade: Se X Y e Y Z ento X Z - Y
A7. Se X Y ento X Y
A8. Se X Y , Z Y e
para algum W disjunto de Y
tem-se que W Z,
ento X Z
Bancos de Dados I
Proposies sobre 4FN
Se D inclui apenas dependncias funcionais
ento sempre que R estiver na 4FN estar na
FNBC.
possvel encontrar uma decomposio sem
perda tal que cada relao produzida esteja na
4FN.
O algoritmo que determina quando uma
decomposio ou no sem perda pode ser
adaptado para dependncias multivaloradas.

Você também pode gostar