Aula 22: MER: Especialização Total vs. Parcial

Ao projetar hierarquias, devemos definir se a participação da superclasse na especialização é obrigatória ou opcional. A especialização total (representada por uma linha dupla ligando a superclasse ao triângulo de especialização) indica que toda instância da superclasse deve, obrigatoriamente, pertencer a pelo menos uma das subclasses. Por exemplo, se em uma empresa todo 'Funcionário' deve ser obrigatoriamente ou 'Mensalista' ou 'Horista', temos uma especialização total. Nenhum funcionário pode existir no sistema "puro", sem estar classificado.
A especialização parcial, por sua vez, é representada por uma linha simples. Ela indica que uma instância da superclasse pode não pertencer a nenhuma das subclasses definidas no diagrama. Imagine uma hierarquia onde 'Pessoa' pode ser especializada em 'Engenheiro'. Se a empresa possui pessoas que não são engenheiros (como secretárias ou administradores que não foram mapeados como subclasses), a especialização é parcial. A instância de 'Pessoa' existe por si só sem estar vinculada a uma categoria especializada.
A escolha entre total e parcial depende estritamente das regras de negócio do mini-mundo. Uma especialização total impõe uma restrição de integridade forte: o sistema não permitirá o cadastro de uma entidade genérica "órfã" de categoria. Isso é fundamental em sistemas fiscais ou jurídicos, onde a classificação do objeto define como ele será tratado pelo software e quais cálculos serão aplicados.
Na prática, essas restrições auxiliam na validação dos dados. Durante a implementação no SGBD, a especialização total garante que as tabelas filhas cubram 100% da população da tabela pai. Entender essa nuance impede que dados fiquem em um limbo classificatório, o que geraria erros em relatórios gerenciais e inconsistências no processamento de informações.
Comentários
Postar um comentário