Buscar

Continue navegando


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