Projeto Lógico
• Transformação ER para o Modelo Relacional (nível lógico)
• Baseado em Regras– São aplicáveis a maioria dos casos
• 1 esquema ER pode gerar N esquemas Relacionais– Há várias maneiras de implementar
(nível lógico) uma representação abstrata (DER)
Projeto Lógico
• O mapeamento deve levar em conta:– A performance do BD
• Evitar junções• Diminuir o Número de Chaves
– Evitar criação de índices em excesso
• Evitar Campos Opcionais
– Simplificar o desenvolvimento das aplicações
Projeto Lógico
Passos para transformação ER → Relacional:1) Tradução inicial de Entidades e seus
Atributos 2) Tradução de Generalizações/Especializações3) Tradução de Relacionamentos e seus
Atributos
• Regra Inicial: – Cada entidade é traduzida para uma
tabela– Cada atributo da entidade gera uma
coluna na tabela– Atributos identificadores das entidades
serão as chaves primárias da tabela
Mapeamento de Entidades e Atributos
Mapeamento de Entidades e Atributos
LivrosEdicaoTituloISBN
Livros (ISBN, Titulo, Edicao)
Mapeamento de Entidades Fracas
• Identificador da entidade forte torna-se:– Parte da chave primária da Tabela Fraca– Chave estrangeira na Tabela Fraca
Dependentes (Codigo, NroSequencia, Nome)
DependentesFiliaçãoSócios
NroSequencia Codigo
Nome(0,N)(1,1)
Mapeamento de Atributos
Clientes
Nome CNH (0,1)
Email (1,N)Endereço
Rua
CEP
Bairro
Clientes (RG, Nome, CNH, Rua, Bairro, CEP)Email(RG, email)ouEmail (RG, email)
RG
Mapeamento de Especializações
• Três alternativas:1. Tabela única para toda hierarquia2. Tabelas para entidade genérica e
entidades especializadas3. Tabelas somente para as entidades
especializadas
Mapeamento de Especializações
1) Tabela única para toda hierarquia
Pessoas
RG
Jurídica
CNPJ
Física
CPF
Endereço
Pessoas (RG, Nome, Endereco, Tipo, CPF, CNPJ)
Nome
Mapeamento de Especializações
2) Tabelas para entidade genérica e entidades especializadas
Pessoas
RG
Jurídica
CNPJ
Física
CPF
Endereço
Nome
Pessoas (RG, Nome, Endereço)Física (RG, CPF)Jurídica (RG, CNPJ)
Mapeamento de Especializações
3) Tabelas somente para as entidades especializadas* Não se aplica a especializações parciais
Pessoas
RG
Jurídica
CNPJ
Física
CPF
Endereço
Nome
Física (RG, Nome, Endereço, CPF)Jurídica (RG, Nome, Endereço, CNPJ)
Mapeamento de Relacionamentos
• Alternativas de Mapeamento de Relacionamentos:– Entidades relacionadas podem ser
fundidas em uma única tabela– Criar tabela para o Relacionamento– Adição de colunas a uma das tabelas
para representar o relacionamento (chave estrangeira)
• Alternativa depende da cardinalidade mínima e máxima do relacionamento
Relacionamento 1:1
• Relacionamento obrigatório em ambos sentidos– Alternativa: Fusão das Entidades
Eventos Comissõesorganização(1,1) (1,1)
Eventos (Código, Nome, DataInstCom, NroCom, NomeCom)
Nome Código Nome Número
DataInstalacao
Relacionamento 1:1
• Relacionamento opcional em um dos sentidos– Alternativa1: Fusão das Entidades
Áreascontrole(1,1) (0,1)
Bibliotecárias
Nome Código
Bibliotecárias (Código, Nome, CodigoArea, NomeArea, Periodicidade)
Nome Código
Periodicidade
Relacionamento 1:1
• Relacionamento opcional em um dos sentidos– Alternativa2: Chave Estrangeira em uma
das tabelas
Áreascontrole(1,1) (0,1)
Bibliotecárias
Nome Código
Bibliotecárias (Código, Nome)
Áreas (Código, Nome, CodBiblio, Periodicidade)
Nome Código
Periodicidade
Relacionamento 1:1
• Relacionamento opcional em ambos os sentidos– Alternativa1: Criar tabela para o
relacionamento
Mulherescasamento(0,1) (0,1)
Homens
Nome RG
Homens (RG, Nome)Mulheres (RG, Nome)Casamento (RGH, RGM, Regime)
Nome RG
Regime
Relacionamento 1:1
• Relacionamento opcional em ambos os sentidos– Alternativa2: Chaves estrangeiras em
uma das tabelas
Mulherescasamento(0,1) (0,1)
Homens
Nome RG
Homens (RG, Nome, [RGM])Mulheres (RG, Nome, RGH, Regime)
Nome RG
Regime
Relacionamento 1:N
• Relacionamento obrigatório ou opcional no lado N
Editoras publicacao(1,1) (0,N)
Livros
Título
ISBN
Nome
Código
Data
Editoras (Código, Nome)Livros (ISBN, Título, CodEditora, DataPublicacao)
Relacionamento 1:N
• Relacionamento opcional no lado 1– Alternativa1: Criar tabela para
relacionamento com chave primária da tabela do lado N
Estante localização(0,1) (0,N)
Livros
Título
ISBN
Capacidade
Número
NumeroControle
Estantes (Número, Capacidade)Livros (ISBN, Título)Localização (Número, ISBN, NumeroControle)
Relacionamento 1:N
• Relacionamento opcional no lado 1– Alternativa2: Chave estrangeira na
tabela do lado N
Estante localização(0,1) (0,N)
Livros
Título
ISBN
Capacidade
Número
NumeroControle
Estantes (Número, Capacidade)Livros (ISBN, Título, Número, NumeroControle)
Relacionamento N:N
• Relacionamento obrigatório ou opcional em ambos os sentidos
Livros PedidosItemPedido(0,N) (0,N)
Titulo
ISBN Numero
Quantidade
Livros (ISBN, Titulo)Pedidos (Número, OrdemCompra)ItemPedido (ISBN, Numero, Quantidade)
OrdemCompra
Auto-Relacionamento• Aplicar as mesmas regras para
relacionamentos
Bibliotecárias
supervisãoSupervisionada Supervisora
(0,N)(1,1)
Nome Código
Bibliotecárias(Código, Nome)Supervisão(CodSupervisionada, CodSupervisora)ouBibliotecárias(Código, Nome, CodSupervisora)
Relacionamentos com Entidades Associativas
• Alternativa1:
ClientesempréstimoLivros
(0,1)(0,N)
cadastro(1,1)
(0,N)
Bibliotecárias
Livros (Código, ..., RGCliente, DataDevolução, RGBiblio)Clientes (RGCliente, ...)Bibliotecárias(RGBiblio, ...)
DataDevolução
Empréstimos
CartõesMagnéticos
Contas
Concessão
Clientes vínculo(1,N)(1,N)
(1,1)
(0,1)
Correntista(RG, Número) CartõesMagnéticos(Número, DataExp, RG, NroConta)
NúmeroDataExp
RG Número
Correntistas
• Alternativa 2:
Relacionamentos com Entidades Associativas
• Caso N:N:N
Relacionamentos Ternários
(1,N)
Instituições
Pesquisadores
Projetos
Pesquisa
(1,N) (0,N)
Sigla Número
RG
DataInício
Instituições (Sigla, ...)Projetos (Número, ...)Pesquisadores (RG, ...)Pesquisa (Sigla, Número, RG, DataInício)
Relacionamentos Ternários
(0,1)
Produtos
Distribuidores
Cidades
Distribuição
(0,N)(0,N)
Código Código
Produtos (Código, ...)Cidades (Código, ...)Distribuidores (RG, ...)Distribuição (CodProduto, CodCidade, RG)
RG
• Caso 1:N:N
(1,1)
Correspondências
Carteiros
Bairros
Entrega
(0,N) (1,1)
CódigoCódigo
Bairros (Código, ...)Carteiros (RG, ...)Correspondências (CodCarta, Peso, CodBairro, RG, ...)
Peso
RG
Relacionamentos Ternários
• Caso 1:1:N
Relacionamentos Ternários
(1,1)
Painéis
Latarias
Veículo
(1,1)
(1,1)Código Código
Código
FabricantePeso
Veículo (Código, PesoPainel, CodMotor, FabrMotor, CodLataria, ModLataria)
Motores
Modelo
• Caso 1:1:1
Dicionário de Dados
Relação Médicos
Atributo Domínio Tamanho RI Descrição
codm Numérico chave primária Código do Médico
nome Texto 50 Nome do Médico
cpf Texto 20 Índice único CPF do Médico
nroad Numérico chave estrangeira para relação Ambulatórios
Número do ambulatório q o Médico dá atendimento
Mapear o DER para Relacional:
Top Related