Conversão Entre Modelos e Normalização
-
Upload
ariel-edward-souza -
Category
Documents
-
view
22 -
download
5
description
Transcript of Conversão Entre Modelos e Normalização
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 1
Transforma es entre modelos
Captulo 5
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 2
Transforma es entre modelos
Modelo ER(conceitual)
Modelo relacional(lgico)
cCiclo de
re-engenhariade BD
Projeto lgicode BD relacional
Engenhariareversa de
BD relacional
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 3
Projeto l gico
modelo ER(nvel conceitual)
modelo relacional(nvel lgico)
Conhecimentosobre a aplicao
TransformaoER para
relacional
Refinamentodo modelorelacional
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 4
Transforma o ER para relacional
Regras gerais Aplicveis maioria dos casos H situa es
por exi gncias da aplica o, outros mapeamentosso usados
Implementadas em ferramentas CASE
Objetivos bsicos: Boa performance Simplificar o desenvolvimento
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 5
Regras gerais de tradu o
Evitar jun es
Diminuir o nmero de chaves
Evitar campos opcionais
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 6
Jun o
Operao para buscar dados de diversas linhasassociadas pela igualdade de campos
Exemplo: buscar os dados de um empregado e os dados de
seu departamento (duas tabelas diferentes)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 7
Evitar jun es
SGBD relacional normalmente armazena osdados de uma linha contiguamente em disco
Jun o envolve diversos acessos a disco
Prefervel ter os dados necessrios a uma consulta em uma
nica linha
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 8
Chave e ndice
Implementa o eficiente do controle de chaves:SGBD usa um ndice ndices tendem a ocupar espa o considervel em
disco
Inser o e remo o de entradas em um ndice Podem exigir diversos acesso a disco
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 9
Diminuir o nmero de chaves
Usar implementa es com menos chaves
Exemplo
Cliente (CodCliente,Nome,NomeContato,Endereo,Telefone)
ou
Cliente (CodCliente,Nome,NomeContato)ClienteEnder (CodCliente,Endereo,Telefone)
CodCliente referencia Cliente
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 10
Campos opcionais
Campo opcional = campo que podem assumir ovalor VAZIO (NULL em SQL).
SGBD relacional no desperdi a espao pelo fatode campos de uma linha estarem vazios
Campo opcional no tem influncia naperformance
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 11
Evitar campos opcionais
Controle de campo opcional pode complicarprograma o Verificar quais campos podem estar vazios,
quando isto depende do tipo de linha
Regra mais "fraca" que as precedentes
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 12
Exerccio 5.1
Considere as seguintes alternativas de implementao de umbanco de dados relacional:Alternativa 1:
Aluno (CodAl,Nome,CodCurso,Endereco)Alternativa 2
Aluno (CodAl,Nome,CodCurso)EnderecoAluno (CodAl,Endereco)
CodAl referencia AlunoEm ambos casos est sendo representado um conjunto de alunose informaes (cdigo, nome, cdigo de curso, endereo) a elereferentes. Discuta luz dos princpios que baseiam as regras detraduo de diagramas ER para modelo relacional, qual das duasalternativas prefervel.
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 13
Passos da transforma oER para relacional
Tradu o inicial de entidades e respectivosatributos
Tradu o de relacionamentos e respectivosatributos
Tradu o de generaliza es/especializa es
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 14
Implementa o inicial de entidades
Cada entidade traduzida para uma tabela
Cada atributo da entidade define uma colunadesta tabela
Atributos identificadores da entidadecorrespondem a chave primria da tabela.
Ttradu o inicial : Regras que seguem podem fundir tabelas
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 15
Implementa o de entidadeexemplo
PESSOAendereo
cdigonomedata de
nascimento
data deadmisso
Pessoa (CodigoPess,Nome,Endereo,DataNasc,DataAdm)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 16
Tradu o de entidaderelacionamento identificador
EMPREGADO DEPENDENTE(1,1) (0,n)
nomeseqnciacdigonmero
nome
Dependente (CodigoEmp,NoSeq,Nome)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 17
Relacionamento identificadorrecurso
(0,n)
GRUPO
EMPRESA
(1,1)
(1,1)
(0,n)
cdigo
nmero daempresa
nmero doempregado EMPREGADO DEPENDENTE(1,1) (0,n)
nomeseqncianmero de
nome
nome
nome Grupo (CodGrup,Nome)
Empresa (CodGrup,NoEmpresa,Nome)
Empregado (CodGrup,NoEmpresa,NoEmpreg,Nome)
Dependente(CodGrup,NoEmpresa,NoEmpreg,NoSeq,Nome)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 18
Nomes de colunas
Referenciados freqentemente em programas eoutras formas de texto em computador
Para diminuir o trabalho de programadores manter os nomes de colunas curtos.
SGBD relacional nome de uma coluna no pode conter brancos
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 19
Nomes de atributose nomes de colunas
No transcrever os nomes de atributos paranomes de colunas.
Nomes de atributos compostos de diversaspalavras devem ser abreviados
Nomes de colunas no necessitam conter onome da tabela Prefervel usar o nome de coluna Nome a usar os
nomes de coluna NomePess ou NomePessoa SQL j exige muitas vezes forma
Pessoa.Nome
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 20
Nome da coluna chave primria
Chave primria pode aparecer em outras tabelas na forma de
chave estrangeira
Recomendvel nomes das colunas que compem a chave
primria
sufixados ou prefixados com o nome ou si gla databela na qual aparecem como chave primria
Exemplo
Codi goPess
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 21
Implementa o de relacionamentoalternativas
Tabela prpria
Adi o de colunas a uma das tabelas
Fuso de tabelas
Alternativa depende da cardinalidade (mxima emnima do relacionamento)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 22
Tabela prpria
ENGENHEIRO ATUAO PROJETO(0,n) (0,n)
Cdigo Nome TtuloFuno Cdigo
Engenheiro (CodEng,Nome)Projeto (CodProj,Ttulo)Atua o (CodEng,CopProj ,Funo)
CodEng referencia EngenheiroCodProj referencia Projeto
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 23
Adi o de colunas
DEPARTAMENTO LOTAO EMPREGADO(1,1) (0,n)
Cdigo Nome NomeData lotao Cdigo
Departamento (CodDept,Nome)Empregado (CodEmp,Nome,CodDept,DataLota )
CodDept referencia Departamento
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 24
Fuso de tabelas
CONFERNCIA ORGANIZAO COMISSO(1,1) (1,1)
Cdigo Nome EnderData Instalao
Conferncia (CodConf,Nome,DataInstComOrg,EnderComOrg)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 25
Implementa o de relacionamentos 1:1
Regra de implementaoTipo de relacionamento Tabela
prpriaAdiocoluna
Fusotabelas
(0,1) (0,1) 4 5
(0,1) (1,1) 5 4
(1,1) (1,1) 5 5 4
4Alternativa preferida Pode ser usada5 No usar
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 26
1:1 - ambas entidades opcionaisexemplo
HOMEM CASAMENTO MULHER(0,1) (0,1)
Identidade Nome IdentidadeData Regime Nome
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 27
1:1 - ambas opcionaisadio de colunas
Mulher (IdentM,Nome,IdentH,Data,Regime)
IdentH referencia Homem
Homem (IdentH,Nome)
HOMEM CASAMENTO MULHER(0,1) (0,1)
Identidade Nome IdentidadeData Regime Nome
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 28
1:1 - ambas opcionaistabela prpria
HOMEM CASAMENTO MULHER(0,1) (0,1)
Identidade Nome IdentidadeData Regime Nome
Mulher (IdentM,Nome)
Homem (IdentH,Nome)
Casamento (IdentM, IdentH,Data,Re gime)
IdentM referencia Mulher
IdentH referencia Homem
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 29
1:1 - ambas opcionaisfuso de tabelas
HOMEM CASAMENTO MULHER(0,1) (0,1)
Identidade Nome IdentidadeData Regime Nome
Casamento (IdentM,IdentH,Data,Regime,NomeH,NomeM )
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 30
1:1 - ambas opcionaisdiscusso
Solu o por fuso de tabelas invivel Chave primria artificial
Solu o por adi o de colunas melhor Menor nmero de jun es Menor nmero de chaves
Solu o por tabela prpria aceitvel
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 31
1:1 - Uma entidade opcionaloutra obri gatria
CORRENTISTA CARTOMAGNTICO(1,1) (0,1)
Cdigo Nome Cdigo Data Exp.
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 32
1:1 - opcional/obri gatriafuso de tabelas
CORRENTISTA CARTOMAGNTICO(1,1) (0,1)
Cdigo Nome Cdigo Data Exp.
Correntista (CodCorrent,Nome,CodCarto,DataExp)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 33
1:1 - opcional/obri gatriaadio de colunas
CORRENTISTA CARTOMAGNTICO(1,1) (0,1)
Cdigo Nome Cdigo Data Exp.
Correntista (CodCorrent,Nome)Carto(CodCarto,DataExp,CodCorrent )
CodCorrent referencia Correntista
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 34
1:1 - opcional/obri gatriatabela prpria
CORRENTISTA CARTOMAGNTICO(1,1) (0,1)
Cdigo Nome Cdigo Data Exp.
Correntista (CodCorrent,Nome)Carto(CodCarto,DataExp)CartoCorrentista(CodCarto,CodCorrent )
CodCorrent referencia CorrentistaCodCarto referencia Carto
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 35
1:1 - opcional/obri gatriadiscusso
Solu o por tabela prpria pior que a solu opor adio de colunas Maior nmero de jun es Maior nmero de ndices Nenhum tm problema de campos opcionais
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 36
1:1 - opcional/obri gatriadiscusso
Adi o de colunas versus fuso de tabelas Fuso de tabelas melhor em termos de nmero
de jun es e nmero de chaves Adico de colunas em melhor em termos de
campos opcionais Fuso de tabelas considerada a melhor e adi o
de colunas aceitvel
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 37
1:1 - Ambas entidades temparticipa o obri gatria
CONFERNCIA ORGANIZAO COMISSO(1,1) (1,1)
Cdigo Nome EnderData Instalao
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 38
1:1 - ambas obri gatriasfuso de tabelas
CONFERNCIA ORGANIZAO COMISSO(1,1) (1,1)
Cdigo Nome EnderData Instalao
Conferncia (CodConf,Nome,DataInstComOrg,EnderComOrg)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 39
1:1 - Ambas obri gatrias
Nenhuma das demais alternativas atendeplenamente
Em ambas Entidades que participam do relacionamento
seriam representadas atravs de duas tabelasdistintas
Estas tabelas teriam a mesma chave primria erelao um-para-um entre suas linhas
Maior nmero de jun es Maior nmero de chaves primrias
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 40
Relacionamentos 1:n
Regra de implementaoTipo de relacionamento Tabela
prpriaAdiocoluna
Fusotabelas
(0,1) (0,n) 4 5
(0,1) (1,n) 4 5
(1,1) (0,n) 5 4 5
(1,1) (1,n) 5 4 5
4Alternativa preferida Pode ser usada5 No usar
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 41
1:n - caso 1
A entidade que tem cardinalidade mxima 1 obrigatria
DEPARTAMENTO LOTAO EMPREGADO(1,1) (0,n)
Cdigo Nome NomeData lotao Cdigo
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 42
1:n - caso 1adio de colunas
DEPARTAMENTO LOTAO EMPREGADO(1,1) (0,n)
Cdigo Nome NomeData lotao Cdigo
Departamento (CodDept,Nome)Empregado (CodEmp,Nome,CodDept,DataLota )
CodDept referencia Departamento
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 43
1:n - caso 1tabela prpria
DEPARTAMENTO LOTAO EMPREGADO(1,1) (0,n)
Cdigo Nome NomeData lotao Cdigo
Departamento (CodDept,Nome)Empregado (CodEmp,Nome,Lotacao(CodEmp ,CodDept,DataLota )
CodDept referencia DepartamentoCodEmp referencia Empregado
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 44
1:n - caso 1discusso
Fuso de tabelas No se aplica Implicaria em
redundncia de dados de departamento, ou
tabela aninhada
Adi o de colunas melhor que tabela prpria Menor nmero de chaves Menor nmero de jun es No h o problema de campos opcionais
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 45
1:n - caso 2
A entidade que tem cardinalidade mxima 1 opcional
FINANCEIRA FINACIAM VENDA(0,1)
taxa de juros
(0,n)
n de parcelas
Cdigo Nome Id Data
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 46
1:n - caso 2adio de colunas
FINANCEIRA FINACIAM VENDA(0,1)
taxa de juros
(0,n)
n de parcelas
Cdigo Nome Id Data
Financeira (CodFin,Nome)Venda (IdVend,Data,CodFin,NoParc,TxJuros )
CodFin referencia Financeira
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 47
1:n - caso 2tabela prpria
FINANCEIRA FINACIAM VENDA(0,1)
taxa de juros
(0,n)
n de parcelas
Cdigo Nome Id Data
Financeira (CodFin,Nome)Venda (IdVend,Data)Fianciam (IdVend ,CodFin,NoParc,TxJuros)
IdVend referencia VendaCodFin referencia Financeira
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 48
1:n - caso 2discusso
Implementa o por tabela prpria tambm aceitvel melhor em rela o a campos opcionais Perde em rela o a jun es e nmero de chaves
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 49
Relacionamentos n:n
Regra de implementaoTipo de relacionamento Tabela
prpriaAdiocoluna
Fusotabelas
(0,n) (0,n) 4 5 5
(0,n) (1,n) 4 5 5
(1,n) (1,n) 4 5 5
4Alternativa preferida 5 No usar
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 50
Relacionamentos n:n
ENGENHEIRO ATUAO PROJETO(0,n) (0,n)
Cdigo Nome TtuloFuno Cdigo
Engenheiro (CodEng,Nome)Projeto (CodProj,Ttulo)Atua o (CodEng,CodProj ,Funo)
CodEng referencia EngenheiroCodProj referencia Projeto
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 51
Relacionamento grau > dois
nomenome
DISTRIBUIDORCIDADE
PRODUTO
DISTRIBUIO
(0,1)
(0,n)
(0,n)cdigo cdigo
cdigonome
data deincio
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 52
Relacionamento grau>2
No so definidas regras especficas O relacionamento transformado em uma entidade So aplicadas regras de implementa o
relacionamentos binrios
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 53
Relacionamento grau>2
DISTRIBUIDORCIDADE
PRODUTO
(0,n)
DISTRIBUIO
(1,1)
(1,1)
(1,1)
(0,n)
(0,n)
nomenomecdigo cdigo
cdigonome
data deincio
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 54
Relacionamento grau>2
Produto (CodProd,Nome)Cidade (CodCid,Nome)Distribuidor (CodDistr,Nome)Distribui o (CodProd,CodDistr,CodCid ,DataInicio)CodProd referencia ProdutoCodDistr referencia DistribuidorCodCid referencia Cidade
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 55
Implementa o degeneraliza o/especializa o
Duas alternativas bsicas uso de uma tabela para cada entidade uso de uma nica tabela para toda hierarquia
Outra alternativa (extica) Subdiviso de entidade genrica
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 56
Generaliza o/especializa oexemplo
cdigo nome cdigo nome
CREA
EMPREGADO DEPARTAMENTO
SECRETRIAENGENHEIRO
PROCESSADORDE TEXTOS PROJETO
DOMNIO PARTICIPAO
LOTAO
tipo deempregado
nome
carteira dehabilitao
CIC(1,1)(0,n)
(1,n)
(0,n)(0,n)
(0,n)
p
RAMO DAENGENHARIA
(0,n)
(1,1)
MOTORISTA
cdigocdigo nome
cdigo nome
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 57
Uma tabela por hierarquia
Todas tabelas referentes s especializa es so fundidasem uma nica tabela
Tabela contm: Chave primria correspondente ao identificador da entidade
mais genrico Caso no exista, adicionar uma coluna Tipo Uma coluna para cada atributo da entidade genrica Colunas referentes aos relacionamentos dos quais participa a
entidade genrica e que sejam implementados atravs daalternativa de adicionar colunas tabela da entidade genrica
segue
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 58
Uma tabela por hierarquia
Tabela contm (continua o): Uma coluna para cada atributo de cada entidade especializada
(opcional) Colunas referentes aos relacionamentos dos quais participa
cada entidade especializada e que sejam implementadosatravs da alternativa de adicionar colunas tabela daentidade (campo opcional)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 59
Uma tabela por hierarquia
Emp (CdigoEmp,Tipo,Nome,CIC,CodigoDept,CartHabil,CREA,CdigoRamo)
CdigoDept referencia DeptoCdigoRamo referencia Ramo
Depto (CdigoDept, Nome)Ramo (CdigoRamo,Nome)ProcessTexto (CdigoProc,Nome)Domnio (CdigoEmp,CdigoProc)
CdigoEmp referencia EmpCdigoProc referencia ProcessTexto
Projeto (CdigoProj,Nome)Participao (CdigoEmp,CodigoProj)
CdigoEmp referencia EmpCdigoProj referencia Projeto
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 60
Uma tabela por entidade especializada
Criar uma tabela para cada entidade que compea hierarquia
Incluir a chave primria da tabela correspondente entidade genrica., em cada tabelacorrespondente a uma entidade especializada
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 61
Uma tabelapor entidade
especializada
Emp (CdigoEmp,Tipo,Nome,CIC,CdigoDept)CdigoDept referencia Depto
Motorista(CdigoEmp,CartHabil)CdigoEmp referencia Emp
Engenheiro(CdigoEmp,CREA,CdigoRamo)CdigoEmp referencia EmpCdigoRamo referencia Ramo
Depto (CdigoDept, Nome)Ramo (CdigoRamo,Nome)ProcessTexto (CdigoProc,Nome)Domnio (CdigoEmp,CdigoProc)
CdigoEmp referencia EmpCdigo Proc referencia ProcessTexto
Projeto (CdigoProj,Nome)Participao (CdigoEmp,CdigoProj)
CdigoEmp referencia EmpCdigoProj referencia Projeto
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 62
Vantagens da implementa ocom tabela nica
Dados referentes entidade genrica + dadosreferentes s especializa es em uma nica linha
Minimiza jun es
Menor nmero de chaves
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 63
Vantagens da implementa o comuma tabela por entidade especializada
Colunas opcionais apenas aquelas referentes a atributos que podem
ser vazios do ponto de vista da aplica o.
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 64
Subdiviso da entidade genrica
Uma tabela para cada entidade especializada queno possua outra especializa o (entidade folhada rvore)
Tabela contm dados da entidade especializada + dados da entidade genrica
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 65
Subdiviso da entidade genrica
EmpOutros (CdigoEmp,Tipo,Nome,CIC,CdigoDept)CdigoDept referencia Depto
Motorista(CdigoEmp, Nome,CIC,CdigoDept,CartHabil)Engenheiro(CdigoEmp, Nome,CIC,CdigoDept, CREA,CdigoRamo)
CdigoRamo referencia RamoDepto (CdigoDept, Nome)Ramo (CdigoRamo,Nome)ProcessTexto (CdigoProc,Nome)Domnio (CdigoEmp,CdigoProc)
Cdigo Proc referencia ProcessTextoProjeto (CdigoProj,Nome)Participao (CdigoEmp,CdigoProj)
CdigoProj referencia Projeto
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 66
Subdiviso da entidade genrica
Desvantagem: Unicidade da chave primria
no garantida pelo SGBD
deve ser garantida pela aplica o No h como especificar ao SGBD restri es de
integridade referenciais, que fa am referncia aoconjunto de empregados como um todo
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 67
Refinamento do modelo relacional
Projeto (engenharia) em geral compromisso entre o ideal e o realizvel dentro
das restri es de recursos impostas pelas prtica
Projeto de banco de dados compromisso entre o
ideal (regras de implementa o)
e o
alcan vel frente a limita es de performance
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 68
Refinamento do modelo relacional
Algumas vezes esquema de BD criado atravs do uso das regras
acima no atende requisitos de performanceimpostos ao sistema
Necessrio buscar alternativa que resulte emmelhor performance do sistema
Alternativas somente devem ser tentadas emltimo caso Do ponto de vista da programa o so sempre
piores
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 69
Refinamento do modelo relacional
Relacionamentos mutuamente exclusivos
Simula o de atributos multivalorados
Informa es redundantes
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 70
Relacionamentosmutuamente exclusivos
PESSOAFSICA VENDA
PESSOAJURDICA
(0,n)
(0,1)
(0,n)(0,1)
CIC nome N data
CGC razosocial
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 71
Relacionamentosmutuamente exclusivos
Implementa o pelas regras
colunas CIC e CGC em Venda so especificadascomo opcionais
PessFis(CIC,Nome)PessJur(CGC,RazSoc)Venda(No,data,CIC,CGC)
CIC referencia PessFisCGC referencia PessJur
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 72
Relacionamentosmutuamente exclusivos
Implementa o alternativa criar uma nica coluna na qual aparece o CIC ou o
CGC do comprador
Desvantagem
No possvel especificar ao SGBD que o campoCIC/CGC chave estran geira
no referencia uma nica tabela
PessFis(CIC,Nome)PessJur(CGC,RazSoc)Venda(No,data,CIC/CGC,TipoCompr)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 73
Tratamento deatributos multivalorados
cdigonome
CLIENTE
nmero detelefone (0,n)
cdigonome
CLIENTE
TELEFONE
(1,1)
(0,n)
nmero
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 74
Atributos multivaloradosimplementa o padro
Cliente (CodCli,Nome)Telefone (CodCli,Nmero)
CodCli referencia Cliente
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 75
Atributos multivaloradosalternativa
Condi es de contorno: Raros clientes possuem mais que dois telefones. Quando isso ocorrer
suficiente armazenarmos apenas dois nmeros. No h consultas ao banco de dados usando o
nmero de telefone como critrio de sele o Nmeros de telefone so apenas exibidos ou
impressos juntos s demais informa es decliente
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 76
Simula o de atributos multivalorados
Implementa o desnormalizada
Cliente (CodCli ,Nome,NumTel1,NumTel2)
Simular uma coluna multi-valorada atravs dacria o de diversas colunas NumTel sufixadaspor um nmero
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 77
Simula o de atributos multivalorados
Permite que os telefones de um cliente sejamobtidos mais rapidamente
Implica em menos espa o ocupado no necessria chave primria da tabela Telefone
Inconveniente Consulta usando o nmero de telefone como
critrio de busca torna-se mais complicada Manter os telefones "alinhados esquerda" exige
rotina complexa
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 78
Informa es redundantes
Exemplo: atributos que resultam de uma opera o que
envolve diversas entidades do banco de dados valor destes atributos
deve ser obtido com freqncia ou
serve freqentemente como critrio de busca deinforma es no banco de dados
Pode ser mais eficiente (performance global dosistema) armazenar redundantemente o atributo derivado
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 79
Informa es redundantesExemplo
nmero
de
reservas
passageiro
cdigoroteiro
VO
RESERVA
(1,1)
(0,n)
nmero
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 80
Exerccio 5.2DER
PRODUTOFABRICANTE
MEDICAMENTO PERFUMARIA
VENDARECEITAMDICA
(1,1) (0,n)
(0,n)
(0,n)
(1,n)
(0,1)
(0,n)
t
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 81
Exerccio 5.2atributos
Produto (Nmero, NomeComercial, TipoEmbalagem,Quantidade, PreoUnitrio)
Fabricante (CGC,Nome,Endereo)Medicamento(Tarja,Frmula)Perfumaria(Tipo)Venda(Data,NmeroNota,NomeCliente,CidadeCliente)PerfumariaVenda(Quantidade,Imposto)MedicamentoReceitaVenda(Quantidade,Imposto)ReceitaMdica(CRM,Nmero,Data)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 82
Exerccio 5.2solu o
Produto (CGC, NmeroProd, NomeComercial, TipoEmbalagem,Quantidade, PreoUnitrio, TipoProd, Tarja,Frmula, Tipo)CGC referencia Fabricante
Fabricante (CGC,Nome,Endereo)Venda(Data,NmeroNota,NomeCliente,CidadeCliente)PerfumariaVenda(CGC, NmeroProd, NmeroNota,Quantidade,Imposto)
(CGC,NmeroProd) referencia ProdutoNmeroNota referencia Venda
MedicamentoVenda(CGC, NmeroProd, NmeroNota,Quantidade,Imposto, CRM, Nmero)(CGC,NmeroProd) referencia ProdutoNmeroNota referencia Venda(CRM, Nmero) referencia ReceitaMdica
ReceitaMdica(CRM,Nmero,Data)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 83
Exerccio 5.3DER
TIPO DEVECULO
AUTOMVEL NIBUS
VECULO
(1,1)
(0,n)
CONTRATOALUGUEL
CLIENTE
ESCRITRIO
(1,1)
(0,n)
(1,1)
(1,n)
(1,1)(0,n)
similaridade(0,n)
(0,n)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 84
Exerccio 5.3atributos
Escritrio (Nmero, Local)
Cliente (NmeroCartMotorista, EstadoCartMotorista,
Nome, Endereo, Telefone)
Contrato aluguel (Nmero, Data, Durao)
Veculo (Nmero, DataPrximaManuteno, Placa)
Tipo de Veculo (Cdigo, Nome, ArCondicionado)
Automvel (NmeroPortas, DireoHidrulica, CmbioAutomtico, Rdio)
nibus (NmeroPassageiros, Leito, Sanitrio)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 85
Exerccio 5.3solu oEscritrio (NmeroEscr, Local)
Contrato aluguel (NmeroEscr, NmeroContr, Data, Durao,NmeroVeic, NmeroCarMotorista, EstadoCarMotorista)NmeroEscr referencia EscritrioNmeroVeic referencia Veculo
Cliente (NmeroCartMotorista, EstadoCartMotorista, Nome, Endereo, Telefone)Veculo (Nmero, DataPrximaManuteno, Placa, CdigoTipo)
CdigoTipo referencia TipoVeiculoTipoVeculo (CdigoTipo, Nome, ArCondicionado)Similaridade (CdigoTipo, CdigoTipoSimilar)
CdigoTipo referencia TipoVeculoCdigoTipoSimilar referencia TipoVeculo
Automvel (CdigoTipo, NmeroPortas, DireoHidrulica,CmbioAutomtico, Rdio)CdigoTipo referencia TipoVeculo
nibus (CdigoTipo, NmeroPassageiros, Leito, Sanitrio)CdigoTipo referencia TipoVeculo
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 86
Engenharia reversade modelos relacionais
Engenharia reversa parte de modelo de implementa o obtm modelo de especifica o (modelo
conceitual)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 87
Engenharia reversa
Modelo ER(conceitual)
Modelo relacional(lgico)
Projeto lgicode BD relacional
Engenhariareversa de
BD relacional
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 88
Engenharia reversa de modelorelacional
Passos: Identifica o da constru o ER correspondente a
cada tabela Defini o de relacionamentos 1:n e 1:1 Defini o de atributos Defini o de identificadores de entidades e
relacionamentos
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 89
Esquema relacionalpara en genharia reversa
Disciplina (CodDisc,NomeDisc)Curso (CodCr,NomeCr)Curric (CodCr,CodDisc,Obr/Opc)
CodCr referencia CursoCodDisc referencia Disciplina
Sala (CodPr,CodSl,Capacidade)CodPr referencia Prdio
Prdio (CodPr,Endereo)Turma (Anosem,CodDisc,SiglaTur,Capacidade,CodPr,CodSl)
CodDisc referencia Disciplina(CodPr,CodSl) referencia Sala
Laboratrio ( CodPr,CodSl, Equipam)(CodPr,CodSl) referencia Sala
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 90
Identifica o da constru o ERcorrespondente a cada tabela
Uma tabela pode corresponder a: uma entidade um relacionamento n:n uma entidade especializada
Fator determinante composi o de sua chave primria
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 91
Tipos de tabelas paraidentifica o de constru o ER
Composio da
chave primria
Construo ER
correspondente
Mltiplas chaves
estrangeiras
Relacionamento n:n
Toda chave primria
uma chave estrangeira
Especializao
Demais casos Entidade
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 92
Constru es identificadas
Disciplina (CodDisc,NomeDisc) entidadeCurso (CodCr,NomeCr) entidadeCurric (CodCr,CodDisc,Obr/Opc) relacionamento n:n
CodCr referencia CursoCodDisc referencia Disciplina
Sala (CodPr,CodSl,Capacidade) entidadeCodPr referencia Prdio
Prdio (CodPr,Endereo) entidadeTurma (Anosem,CodDisc,SiglaTur,Capacidade,CodPr,CodSl) entidade
CodDisc referencia Disciplina(CodPr,CodSl) referencia Sala
Laboratrio ( CodPr,CodSl, Equipam) especializao(CodPr,CodSl) referencia Sala
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 93
Constru es identificadas
TURMA DISCIPLINA
SALA CURSO
n
n
CURRCULO
PRDIOLABORATRIO
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 94
Identifica o derelacionamentos 1:n ou 1:1
Chave estrangeira que no se enquadra nasregras acima representa
relacionamento 1:n
ou
relacionamento 1:1
Esquema no informa se 1:1 ou 1:n
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 95
Identifica o derelacionamentos 1:n ou 1:1
Disciplina (CodDisc,NomeDisc)Curso (CodCr,NomeCr)Curric (CodCr,CodDisc,Obr/Opc)
CodCr referencia CursoCodDisc referencia Disciplina
Sala (CodPr,CodSl,Capacidade)CodPr referencia Prdio
Prdio (CodPr,Endereo)Turma (Anosem,CodDisc,SiglaTur,Capacidade,CodPr,CodSl)
CodDisc referencia Disciplina(CodPr,CodSl) referencia Sala
Laboratrio ( CodPr,CodSl, Equipam)(CodPr,CodSl) referencia Sala
Chaves estrangeiraspor tratar indicadasem vermelho
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 96
Identifica o derelacionamentos 1:n ou 1:1
TURMA DISCIPLINA
SALA CURSO
n
n
CURRCULO
PRDIOLABORATRIO
1n
1
1
n
n
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 97
Defini o de atributos
Cada coluna no chave estrangeira um atributo na entidade/relacionamento
correspondente tabela
As colunas chave estrangeira no correspondema atributos correspondem a relacionamentos j foram tratadas nas etapas anteriores
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 98
Defini ode
atributos
equipamentoendereocdigo
nomecdigo
obrig/opc
capacidade
ano/sem
nome cdigosiglacapacidade
TURMA DISCIPLINA
SALA CURSO
n
n
CURRCULO
PRDIOLABORATRIO
1n
1
1
n
ncdigo
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 99
Defini o deidentificadores de entidades
Coluna da chave primria que no chaveestrangeira corresponde a um atributo identificador da
entidade ou relacionamento.
Coluna da chave primria que chaveestrangeira corresponde a um relacionamento identificador da
entidade
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 100
Defini o deidentificadores
de entidades
equipamentoendereocdigo
nomecdigo
obrig/opc
capacidadecdigo
nome cdigosiglacapacidade
TURMA DISCIPLINA
SALA CURSO
n
n
CURRCULO
PRDIOLABORATRIO
1n
1
1
n
n
ano/sem
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 101
Exerccio5.4Produto (CodigoTipoProd,NumeroProd,DescricaoProd,PreoProd)
CodigoTipoProd referencia TipoProd
Similaridade (CodigoTipoProd,NumeroProd, CodigoTipoProdSim,NumeroProdSim)
(CodigoTipoProd,NumeroProd) referencia Produto(CodigoTipoProdsim,NumeroProdSim) referencia Produto
TipoProd (CodigoTipoProd,DescricaoTipoProd)
Venda (NmeroNF,DataVenda,CodReg,CodEmp)(CodigoReg) referencia Registradora(CodEmo) referencia Empregado
ItemVenda (NmeroNF,CodigoTipoProd,NumeroProd, QtdeItem,PreoItem)(NmeroNF) referencia Venda(CodigoTipoProd,NumeroProd) referencia Produto
Registradora (CodReg, SaldoReg)
Empregado (CodEmp, NomeEmp, SenhaEmp)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 102
Exerccio 5.4passo 1
EMPREGADO
PRODUTO
VENDA
TIPO DEPRODUTO
SIMILARn
n
ITEMVENDA
REGISTRADORA
n
n
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 103
Exerccio 5.4passo 2
EMPREGADO
PRODUTO
VENDA
TIPO DEPRODUTO
(1,1)
n
1
SIMILARn
n
ITEMVENDA
REGISTRADORA
1
n
n
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 104
Exerccio 5.4DER final
EMPREGADO
PRODUTO
VENDA
TIPO DEPRODUTO
(1,1)
n
1
SIMILARn
n
ITEMVENDA
REGISTRADORA
1
n
n
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 105
Exerccio 5.4atributos
Produto (NumeroProd,DescricaoProd,PreoProd)
TipoProd (CodigoTipoProd,DescricaoTipoProd)
Venda (NmeroNF,DataVenda)
ItemVenda (QtdeItem,PreoItem)
Registradora (CodReg, SaldoReg)
Empregado (CodEmp, NomeEmp, SenhaEmp)
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 106
Exerccio 5.5
Pessoa (PessID, PessNome, NascLocID, DataNasc, FalecLocID,DataFalec, ProfID, FilhoCasamID, Sexo)
NascLocID referencia LocalFalecLocID referencia LocalProfID referencia ProfissFilhoCasamID referencia Casam
Local (LocID,Cidade,Pas)Profiss (ProfID,ProfNome)Casam (CasamID, MaridoPessID, EsposaPessID,
DataCasam, CasamLocID)MaridoPessID referencia PessoaEsposaPessID referencia PessoaCasamLocID referencia Local
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 107
Exerccio 5.5passo 1
PESSOA
CASAMENTO
PROFISSO
LOCAL
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 108
Exerccio 5.5passo 2
PESSOA
CASAMENTO
PROFISSO
1
NASCIM
LOCAL
FALECIM
ESPOSAMARIDO FILHO
1 1
1
1
1
-
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 109
Exerccio 5.5atributos
Pessoa (PessID, PessNome, DataNasc, DataFalec, Sexo)Local (LocID, Cidade, Pas)Profisso (ProfID, ProfNome)Casamento (CasamID, DataCasam)