Prévia do material em texto
Banco de Dados I Modelo Entidade Relacionamento (cont) Professor Luciano Calderoni 2 Roteiro � Modelo Entidade-Relacionamento (MER) – Relacionamentos Especiais • Múltiplo (N-Ário) • Unário – Extensões do MER • Agregação • Generalização 3 Cardinalidade dos Relacionamentos � Depende do que se deseja modelar: somente um determinado momento ou todos os momentos possíveis Representa somente o aluguel atual dos carros Representa todo o histórico de aluguéis dos carros 4 Relacionamentos Especiais � Relacionamento Binário (já vimos) � Relacionamento N-Ário (Múltiplo) � Relacionamento Unário (Auto-Relacionamento) 5 Relacionamentos Especiais � Relacionamento Múltiplo (N-Ário) – Representa um fato em comum entre três ou mais entidades – o fato deve ocorrer sempre para todas as entidades, caso contrário não pode ocorrer • Um aluno cursa uma disciplina que é ministrada por um professor 6 Relacionamentos Especiais � Relacionamento Múltiplo (N-Ário) – A cardinalidade é determinada separando uma das entidades e agrupando as demais – verifica-se a cardinalidade do grupo para a entidade separada 7 Relacionamentos Especiais � Relacionamento Múltiplo (N-Ário) – Geralmente pode ser dividido em diversos relacionamentos binários 8 Modelo Entidade-Relacionamento � Auto-Relacionamento (Unário) – Representa um fato que relaciona uma entidade com ela mesma • Um funcionário de uma empresa é chefe de outro funcionário 9 Agregação � Permite expressar relacionamentos entre relacionamentos � Usada para fatos que estão relacionados entre si, mas não sempre – quando o fato A ocorre o fato B pode ocorrer, mas tanto A quanto B podem ocorrer sozinhos � Exemplo – Em um consultório ou hospital, os médicos atendem pacientes – Esses atendimentos podem ou não revelar a necessidade dos pacientes realizarem exames – Além disso, os pacientes podem ir à clínica apenas para realizar exames 10 Agregação 11 Agregação � Enxergar o trio Entidade-Relacionamento- Entidade como uma Entidade única – Enxergar Médico-Atende-Paciente como Atendimento 12 Generalização � Permite evitar a repetição de atributos comuns entre duas ou mais entidades � Mesmo conceito de modelagem OO � Definir atributos comuns a diversas entidades em uma entidade mais geral – As entidades mais específicas herdam os atributos da entidade mais geral � Exemplo – Um banco possui dois tipos de contas: conta-corrente e poupança 13 Generalização 14 Receita para Modelar � Se você se sente sem saber por onde começar na hora de executar uma modelagem, eis uma sequencia de passos que podem ajudar: 1. Grifar as palavras importantes para compreensão do Sistema; 2. Separar as palavras grifadas em substantivos e verbos; 3. Classificar os substantivos em uma das seguintes categorias: conjunto de entidades, atributos, papéis, valores de atributos. E os verbos em: relacionamentos, ações (procedimentos) e regras; 4. Vincular os atributos de cada conjunto de entidades e determinar as chaves (atributos identificadores); 5. Vincular os valores levantados aos respectivos atributos; 15 Receita para Modelar 6. Verificar se há atributos que podem ser promovidos a conjunto de entidades e vice-versa; 7. Vincular os relacionamentos às entidades que participam dos mesmos. Criar agregações, se necessário; 8. Vincular a cada conjunto de relacionamentos seus atributos; 9. Verificar as ações e regras: se elas se referem a dados já modelados, desconsiderá-las; senão, identificar quais são esses dados e incorporá-los ao modelo; 10. Verificar se existem conjunto de entidades com apenas uma instância (apenas uma entidade no conjunto). Se houver, descartar o conjunto de entidades e seus respectivos conjuntos de relacionamentos; 11. Verificar quais são as entidades fracas; 16 Receita para Modelar 12. Verificar se cada conjunto de relacionamento de ordem maior que 2 (que envolvem 3 ou mais entidades) não pode ser desmembrado em 2 ou mais conjuntos de relacionamento de ordem menor; 13. Identificar onde o processo de generalização / especialização pode melhorar a modelagem das entidades. O Ministério do Bom Senso Adverte: Esta receita, assim como todo algoritmo que tenta simular o raciocínio, deve ser usada com critério. Ela representa apenas um direcionamento para iniciar uma modelagem. O seu uso não garante que o resultado seja satisfatório e nem mesmo que o DER resultante esteja correto. Para se chegar a uma boa modelagem são necessários: entendimentos dos conceitos, bom senso e experiência (com exercícios primeiramente). Depois a receita não será mais necessária... 17 Conclusões � Relacionamentos especiais – Múltiplo: um fato em comum entre três ou mais entidades que ocorre sempre relacionado a todas – Unário: um fato que relaciona uma entidade com ela mesma � Extensões do MER – Agregação: enxergar um trio Entidade- Relacionamento-Entidade como uma Entidade – Generalização: definir atributos comuns a diversas entidades em uma entidade mais geral