Conversão Entre Modelos e Normalização

109
©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 1 Transformações entre modelos Capítulo 5

description

Conversão de modelos e normalização de banco de dados.

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)