Projeto Lógico
description
Transcript of Projeto Lógico
![Page 1: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/1.jpg)
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)
![Page 2: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/2.jpg)
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
![Page 3: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/3.jpg)
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
![Page 4: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/4.jpg)
• 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
![Page 5: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/5.jpg)
Mapeamento de Entidades e Atributos
LivrosEdicaoTituloISBN
Livros (ISBN, Titulo, Edicao)
![Page 6: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/6.jpg)
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)
![Page 7: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/7.jpg)
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
![Page 8: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/8.jpg)
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
![Page 9: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/9.jpg)
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
![Page 10: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/10.jpg)
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)
![Page 11: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/11.jpg)
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)
![Page 12: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/12.jpg)
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
![Page 13: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/13.jpg)
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
![Page 14: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/14.jpg)
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
![Page 15: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/15.jpg)
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
![Page 16: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/16.jpg)
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
![Page 17: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/17.jpg)
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
![Page 18: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/18.jpg)
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)
![Page 19: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/19.jpg)
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)
![Page 20: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/20.jpg)
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)
![Page 21: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/21.jpg)
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
![Page 22: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/22.jpg)
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)
![Page 23: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/23.jpg)
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
![Page 24: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/24.jpg)
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
![Page 25: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/25.jpg)
• 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)
![Page 26: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/26.jpg)
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
![Page 27: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/27.jpg)
(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
![Page 28: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/28.jpg)
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
![Page 29: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/29.jpg)
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
![Page 30: Projeto Lógico](https://reader035.fdocument.pub/reader035/viewer/2022062315/56814ea5550346895dbc5012/html5/thumbnails/30.jpg)
Mapear o DER para Relacional: