Click here to load reader
Upload
lucia-neto-ribas
View
287
Download
29
Embed Size (px)
Citation preview
Banco de DadosMapeamento 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ça-o; 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: Trabalha com chave estrangeira. Navegação disjunta: 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)
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
1. Atributo multivalorado:
Modelagem de MER para Relacional (MER MREL)
BD – MER para MRel
Cliente
Id_clinome
Outros...
telefones
Comunica-se por
Telefone ddd
seqüência
número
Um cliente pode possuir mais que um número de telefone.1. Atributo multivalorado:
Tabela Cliente
IdCli Nome Outros...
Tabela Telefones
Id_Cli seqüência ddd
número
Modelagem de MER para Relacional (MER MREL)
BD – MER para MRel
Empréstimo
Nr-Empréstimomarca
valor
parcelas
possui
Parcela vencimento
nrdaparcela
valor
Um carnê será emitido para o pagamento parcelado de um empréstimo financeiro.
1. Atributo multivalorado:
Tabela ParcelaNrEmp
rnrdaparce
laven
cvalo
r
Tabela EmpréstimoNrEmp
r marca Outros...
Modelagem de MER para Relacional (MER MREL)
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
2. Relacionamentos um-para-um (1:1):
Modelagem de MER para Relacional (MER MREL)
BD – MER para MRel
Motorista
CNHnome
dirige
Automóvel marca
renavam
modelo
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 carro.
2. Relacionamentos um-para-um (1:1):
Tabela Motorista
CNH nome Outros...
Tabela AutomóvelCNH
(FK)renava
mmarc
amodel
o
Aqui, quando o carro puder ser substituído por outro...
Modelagem de MER para Relacional (MER MREL)
BD – MER para MRel
Motorista
CNHnome
dirige1
1
Automóvel marca
renavam
modelo
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 carro.
2. Relacionamentos um-para-um (1:1):
Tabela Motorista
CNH Renavam (FK) nome Outros..
.
Tabela Automóvelrenava
mmarc
amodel
o
Aqui, quando o motorista puder ser substituído por outro...
Diagrama Entidade-RelacionamentoVenda de automóveis
compraCliente
RGnome
endereçocidade
UF
marcamodelo
anocor
valor
Chassis
Carro
IDCli
BD – MER para MRel
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.
1 N
Modelagem de MER para Relacional (MER MREL)
Tabela Cliente
IdCli RGNome Endereç
oCidad
eU
F
Tabela AluguelChassi
smarc
amodelo
ano cor Valor
compra1 N
marcamodelo
anocor
valor
Chassis
Carro
Tabela AluguelIdCli (fk)
Chassis
marca
modelo
ano cor Valor
PK do lado 1 vai como FK para o lado N
Cliente
RGnome
endereçocidade
UF
IdCli
BD – MER para MRel
Cliente = {IdCli, Rg, Nome, Endereco, Cidade, UF}
Aluguel = {Chassis, IdCli (FK), marca, modelo, ano, cor, valor}
IdCli refere-se ao cliente, IdCli é não único.
PKFK
Tabela ClienteIdCli RG Nome Endereço Cidade UF
010101 1234 Otto Bits Rua do Byte, 11111111 Silício SP111111 2345 Biugueitis Clinto da Silva Rua das Minas, 13 Xiririca da Serra SP222222 3456 Winchester Baleado Deevez Av do Sufoco, 250-GB Três Corações RJ232323 4567 Giga Baiti Rua dos Capazes, 1 Oktoberfest SC333333 5678 Margarida Noriana Kremoza Ladeira do Escorrega, 55 Vegetalis PR555555 6789 Nano Secondo Rua do Tempo, 10-6 Jamais Cano SP666666 7890 Napoleon Locco di Petra Av dos Pinéus, s/nº Barbacena MG777777 8901 Buchi Sokegueha Memo Praça Iraque, 1109 Manrrata WA888888 9012 Ruindous Sopane Av Linus Gueitis, 98 Pinéus MG999999 0123 Vizziadju Engueimis Rua Lara Kroft, 3000 Sim City FL
Tabela CarroChassis IdCli Marca Modelo Ano Cor Valor1111 232323 GM Corsa 1.6 1995 Purpurina pura 15.000,001212 999999 Ford Fiesta 1997 Laranja brilhante 17.000,002222 555555 Fiat Uno Mille 1998 Marrom glacê 18.000,003333 222222 Ford Ka 1997 Rosa choque 19.000,004444 888888 VW Parati 1995 Verde limão 15.000,005555 666666 GM Corsa Sedan 1996 Branco omo ace 16.000,006666 333333 Ford Mondeo 1998 Verde e rosa 18.000,007777 111111 VW Gol 1999 Verde limão 19.000,008888 333333 Fiat Palio 1999 Roxo batata 19.000,009999 555555 Romi Isetta 2002 Azul marinho 22.000,00
BD – MER para MRel
Diagrama Entidade-RelacionamentoControle bancário
possuiCliente
RGnome
endereçocidade
UF
tipoabertlimitesei lá
mais...
nrconta
Conta
IDCli
BD – MER para MRel
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).
Modelagem de MER para Relacional (MER MREL) Venda de automóveis
Tabela Cliente
IdCli RGNome Endereç
oCidad
eU
F
Tabela Contanrcont
atipo
abert limite
sei lá
mais...
Tabela possui
possui
tipoabertlimitesei lá
mais...
nrconta
ContaCliente
RGnome
endereçocidade
UF
IdCli
Tabela possuiIdCli nrcont
a
BD – MER para MRel
Cliente = {IdCli, Rg, Nome, Endereco, Cidade, UF}
Conta = {NrConta, tipo, abert, limite, sei lá, ...}Possui = {IdCli, NrConta}
IdCli refere-se ao Cliente, não único;
NrConta refere-se à Conta, não única.