trabalho 2 de base de dados
– é o processo de de definição do conjunto das subclasses de uma entidade-tipo
(superclasse da especialização)
– e.g. {Secretária, Engenheiro, Técnico} especializa Empregado com base no tipo de trabalho.
– podemos ter várias especializações da mesma entidade-tipo com base em diferentes características.
– Podemos associar atributos específicos (extra) a cada subclasse
– estabelecer relacionamentos-tipo específicos entre uma subclasse e outras entidades-tipo ou outras subclasses
Generalização: resultado da união de dois ou mais conjuntos CLIENTE de entidades de nível mais baixo produzindo um conjunto de entidades de nível mais alto.
Generalização: processo funcionalmente inverso da especialização.
– eliminam-se as diferenças entre várias entidades-tipo, identificam-se as caracteristicas comuns que passarão a caracterizar uma nova superclasse da qual as entidades-tipo originais são subclasses especiais.
Tipos de Especialização/Generalização
• Especialização definida-por-atributo
– quando a divisão em subclasses se basei numa condição de membro
– e.g. condição tipoTrabalho=“secretária” determina quais dos empregados vão pertencer à subclasse Secretária.
• Especialização definida-por-utilizador
– quando não existe a condição.
• Especialização disjunta
– quando as subclasses são disjuntas, i.e. cada entidade pode ser membro de no máximo uma subclasse de especialização.
• Especialização com sobreposição
– quando a mesma entidade pode pertencer a mais do que uma subclasse, e.g. a superclasse Pessoa pode decompor-se em subclasses Empregado, Estudante,
Licenciado (e.g. um assistente é um empregado da universidade, é licenciado e é aluno de doutoramento)
Especialização Total (linhas duplas nos diagramas)
– quando toda a entidade de uma superclasse tem de ser membro de alguma subclasse.
– e.g.