BANCO DE DADOS
MODELO RELACIONAL
MODELO RELACIONAL
Nome da Relação
Atributos
E_Nome
E_PIS
E_Endereço
E_DataNasc
Pedro
9670000
r. XV de No...
05/05/65
João
9711111
r. 13 de Maio...
06/07/77
Maria
9598765
r. 7 de Setem...
03/05/75
Paula
9511112
r. 23 de Maio...
23/10/70
EMPREGADO
Tuplas
“Um esquema de relação Relacional, expresso por R(A1, A2, ...,
An), é constituído pelo nome da relação e seus atributos A1,
A2,...,An e tem a função de descrever esta relação. O Grau de
uma relação consiste no nro de atributos de seu esquema.”
EMPREGADO(E_Nome,E_Pis,E_Endereço,E_DataNasc)
“Uma relação r de um esquema de relação R(A1,A2, ..., An),
representada por r(R), é um conjunto de n_Tuplas“
r = {tupla1, tupla2, ..., tm}Cada tupla é uma lista de n valores
Tupla=<valor1,valor2,...,vn> onde cada valor menor ou igual ao da relação é
um elemento do domínio (Ai) ou um valor nulo especial.”
Restrições do Modelo Relacional
•Domínio:
•Todo atributo deve ter um valor atômico
(indivisível).
•Não é possível a existência de valores
compostos ou multi-valorados.
•Chave:
•Toda tupla deve ser distinta.
• Duas tuplas não podem ter a mesma
combinação de valores para todos os seus
atributos.
• Um atributo chave distingue apenas uma tupla
em uma relação.
• Integridade:
•Atributos idênticos com papéis diferentes devem ter nomes distintos
em uma relação.
• Integridade de Entidade
•Uma chave primária não pode ter valor nulo.
• Integridade Referencial
•Ocorre quando uma tupla t1 em uma relação r1 refere-se a outra
tupla t2 da relação r2.
•A integridade referencial garante que existe esta tupla t2 a qual t1 está
se referindo.
• Chave
•Atributo que identifica uma única tupla em uma relação
• SuperChave
•Um conjunto de atributos composto por pelo menos uma chave. Toda relação tem
pelo menos uma superchave que é o conjunto de todos os seus atributos
• Chave Primária
•Um atributo chave selecionado para identificar unicamente uma tupla.
• Chave Candidata
•Atributo chave que identifica unicamente uma tupla mas que não foi selecionado
como chave primária.
• Chave Estrangeira
•Atributo de uma relação que é chave primária em outra relação.
Chave Primária
Chave Candidata
SuperChave
Chave Estrangeira
EMPREGADO
E_Nome
E_PIS
E_RG
E_Dpto
DEPARTAMENTO
D_Nro
D_Nome
..
.
Normalização
•Processo no qual esquemas de relação inadequados são decompostos
através da quebra de seus atributos em esquemas de relações menores e mais
apropriados.
1a Forma Normal
•Não permite a existência de atributos multivalorados ou compostos.
• Uma relação está na 1a forma normal possui apenas atributos com valores
atômicos (indivisíveis).
Seja o esquema de relação
DEPARTAMENTO(D_nro, D_nome, D_gerente,{D_local})
e suas instâncias:
D_nro
D_nome
D_gerente
D_local
1
Produção
1122
Piracicaba
2
Almoxarifado
1123
3
Pessoal
1234
DEPARTAMENTO
Piracicaba
São Paulo
São Paulo
Passamos para a 1a forma normal, removendo o atributo D_local
da relação DEPARTAMENTO e criando uma uma nova relação
DEPTO_LOC onde a chave primária é o nro do depto.
DEPARTAMENTO(D_nro,D_nome,D_gerente)
DEPTO_LOC(D_nro,D_local)
DEPARTAMENT
O
D_nr
o
D_nome
D_geren
te
1
Produção
1122
2
Almoxarifado
1123
3
Pessoal
1234
DEPTO_LOC
D_nr
o
D_local
1
Piracicaba
2
Piracicaba
2
São Paulo
3
São Paulo
DEPENDÊNCIA FUNCIONAL
É uma restrição que envolve dois conjuntos de atributos de um BD.
Por exemplo, se for especificada a seguinte restrição X->Y isto significa
que para quaisquer tuplas t1 e t2 com valores iguais para X, expresso
por T1[X]=T2[X] , teremos T1[Y]=T2[Y]. Dizemos que Y é
funcionalmente dependente ou determinado por X.
Ex.: Considere o esquema de relação EMP_PROJ
EMP_PROJ(EP_Epis,EP_Pnro,EP_horas,EP_Enome,EP_Pnome,EP
_Plocal)
e suas instâncias:
EMP_PROJ
EP_Epis
EP_Pnro
EP_horas
EP_Enome
EP_Pnome
EP_Plocal
9670000
1
10
Pedro
GIS
SP
9670000
2
5
Pedro
Internet
Piracicaba
9711111
1
12
João
GIS
SP
9598765
1
5
Maria
GIS
SP
9598765
2
10
Maria
Internet
Piracicaba
9598765
3
15
Maria
BD
Campinas
9511112
1
10
Paula
GIS
SP
9511112
2
5
Paula
Internet
Piracicaba
Podemos identificar as seguintes dependências funcionais:
A) EP_Epis->EP_Enome
B) EP_Pnro->{EP_Pnome,EP_Plocal}
C) {EP_Epis,EP_Pnro}->EP_horas
A dependência Funcional pode ser completa ou parcial:
Completa:
{EP_Epis,EP_Pnro} -> EP_horas
Parcial:
{EP_Epis,EP_Pnro} ->EP_Enome
2a Forma Normal
Uma relação r está na 2a Forma Normal se todo atributo não principal* for
completamente dependente funcionalmente da chave primária de r.
Ex.: Considere o esquema de relação EMP_PROJ
EMP_PROJ(EP_Epis,EP_Pnro,EP_horas,EP_Enome,EP_Pnome,EP_Plocal)
e suas dependências funcionais:
EP_Epi
s
EP_Pnr
o
EP_horas
EP_Enome
EP_Pno
me
* Atributo principal faz parte de uma chave da relação
EP_Ploc
al
Passamos para a 2a Forma Normal transformando as
dependências funcionais parciais em dependências
funcionais completas através da criação de novas
relações:
Empregado
Projeto
Emp_Proj
E_pi
s
E_nom
e
P_nr
o
P_nom
e
P_loca
l
EP_Ep
is
EP_Pnro
EP_hora
s
DEPENDÊNCIA FUNCIONAL
TRANSITIVA
Uma dependência funcional X->Y é transitiva se existir um
conjunto de atributos não chave Z, onde X->Z e Z->Y.
Ex.: Considere o esquema de relação EMP_DPT
EMP_DPT(E_Nome, E_Pis, E_Nasc, E_End, D_Nro, D_Nome, D_Ger)
E_Nome
E_Pis
E_Nasc
E_End
D_Nro
D_Nome
D_Ger
José
1100
01/05/70
R. XV...
1
RH
Ruth
João
1101
04/04/65
R. 13...
2
ADM
Chico
Pedro
1102
07/07/67
R. Joao...
1
RH
Ruth
Manoel
1103
05/05/75
R. ETC...
2
ADM
Chico
e suas dependências funcionais:
E_Nom
e
EP_Epi
s
E_Nasc
E_End
D_Nro
D_Nome
D_Ger
E_Pis -> D_Nro
D_Nro -> D_Ger
Logo:
E_Pis->D_Ger é uma Dependência Funcional Transitiva
3a Forma Normal
Uma relação r está na 3a Forma Normal se
seus atributos não forem dependentes
funcionalmente de outros atributos não
chave, ou ainda, “se seus atributos não chave
não forem transitivamente dependentes das
chaves primárias” (Codd).
Ex.: Considere os esquemas de relação
NOTA_FISCAL(Nro,Série,DataEmiss,CodCli,NomCli,EndCli,CGCCli,TotGeral)
VENDA(NroNF,CodMerc,Qtde,TotVenda)
MERCADORIA(Código,Descrição,PrVenda)
NOTA_FISCAL
Série
DataEmis
s
Codc
li
NomC
li
EndC
li
CGCCli
TotGeral
96
7
A
01/08/98
1
Gisele
SP
9670000
100
97
1
B
30/08/98
2
Ivan
Pira
9898700
500
95
9
A
25/07/98
3
Bruno
Cam
p
9711111
120
95
1
A
20/06/98
1
Gisele
SP
9670000
50
Nr
o
VENDA
MERCADORIA
Qtde
TotVend
a
Código
Descriç
ão
PrVenda
NroNF
CodMer
c
967
1
10
100
1
Boné
10
971
2
20
500
2
Camiset
a
25
959
3
6
120
3
Bermud
a
20
951
4
1
50
4
Calça
50
NOTA_FISCAL(Nro,Série,DataEmiss,CodCli,TotGeral)
VENDA(NroNF,CodMerc,Qtde,TotVenda)
MERCADORIA(Código,Descrição,PrVenda)
CLIENTE(CodCli,NomCli,EndCli,CGCCli)
NOTA_FISCAL
CLIENTE
Série
DataEmis
s
Codc
li
TotGeral
Codc
li
NomC
li
EndC
li
CGCCli
96
7
A
01/08/98
1
100
1
Gisele
SP
9670000
97
1
B
30/08/98
2
500
2
Ivan
Pira
9898700
95
9
A
25/07/98
3
120
3
Bruno
Cam
p
9711111
95
1
A
20/06/98
1
50
Nr
o
VENDA
MERCADORIA
CodMer
c
Qtde
TotVend
a
Código
Descriç
ão
PrVenda
NroNF
967
1
10
100
1
Boné
10
971
2
20
500
2
Camiset
a
25
959
3
6
120
3
Bermud
a
20
951
4
1
50
4
Calça
50
Forma Nornal Boyce-Codd
Orientador(aluno, especialização, professor)
chave primária: (aluno,especialização)
chave candidata: (aluno,professor)
dependência funcional: professor->especialização
aluno
especialização
professor
100
matemática
Daniel
150
psicologia
Tânia
200
matemática
Catarina
250
matemática
Daniel
300
psicologia
Darlene
300
matemática
Catarina
Uma relação está na BCNF se todo determinante é uma chave candidata.
professor
professor
disciplina
Daniel
matemática
aluno
100
Daniel
150
Tânia
Tânia
psicologia
200
Catarina
Catarina
matemática
250
Daniel
Darlene
psicologia
300
Darlene
300
Catarina
4a Forma Normal
Relações com Dependência Multi-valoradas
Aluno (ra,especialização, atividade)
Chave: (ra, especialização, atividade)
ra
especialização
atividade
100
matemática
natação
100
psicologia
natação
100
matemática
tênis
100
psicologia
tênis
150
psicologia
natação
Em uma relação R(a,b,c) existe uma dependência multi-valorada se a determina
vários valores de b e c e b e c são independentes entre si.
Uma relação está na 4a Forma Normal se está na
BCNF e não tem dependências multi-valoradas.
ra
especialização
ra
atividade
100
matemática
100
natação
100
psicologia
100
tênis
150
psicologia
150
natação
Download

Apresentação