Você está na página 1de 8

10/6/2022

MODELO ENTIDADE-RELAÇÃO
• Modelo ER estendido
• Generalização
• Especialização
• Agregação
• Composição

Dra. Otília Fernandes da Graça 1

Modelo Entidade Relação (MER) Estendido – Superclasse e


Subclasse
• Porque definir estes conceitos?
1- Para evitar descrever conceitos semelhantes mais do que uma vez
2 - Para adicionar mais informação semântica ao desenho de uma forma que seja
familiar a muitas pessoas.

• 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.

Dra. Otília Fernandes da Graça 2

1
10/6/2022

Modelo Entidade Relação (MER) Estendido


• Relação superclasse/subclasse – cada membro de uma subclasse é
também um membro da superclasse, ie, a entidade na subclasse é a
mesma entidade na superclasse, mas tem um papel distinto.
• A relação entre uma superclasse e uma subclasse é um-para-um
(1:1).
• Algumas superclasses podem conter subclasses sobrepostas – um
membro do Staff que é ambos Manager e membro de Sales Personnel.
• Nem todo o membro de uma superclasse é necessariamente membro
de uma subclasse.
• Usa-se superclasse e subclasse para evitar descrever diferentes tipos
de staff com possivelmente diferentes atributos numa única entidade,
sobrecarregando staff com nulls.
Dra. Otília Fernandes da Graça 3

Modelo Entidade Relação (MER) Estendido

Dra. Otília Fernandes da Graça 4

2
10/6/2022

Diagrama Entidade Relação (DER) Estendido


• Herança de atributos - uma entidade numa subclasse representa o mesmo
objecto do “mundo real” como na superclasse e pode possuir atributos específicos
da subclasse, bem como aqueles associados à superclasse.
• Uma subclasse é também uma entidade, e, portanto, também pode ter uma
ou mais subclasses. Uma entidade e suas subclasses e suas subclasses, e assim por
diante, é chamada de hierarquia – inclui Especialização, Generalização.
• Uma subclasse com mais de uma superclasse é chamada de subclasse
compartilhada. Ou seja, um membro de uma subclasse compartilhada deve ser
um membro das superclasses associadas. Assim, os atributos das superclasses são
herdados pela subclasse compartilhada, que também pode ter seus próprios
atributos adicionais. Este processo é referido como herança múltipla.

Dra. Otília Fernandes da Graça 5

Diagrama Entidade Relação (DER) Estendido


• Especialização - processo de maximizar as diferenças entre membros de uma
entidade, identificando as suas próprias características
– A especialização é uma abordagem de cima para baixo para definir um conjunto
de superclasses e suas subclasses relacionadas.
– O conjunto de subclasses é definido com base em algumas características
distintivas das entidades na superclasse.
– Quando identificamos um conjunto de subclasses de uma entidade, associamos
atributos específicos a cada subclasse (quando necessário) e também identificamos
quaisquer relações entre cada subclasse e outras entidades ou subclasses (quando
necessário).
• Generalização - processo de minimizar as diferenças entre entidades,
identificando características comuns
– O processo de generalização é uma abordagem de baixo para cima, que resulta na
identificação de uma superclasse generalizada a partir das entidades originais.

Dra. Otília Fernandes da Graça 6

3
10/6/2022

Especialização/Generalização

Dra. Otília Fernandes da Graça 7

Especialização/Generalização

Dra. Otília Fernandes da Graça 8

4
10/6/2022

Especialização/Generalização

Dra. Otília Fernandes da Graça 9

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.

Dra. Otília Fernandes da Graça 10

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.

Dra. Otília Fernandes da Graça 12

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.

Dra. Otília Fernandes da Graça 13

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)

Dra. Otília Fernandes da Graça 15

15

Você também pode gostar