Upload
internet
View
102
Download
0
Embed Size (px)
Citation preview
BANCO DE DADOS
MODELO RELACIONAL
MODELO RELACIONALNome da Relação Atributos
EMPREGADO
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
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
Chave EstrangeiraSuperChave
EMPREGADO E_Nome E_PIS E_RG E_Dpto DEPARTAMENTO D_Nro D_Nome ...
•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).
Normalização
Seja o esquema de relação
DEPARTAMENTO(D_nro, D_nome, D_gerente,{D_local})
e suas instâncias:
DEPARTAMENTOD_nro D_nome D_gerente D_local
1 Produção 1122 Piracicaba
2 Almoxarifado 1123 PiracicabaSão Paulo
3 Pessoal 1234 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)
DEPARTAMENTO
D_nro
D_nome D_gerente
1 Produção 1122
2 Almoxarifado 1123
3 Pessoal 1234
DEPTO_LOC D_nro
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_PROJEMP_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_EnomeB) 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_horasParcial: {EP_Epis,EP_Pnro} ->EP_Enome
2a Forma NormalUma 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_PROJEMP_PROJ(EP_Epis,EP_Pnro,EP_horas,EP_Enome,EP_Pnome,EP_Plocal) e suas dependências funcionais:
EP_Epis
EP_Pnro
EP_horas EP_Enome EP_Pnome
EP_Plocal
Atributo principal faz parte de uma chave da relação
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_pis
E_nome
P_nro
P_nome
P_local
EP_Epis
EP_Pnro EP_horas
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_DPTEMP_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_Nome
EP_Epis
E_Nasc E_End D_Nro D_Nome D_Ger
E_Pis -> D_NroD_Nro -> D_Ger
Logo:E_Pis->D_Ger é uma Dependência Funcional
Transitiva
3a Forma NormalUma 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çãoNOTA_FISCAL(Nro,Série,DataEmiss,CodCli,NomCli,EndCli,CGCCli,T
otGeral)VENDA(NroNF,CodMerc,Qtde,TotVenda)MERCADORIA(Código,Descrição,PrVenda)NOTA_FISCAL
Nro
Série DataEmiss
Codcli
NomCli
EndCli
CGCCli TotGeral
967
A 01/08/98 1 Gisele SP 9670000 100
971
B 30/08/98 2 Ivan Pira 9898700 500
959
A 25/07/98 3 Bruno Camp
9711111 120
951
A 20/06/98 1 Gisele SP 9670000 50
VENDA MERCADORIA
NroNFCodMerc
Qtde TotVenda
Código Descrição
PrVenda
967 1 10 100 1 Boné 10
971 2 20 500 2 Camiseta
25
959 3 6 120 3 Bermuda
20
951 4 1 50 4 Calça 50
3a F
orm
a N
orm
al
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
Nro
Série DataEmiss
Codcli
TotGeral Codcli
NomCli
EndCli
CGCCli
967
A 01/08/98 1 100 1 Gisele SP 9670000
971
B 30/08/98 2 500 2 Ivan Pira 9898700
959
A 25/07/98 3 120 3 Bruno Camp
9711111
951
A 20/06/98 1 50
VENDA MERCADORIA
NroNFCodMerc
Qtde TotVenda
Código Descrição
PrVenda
967 1 10 100 1 Boné 10
971 2 20 500 2 Camiseta
25
959 3 6 120 3 Bermuda
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.
alunoprofessor professor disciplina
100 Daniel Daniel matemática
150 Tânia Tânia psicologia
200 Catarina Catarina matemática
250 Daniel Darlene psicologia
300 Darlene
300 Catarina
4a Forma NormalRelações com Dependência Multi-valoradasAluno (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