projeto lógico

30
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)

Upload: vinson

Post on 19-Jan-2016

62 views

Category:

Documents


1 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Projeto Lógico

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

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

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

• 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

Mapeamento de Entidades e Atributos

LivrosEdicaoTituloISBN

Livros (ISBN, Titulo, Edicao)

Page 6: Projeto Lógico

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

(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

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

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

Mapear o DER para Relacional: