Banco de Dados Mapeamento MER MREL Prof MSc
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: 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 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 Id. Cli 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 Nr. Empr marca Empréstimo valor nrdaparcelas Tabela Empréstimo marca venc possui valor Nr. Empr 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 substituído por outro. . . carro. § Tabela Automóvel 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 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) Id. Cli 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 Carro Tabela Cliente Id. Cli RG Nome Endereço Cidade UF Chassis marca modelo ano cor Valor Cliente = {Id. Cli, Rg, Nome, Endereco, Cidade, UF} PK Tabela Carro FK Id. Cli (fk) Chassis Carro = {Chassis, Id. Cli (FK), marca, modelo, ano, cor, valor} Id. Cli refere-se ao cliente, e é não único. BD – MER para MRel
Tabela Cliente Id. Cli RG 010101 1234 111111 2345 222222 3456 232323 4567 333333 5678 555555 6789 666666 7890 777777 8901 888888 9012 999999 0123 Nome Otto Bits Biugueitis Clinto da Silva Winchester Baleado Deevez Giga Baiti Margarida Noriana Kremoza Nano Secondo Napoleon Locco di Petra Buchi Sokegueha Memo Ruindous Sopane Vizziadju Engueimis Endereço Rua do Byte, 1111 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 Id. Cli 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 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 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 Id. Cli nrconta RG tipo nome abert endereço limite cidade sei lá UF mais. . . Cliente possui Conta Tabela possui Id. Cli Tabela Cliente Id. Cli RG Nome Endereço Cidade UF nrconta Tabela Conta nrconta tipo abert limite sei lá mais. . . Cliente = {Id. Cli, Rg, Nome, Endereco, Cidade, UF} Possui = {Id. Cli, Nr. Conta} Id. Cli refere-se ao Cliente, não único; Nr. Conta refere-se à Conta, Conta = {Nr. Conta, tipo, abert, limite, sei lá, . . . } BD – MER para MRel
- Slides: 15