Escolar Documentos
Profissional Documentos
Cultura Documentos
Modelo ER
(Conceitual)
Ciclo de re-
Engenharia engenharia de
reversa de BD Projeto lógico
BD de BD relacional
relacional
Modelo relacional
(Lógico)
Refinamento
do modelo Modelo relacional
relacional (nível lógico)
• Regras gerais
– Aplicáveis a maioria dos casos
– Há situações
• Por exigências da aplicação, outros mapeamentos são usados
– Implementados em ferramentas CASE
• Objetivos básicos
– Boa performance
– Simplificar o desenvolvimento
• Evitar junções
• Diminuir o número de chaves
• Evitar campos opcionais
data de
código
admissão
PESSOA nome
data de endereço
nascimento
Pessoa(CodigoPess,Nome,Endereço,DataNasc, DataAdm)
• Chave primária
– Pode aparecer em outras tabelas na forma de chave
estrangeira
• Recomendável
– Nome das colunas que compõem a chave primária
• Sufixados ou prefixados com o nome ou sigla da tabela na
qual aparecem como chave primária
– Exemplo:
• CodigoPess
• Tabela própria
• Adição de colunas a uma das tabelas
• Fusão de tabelas
(0,1) (0,1)
HOMEM casamento MULHER
Mulher (IdentM,Nome,IdentH,Data,Regime)
Homem (IdentH,Nome)
Casamento (IdentM,IdentH,NomeM,NomeH,Data,Regime)
código código
nome Data exp
código código
nome Data exp
código código
nome Data exp
Correntista (CodCorrent,Nome)
Cartão (CodCartão,DataExp,CodCorrent)
CodCorrent referencia Correntista
código código
nome Data exp
Correntista (CodCorrent,Nome)
Cartão (CodCartão,DataExp)
CartãoCorrentista (CodCartão,CodCorrent)
CodCorrent referencia Correntista
CodCartão referencia Cartão
código
nome Ender
Data inst
código
nome Ender
Data inst
(0,n) (1,1)
DEPARTAMENTO lotação EMPREGADO
código código
nome nome
Data
Lotação
código código
nome nome
Data
Lotação
Departamento (CodDept,Nome)
Empregado (CodEmp,Nome,CodDept,DataLota)
CodDept referencia Departamento
código código
nome nome
Data
Lotação
Departamento (CodDept,Nome)
Empregado (CodEmp,Nome)
Lotação (CodEmp,CodDept,DataLota)
CodEmp referencia Empregado
CodDept referencia Departamento
• Fusão de tabelas
– Não se aplica
– Implicaria em
• redundância de dados de departamento
• Adição de colunas é melhor que tabela própria
– Menor número de chaves
– Menor número de junções
– Não há problema de campos opcionais
Fianceira (CodFinanc,Nome)
Venda (CodVenda,Data,TxJuros,NoParc,CodFinanc)
CodFinanc referencia Financeira
código código
nome função título
Engenheiro (CodEng,Nome)
Projeto (CodProj,Titulo)
Atuação (CodEng, CodProj, Função)
CodEng referencia Engenheiro
CodProj referencia Projeto
(0,n) (0,n)
ENGENHEIRO atuação PROJETO
código
nome
Engenheiro (CodEng,Nome)
Projeto (CodProj,Titulo)
Função (CodFunc,Nome)
Atuação (CodEng, CodProj,CodFunc,DataIn)