Banco de Dados Mapeamento MER  MREL Prof. MSc Wagner Siqueira Cavalcante Modelagem de MER para Relacional (MER  MREL) Mapeamento das Entidades:     Todo retângulo.

Download Report

Transcript Banco de Dados Mapeamento MER  MREL Prof. MSc Wagner Siqueira Cavalcante Modelagem de MER para Relacional (MER  MREL) Mapeamento das Entidades:     Todo retângulo.

Banco de Dados
Mapeamento MER  MREL
Prof. MSc Wagner Siqueira Cavalcante
Modelagem de MER para Relacional (MER  MREL)
Mapeamento das Entidades:




Todo retângulo (entidade forte ou fraca), em via de regra, torna-se uma
tabela, com os seus atributos próprios.
Cada atributo transforma-se em um campo da tabela.
Cada tupla (linha da tabela) corresponde a um registro de uma entidade em
seu conjunto.
Cada chave (primária e estrangeira) gera “estruturas de acesso”.
 Entidade Fraca:
Adiciona-se a chave primária da entidade dominante às suas colunas.
BD – MER para MRel
Modelagem de MER para Relacional (MER  MREL)
Mapeamento das Entidades:
 Em situações específicas, determinados relacionamentos serão
representados por tabelas também.
 Cada tabela deve ter, nos títulos das colunas, os atributos simples da
entidade.
 Os atributos compostos, no entanto, podem (ou devem) ser expandidos
(ou divididos) em colunas distintas (no caso de marca, p.ex., não é
necessário expandi-la em dia, mês e ano, porém, sendo necessário, façao; no caso de endereço, p.ex., normalmente é necessário expandir-se).
 Os atributos que representam a chave primária devem ser destacados
(grifados com linha contínua).
 Os atributos multivalorados serão "convertidos" em entidades fracas,
dependentes da entidade pai (ou mãe, dominante).
 No DER, os atributos não podem ser exportados (para outra entidade) em
hipótese alguma. No Modelo Relacional, entretanto, algumas tabelas
podem receber os atributos (chave primária) das entidades, com as quais
se relacionam, como chave estrangeira, respeitando as regras adequadas
(1:1, 1:N, p.ex.).
BD – MER para MRel
Modelagem de MER para Relacional (MER  MREL)
Mapeamento dos Relacionamentos:


Navegação incorporada:
Navegação disjunta:
Trabalha com chave estrangeira.
Não modifica as definições dos registros.
Adicionam-se registros para a navegação.
1:N
A entidade N carrega o identificador da entidade 1 (estrangeira) e os
atributos do relacionamento (normalmente não há no 1:1 e 1:N).
1:1
A tabela que se sobrecarregar no uso, carrega o identificador da outra.
No caso de auto-relacionamento, deve-se gerar uma estrutura de acesso.
M:N
O relacionamento torna-se uma tabela (os atributos são as chaves
estrangeiras, advindas das tabelas envolvidas)
BD – MER para MRel
Modelagem de MER para Relacional (MER  MREL)
1. Atributo multivalorado:




Um atributo multivalorado é, por essência, um atributo, e não uma
entidade, porém permite vários conteúdos possíveis, simultaneamente.
Sua representação, no entanto, será feita em forma de entidade fraca,
dependente de sua entidade original (que será sua dominante).
Como a entidade fraca não tem uma chave primária própria, contará com
um atributo (identificador) que consiga identificá-lo entre aqueles
relacionados com a entidade dominante (como 1º, 2º, nº. daquela
entidade), contudo, podendo se repetir no conjunto de todas as entidades
deste conjunto de entidades fracas.
A chave primária da entidade fraca é composta pela chave primária da
entidade dominante e este atributo identificador da entidade fraca.
BD – MER para MRel
Modelagem de MER para Relacional (MER  MREL)
1. Atributo multivalorado:

Um cliente pode possuir mais que um número de telefone.
Tabela Telefones
Id_cli
Id_Cli
seqüência
ddd
número
nome
Comunica-se
por
Cliente
Outros...
seqüência
telefones
Tabela Cliente
IdCli
Nome
Telefone
ddd
número
Outros...
BD – MER para MRel
Modelagem de MER para Relacional (MER  MREL)
1. Atributo multivalorado:
Um carnê será emitido para o pagamento parcelado de um empréstimo
financeiro.

Tabela Parcela
Nr-Empréstimo
NrEmpr
marca
Empréstimo
valor
nrdaparcela
parcelas
Tabela Empréstimo
marca
venc
possui
valor
NrEmpr
nrdaparcela
Parcela
vencimento
valor
Outros...
BD – MER para MRel
Modelagem de MER para Relacional (MER  MREL)
2. Relacionamentos um-para-um (1:1):


Criar tabelas para as entidades, podendo adicionar a uma delas a chave
estrangeira (advinda da outra; quando há prioridade de uma sobre a
outra, a tabela com maior acesso recebe a chave da de menor fluxo).
Deve-se ter o cuidado para não provocar um “dead-lock” (uma entidade
esperando que a outra tenha valor primeiramente e vice-versa), com
ambas chaves primárias de cada entidade como estrangeiras na outra,
simultaneamente.
BD – MER para MRel
Modelagem de MER para Relacional (MER  MREL)
2. Relacionamentos um-para-um (1:1):
Um motorista de táxi tem acesso para dirigir unicamente um automóvel da
Cooperativa, a qual permite apenas um condutor responsável por este
Aqui, quando o carro puder ser substituído por outro...
carro.

