Escolar Documentos
Profissional Documentos
Cultura Documentos
MODELO ENTIDADE-RELAÇÃO
• Modelo ER estendido
• Generalização
• Especialização
• Agregação
• Composição
• Superclasse - Uma entidade que inclui um ou mais distintos subgrupos das suas
ocorrências, que devem estar representados no modelo de dados.
• Subclasse – Um distinto subgrupo de ocorrências de uma entidade, que deve estar
representado no modelo de dados.
• Entidades que têm distintas subclasses são chamadas de superclasses.
• A relação entre uma superclasse e qualquer uma subclasse é chamada de relação
superclasse/subclasse.
1
10/6/2022
2
10/6/2022
3
10/6/2022
Especialização/Generalização
Especialização/Generalização
4
10/6/2022
Especialização/Generalização
Especialização/Generalização – Participação
• Restrição Participação - Determina se cada membro da superclasse deve
participar como membro de uma subclasse.
– Pode ser Mandatória ou Opcional
– Um relacionamento de superclasse / subclasse com participação obrigatória
especifica que todos os membros da superclasse também devem ser membros de
uma subclasse. Para representar a participação obrigatória, “Obrigatório” é
colocado entre chaves abaixo do triângulo que aponta para a superclasse.
– Um relacionamento de superclasse / subclasse com participação opcional
especifica que um membro de uma superclasse não precisa pertencer a nenhuma
de suas subclasses. Para representar a participação opcional, “Opcional” é
colocado entre chaves, abaixo do triângulo que aponta para a superclasse.
10
5
10/6/2022
Especialização/Generalização – Participação
• Restrição Disjunção - Descreve a relação entre os membros das subclasses e
indica se é possível que um membro de uma superclasse seja membro de uma ou
mais de uma subclasse.
– A restrição disjunta só se aplica quando uma superclasse possui mais de uma subclasse.
– Se as subclasses forem separadas, uma ocorrência de entidade poderá ser um membro de
apenas uma das subclasses. Para representar uma relação de superclasse / subclasse desarticulada,
“Or” é colocado ao lado da restrição de participação dentro das chaves.
– Se as subclasses de uma especialização / generalização não forem disjuntas (chamadas não-
disjuntas), então uma ocorrência de entidade pode ser um membro de mais de uma subclasse.
Para representar uma relação de superclasse / subclasse não disponível, “And” é colocado ao lado
da restrição de participação dentro das chaves.
• As restrições disjunção e de participação da especialização e da generalização
são distintas, dando origem a quatro categorias:
• “obrigatório e disjunta”,
• “opcional e disjunta”,
• “obrigatório e não-disjunta” e
• “opcional e não-disjunta”
Dra. Otília Fernandes da Graça 11
11
Agregação
• Representa um relacionamento “é parte de” entre entidades, em que uma
representa o “todo” e a outra, “parte”.
• Uma parte pode ser partilhada por muitos todos.
– Um staff pode ser “uma parte de” um ou mais branch.
12
6
10/6/2022
Composição
• Uma forma específica de agregação que representa uma associação entre
entidades, onde há uma forte apropriação e uma coincidência entre o “todo” e a
“parte”. Um objecto pode fazer parte de apenas um composto de cada vez.
13
Questões de Revisão
1. Quais as principais diferenças entre MER e MER Estendido?
2. Descreva e ilustre, usando um exemplo, o processo de herança de
atributos.
3. Quais as principais razões para se introduzir os conceitos de superclasse
ou subclasse num modelo ER?
4. Descreva o que representa uma subclasse partilhada e como este
conceito se relaciona com herança múltipla.
5. Descreva e diferencie o processo de especialização com o processo de
generalização.
6. Descreva a notação UML usada para representar os relacionamentos
superclasse/subclasse.
7. Descreva e diferencie os conceitos de agregação e composição, e
providencie um exemplo de cada.
Dra. Otília Fernandes da Graça 14
14
7
10/6/2022
Exercício
• Modele uma hierarquia de generalização/especialização para as
entidades carro e camião. Defina as restrições de disjunção e de
participação.
• CARRO (código-viatura, chassi, número_passageiros, preço, velocidade-
máxima, número_portas)
• CAMIÃO (código-viatura, chassi, capacidade_carga, preço, número_eixos)
• Modele uma hierarquia de generalização/especialização para a
entidade Empregado, sabendo que existem vários tipos de
empregado (secretário, técnico e engenheiro). Secretário distingue-se
pelos idiomas falados, técnico pelo grau e engenheiro pela
especialidade.
• EMPREGADO (Cod_empreg, nome_empreg, tipo_empreg)
15