Fala, meus consagrados! Tudo beleza com vocês?
Vamos estudar a Generalização e Especialização na Modelagem Conceitual em Banco de Dados.
Então, simbora comigo!
Conceituação
São conceitos usados para representar objetos do mundo real que possuem os mesmos atributos, podem ser categorizados e podem ser representados em uma hierarquia que mostra as dependências entre entidades de uma mesma categoria.
Através desses conceitos, é possível atribuir propriedades particulares da entidade genérica (entidade pai) a um subconjunto das ocorrências (entidades especializadas).
Esquema
Na figura 1, a entidade Médico é uma entidade pai, ou seja, uma entidade genérica, possuindo propriedades comuns para suas entidades filhas ou especializadas. A entidade Médico representa uma generalização.
Já as entidades Médico Residente e Médico Efetivo são especializações de Médico. São entidades especializadas. Elas descendem da sua entidade genérica, herdando atributos dessa entidade pai. Por exemplo, vamos supor que a entidade Médico possui o atributo Nome. Esse atributo não precisa ser criado nas entidades especializadas porque estas herdam o atributo da sua entidade pai.
Tipos de especializações
Na Modelagem Conceitual, há quatro tipos de especializações (figura 2):
- Total;
- Parcial;
- Exclusiva; e
- Não-exclusiva.
Na Especialização Total, toda a entidade na superclasse deve ser um membro de pelo menos uma das subclasses na especialização. Na figura 3, todo cliente OU é uma pessoa física OU uma pessoa jurídica. Não existe a possibilidade de haver um cliente que não seja Pessoa Física OU Pessoa Jurídica.
Na Especialização Parcial, uma entidade na superclasse não precisa necessariamente ser membro de pelo menos uma das subclasses na especialização. Na figura 4, nem todo funcionário é Motorista ou Secretária. Podem haver funcionários que não sejam nem motorista nem secretária.
Finalmente, temos a Especialização Exclusiva e a Especialização Não-exclusiva. Especialização Exclusiva especifica que as subclasses da especialização devem ser mutuamente exclusivas. Uma entidade pode ser membro de, no máximo, uma das subclasses da especialização.
Já a Especialização Não-exclusiva especifica que as subclasses da especialização podem se sobrepor. Uma entidade pode ser membro de mais de uma subclasses da especialização.
Questão de concursos
[CESGRANRIO 2006 Petrobrás – Analista de Sistemas Pleno – Engenharia de Software] Considere as afirmativas abaixo sobre a modelagem entidade-relacionamento. (Marque como CERTO ou ERRADO o texto do item)
[IV] Através de uma especialização é possível atribuir propriedades particulares a um subconjunto das ocorrências de uma entidade genérica.
Comentários:
Através da especialização, é possível atribuir propriedades particulares da entidade genérica (entidade pai) a um subconjunto das ocorrências (entidades especializadas).
Gabarito: CERTO.
[CESGRANRIO 2021 Banco da Amazônia – Técnico Científico] O modelo conceitual de dados apresentado a seguir exibe uma generalização exclusiva e total.
Um banco de dados é composto por um conjunto cujos elementos são instâncias da entidade E presente no diagrama acima.
E={e1, e2, e3, e4, e5, e6, e7, e8, e9, e10}
Nesse cenário, quais subconjuntos de E NÃO violam as propriedades dessa generalização?
(A)
E1={ }
E2={ }
E3={ }
(B)
E1={e1, e2, e3}
E2={e4, e5, e6}
E3={e7, e8, e9}
(C)
E1={e1, e3, e5, e7, e9}
E2={e2, e4, e6, e8, e10}
E3={e3, e6}
(D)
E1={e1, e3, e5, e7, e9}
E2={e2, e4, e6, e8, e10}
E3={ }
(E)
E1={e1, e2, e3, e4, e5, e6, e7, e8, e9}
E2={e10}
E3={e10}
Comentários:
A questão exige a especialização exclusiva e total:
- Na Especialização Total, toda a entidade na superclasse deve ser um membro de pelo menos uma das subclasses na especialização; e
- Especialização Exclusiva especifica que as subclasses da especialização devem ser mutuamente exclusivas. Uma entidade pode ser membro de, no máximo, uma das subclasses da especialização.
Com essa revisão, vamos entender qual é a letra correta:
- A letra A está errada porque é uma especialização parcial:
- As entidades na superclasse não são membros de nenhuma das subclasses;
- A letra B está errada porque é uma especialização parcial:
- Faltou a instância e10 não foi definida em nenhuma subclasse;
- A letra C está errada porque é uma especialização não-exclusiva:
- A instância e3 foi repetida nas subclasses E1 e E3;
- A letra D está correta porque é uma especialização exclusiva e total:
- Cada entidade é membro de uma das subclasses;
- Não houve repetição das entidades nas subclasses;
- A letra E está errada porque é uma especialização não-exclusiva:
- A instância e3 foi repetida nas subclasses E2 e E3.
Gabarito: letra D.
Então é isso!
[]s e até a próxima!
_________________________
Professor Rogerão Araújo
Participe da conversa