Tabela Automóvel
CNH
CNH (FK)
renavam
marca
modelo
nome
Motorista
dirige
renavam
Tabela Motorista
CNH
nome
Outros...
Automóvel
marca
modelo
BD – MER para MRel
Modelagem de MER para Relacional (MER  MREL)
2. Relacionamentos um-para-um (1:1):
Um motorista de táxi tem acesso para dirigir unicamente um automóvel da
Cooperativa, a qual permite apenas um condutor responsável por este
Aqui, quando o motorista puder ser substituído por outro...
carro.

Tabela Automóvel
CNH
renavam
marca
modelo
nome
1
Motorista
dirige
1
renavam
Tabela Motorista
CNH
Renavam (FK)
nome
Outros...
Automóvel
marca
modelo
BD – MER para MRel
Diagrama Entidade-Relacionamento
Venda de automóveis
3. Relacionamentos um-para-muitos (1:N):


Criar tabela para a entidade de cardinalidade "1", com somente os seus
atributos e, para a de cardinalidade "N", idem, adicionando-se os atributos da
chave primária de "1", como chave estrangeira (foreign key).
Uma concessionária de automóveis, permite que cada cliente possa adquirir
um ou mais carros simultaneamente. Cada automóvel, entretanto, vende-se a
somente uma pessoa.
IDCli
Chassis
RG
marca
nome
modelo
endereço
ano
cidade
cor
UF
valor
Cliente
1
compra
N
Carro
BD – MER para MRel
Modelagem de MER para Relacional (MER  MREL)
IdCli
Chassis
RG
marca
nome
modelo
endereço
ano
cidade
cor
UF
valor
1
Cliente
compra
N
Carro
PK do lado 1 vai como FK para o lado N
Tabela Aluguel
Tabela Cliente
IdCli
RG
Nome
Endereço
Cidade
UF
Chassis
marca
modelo
ano
cor
Valor
marca
modelo
ano
cor
Valor
Cliente = {IdCli, Rg, Nome, Endereco, Cidade, UF}
PK
Tabela Aluguel
FK
IdCli (fk)
Chassis
Aluguel = {Chassis, IdCli (FK), marca, modelo, ano, cor, valor}
IdCli refere-se ao cliente, IdCli é não único.
BD – MER para MRel
Tabela Cliente
IdCli
RG Nome
010101 1234 Otto Bits
111111 2345 Biugueitis Clinto da Silva
222222 3456 Winchester Baleado Deevez
232323 4567 Giga Baiti
333333 5678 Margarida Noriana Kremoza
555555 6789 Nano Secondo
666666 7890 Napoleon Locco di Petra
777777 8901 Buchi Sokegueha Memo
888888 9012 Ruindous Sopane
999999 0123 Vizziadju Engueimis
Endereço
Rua do Byte, 11111111
Rua das Minas, 13
Av do Sufoco, 250-GB
Rua dos Capazes, 1
Ladeira do Escorrega, 55
Rua do Tempo, 10-6
Av dos Pinéus, s/nº
Praça Iraque, 1109
Av Linus Gueitis, 98
Rua Lara Kroft, 3000
Tabela Carro
Chassis
IdCli Marca Modelo
1111
232323
GM
Corsa 1.6
1212
999999 Ford Fiesta
2222
555555
Fiat
Uno Mille
3333
222222 Ford Ka
4444
888888
VW
Parati
5555
666666
GM
Corsa Sedan
6666
333333 Ford Mondeo
7777
111111
VW
Gol
8888
333333
Fiat
Palio
9999
555555 Romi Isetta
Ano
1995
1997
1998
1997
1995
1996
1998
1999
1999
2002
Cidade
Silício
Xiririca da Serra
Três Corações
Oktoberfest
Vegetalis
Jamais Cano
Barbacena
Manrrata
Pinéus
Sim City
Cor
Purpurina pura
Laranja brilhante
Marrom glacê
Rosa choque
Verde limão
Branco omo ace
Verde e rosa
Verde limão
Roxo batata
Azul marinho
UF
SP
SP
RJ
SC
PR
SP
MG
WA
MG
FL
Valor
15.000,00
17.000,00
18.000,00
19.000,00
15.000,00
16.000,00
18.000,00
19.000,00
19.000,00
22.000,00
BD – MER para MRel
Diagrama Entidade-Relacionamento
Controle bancário
3. Relacionamentos muitos-para-muitos (M:N):


O relacionamento também é modelado em tabela (com as chaves das
entidades envolvidas, lógico), além das entidades.
Uma instituição bancária permite que cada cliente possa controlar uma ou
várias contas-correntes, compartilhadas por outro ou mais clientes (e/ou).
IDCli
nrconta
RG
tipo
nome
abert
endereço
limite
cidade
sei lá
UF
mais...
Cliente
possui
Conta
BD – MER para MRel
Modelagem de MER para Relacional (MER  MREL)
Venda de automóveis
IdCli
nrconta
RG
tipo
nome
abert
endereço
limite
cidade
sei lá
UF
mais...
Cliente
possui
Conta
Tabela possui
IdCli
Tabela Cliente
IdCli
RG
Nome
Endereço
Cidade
UF
nrconta
Tabela Conta
nrconta
tipo
abert
limite
sei lá
mais...
Cliente = {IdCli, Rg, Nome, Endereco, Cidade, UF}
Possui = {IdCli, NrConta}
IdCli refere-se ao Cliente, não único;
NrConta refere-se à Conta, não única.
Conta = {NrConta, tipo, abert, limite, sei lá, ...}
BD – MER para MRel