Banco de Dados – Exemplos e exercícios de modelagem (DER e MER Prof. MS Wagner Siqueira Cavalcante • • • • • • • 1. Em princípio, qualquer retângulo no DER (entidade forte ou fraca) será representado por uma tabela. Em situações específicas, determinados relacionamentos serão representados por tabelas também (M:N). 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 data, 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). No DER, os atributos não podem ser exportados (para outra entidade) em hipótese alguma. Algumas tabelas, entretanto, 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.). 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). 3.1. Uma instituição bancária permite que cada cliente possa controlar uma ou várias contas-correntes, contudo, esta conta não pode ser compartilhada por outros clientes. nome Outros... Cliente IDcliente nome 111 Ana 222 José 333 Carlos 444 Claudia 3.2. 3.3. 3.4. abertura nrconta IDcliente 1 Cliente 2. MREL) N possui ... t ip o Conta Conta nrconta abert X01 ... X02 ... X03 ... X04 ... IDcliente 111 111 222 444 tipo ... ... ... ... Uma pessoa pode alugar um ou vários veículos, porém, o contrato será assinado por somente um locatário. Um funcionário está alocado a um único departamento, que, por sua vez, aloca vários funcionários. Um encarregado de máquinas pode ter vários equipamentos sob sua responsabilidade, os quais contam com somente um responsável. Atributo multivalorado ( 1:N forte-fraca): • Este tipo de atributo é, 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. Como não tem uma chave primária, contará com um atributo 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 fraco. 1.1. Um cliente pode possuir mais que um número de telefone. ID-cli Cliente Cliente Nome_cli Outros... Seqüência ID-cli telefones Nome_cli 1 N tem Outros... número DDD Tabela Cliente Tabela Telefones id_cli id_cli nome_cli Telefones sequencia 10 10 1 20 10 2 30 20 1 … 20 2 ddd numero Banco de Dados – Exemplos e exercícios de modelagem (DER e MER Prof. MS Wagner Siqueira Cavalcante 3. Relacionamentos um para um (1:1): • Criar tabelas para as entidades, podendo adicionar a chave estrangeira, de uma para a outra (não para ambas, pois a referência múltipla provoca dead lock, ou seja, cada uma delas esperando que a outra seja primeiramente preenchida), especialmente quando há alguma prioridade de uma sobre a outra (neste caso, a tabela com maior acesso recebe a chave da de menor fluxo). 2.1. Um motorista de taxi em uma cooperativa tem, à sua disposição, unicamente um automóvel, o qual permite apenas um condutor a ele associado. nome Outros... Motorista codmot 2.2. 2.3. 4. MREL) nome ... 1 dirige placa marca placa codmot um ou outro! 1 modelo cor Automóvel placa marca ... codmot Uma instituição financeira, ao realizar seus contratos de empréstimo bancário, permite que cada cliente contraia um único empréstimo por vez, devendo, primeiramente, quitar seu débito anterior. Cada empréstimo, por sua vez, terá unicamente este cliente como seu responsável. Uma empresa determina que cada funcionário, no exercício de sua função, deve contar com exclusivamente uma máquina, pela qual será o único responsável. 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. 4.1. 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). nome Outros... M Cliente Cliente IDcliente nome 111 Ana 222 José 333 Carlos 444 Claudia ... nrconta IDcliente possui Possui IDcliente nrconta 111 X01 111 X02 222 X02 444 X04 N abertura t ip o Conta nrconta X01 X02 X03 X04 Conta abert ... ... ... ... tipo ... ... ... ... Banco de Dados – Exemplos e exercícios de modelagem (DER e MER Prof. MS Wagner Siqueira Cavalcante 5. MREL) Exercícios, misturando tudo...: 5.1. Na página 11 do Livro do Rogério Costa, a figura 1.3 propõe um modelo (MER) para o desenvolvimento de uma base de dados e consultas sobre ela. Matrícula Nome CPF Data de nascimento Endereço nacionalidade Código Nome Editora Preço Lançamento 0,1 publica 0,N Livro 1,1 Assunto escrito por 0,N Descriçã Sigla é de um Uma disciplina é ministrada por um único professor, o qual deve ministrar ao menos uma e pode lecionar em muitas disciplinas. O professor deve informar se tem algum telefone e os números de todos, caso os possua. Logradouro CEP cidade estado Prontuário do Professor Data de nascimento Nome do Professor Endereço Código da disciplina Nome da Disciplina Ementa da Disciplina 1..M Disciplina ministra 5.3. Autor 1,N Código Data de contrato 5.2. 1,N 1 Professor 1 possui 0..N Telefone Um aluno pode se matricular em muitas disciplinas e cada disciplina pode ter vários alunos, a qual só pode ser ministrada por um único e exclusivo professor, que pode ministrar uma ou mais disciplinas. Tanto os alunos, quanto os professores, devem informar seus números de telefones para contato, porém tais informações não podem se misturar entre alunos e professores. Prontuário do Professor Data de nascimento Nome do Professor Endereço Código da disciplina Nome da Disciplina Ementa da Disciplina 1..M Disciplina ministra 1 Professor 1 1..M Aluno 1 0..N Logradouro CEP cidade estado RA do Aluno Data de nascimento Nome do Aluno Endereço matricula Logradouro CEP cidade estado possui 1..M 5.4. Seqüência ddd Número do telefone Complemento (ramal) possui 0..N Sequência (1..N) ddd Número do telefone Complemento (ramal) Telefone Sequência (1..N) ddd Número do telefone Complemento (ramal) Telefone Um cliente é cadastrado e pode (ou não) contrair muitos empréstimos sozinho ou compartilhado, cada qual pago em parcelas e administrado por um único gerente, que tem uma mesa específica e exclusiva a ele alocada, sem a qual não pode ficar. Código do Cliente Nome do Cliente Endereço Cliente 1..M contrai Código do Gerente Número do empréstimo Logradouro CEP cidade estado Nome do Gerente Data de admissão Data de contrato Valor do empréstimo 0..N Empréstimo 0..N administrado 1 Carnê Gerente 0..1 paga-se 1..N 1 Número da folha Valor da parcela Data de Data de pagamento alocado 1 Mesa Local Código Mesa