26
BANCO DE DADOS MODELO RELACIONAL

BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

Embed Size (px)

Citation preview

Page 1: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

BANCO DE DADOS

MODELO RELACIONAL

Page 2: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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  

Page 3: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

“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.”

Page 4: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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.

Page 5: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

•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.

Page 6: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

•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.

Page 7: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

Chave Primária

Chave Candidata

Chave EstrangeiraSuperChave

EMPREGADO E_Nome E_PIS E_RG E_Dpto DEPARTAMENTO D_Nro D_Nome ...

Page 8: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

•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

Page 9: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 10: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 11: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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)

Page 12: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 13: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 14: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 15: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 16: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 17: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 18: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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).

Page 19: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 20: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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)

Page 21: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 22: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 23: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 24: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 25: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r

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

Page 26: BANCO DE DADOS MODELO RELACIONAL. Nome da Relação Atributos EMPREGADO E_NomeE_PISE_EndereçoE_DataNasc Pedro9670000r. XV de No...05/05/65 João9711111r