Especialização e Generalização em Dados
Conceitos fundamentais sobre especialização e generalização em modelagem de dados, incluindo superclasses, subclasses e herança. Destinado a estudantes de tecnologia e computação.
Cartões · 50
- Generalização
- Processo abstrativo de unir entidades com características comuns em uma superclasse mais ampla e genérica.
- Especialização
- Processo de criar subclasses a partir de uma superclasse, destacando características e comportamentos específicos.
- Superclasse
- Entidade genérica de nível mais alto que agrupa atributos e relacionamentos compartilhados por várias subclasses.
- Subclasse
- Entidade especializada de nível mais baixo que herda características da superclasse e possui atributos próprios.
- Herança de atributos
- Mecanismo pelo qual todas as subclasses adquirem automaticamente as propriedades e atributos definidos na superclasse.
- Herança de relacionamentos
- Regra que determina que uma subclasse também participa dos relacionamentos atribuídos à sua respectiva superclasse.
- Relacionamento É-um (IS-A)
- Vínculo semântico fundamental que expressa que cada instância de uma subclasse é também membro da superclasse.
- Abordagem Top-Down
- Estratégia de modelagem conceitual que parte de uma entidade geral e a refina em especializações sucessivas.
- Abordagem Bottom-Up
- Estratégia de modelagem que identifica entidades específicas prévias e as sintetiza em uma generalização comum.
- Hierarquia de classes
- Estrutura taxonômica em árvore ou grafo que organiza dados do mais abstrato ao mais concreto.
- Restrição de disjunção
- Regra que define se uma instância da superclasse pode pertencer a mais de uma subclasse simultaneamente.
- Especialização disjunta (Disjoint)
- Restrição onde cada entidade da superclasse pode pertencer a no máximo uma das subclasses especializadas.
- Especialização sobreposta (Overlap)
- Restrição onde uma mesma instância da superclasse pode pertencer simultaneamente a duas ou mais subclasses.
- Restrição de completude
- Regra que estabelece se toda ocorrência da superclasse precisa obrigatoriamente estar associada a uma subclasse.
- Especialização total (Total)
- Restrição indicando que toda entidade da superclasse deve obrigatoriamente pertencer a pelo menos uma subclasse.
- Especialização parcial (Partial)
- Restrição indicando que uma entidade da superclasse pode existir sem pertencer a nenhuma das subclasses definidas.
- Especialização total e disjunta
- Cada entidade da superclasse pertence a exatamente uma subclasse, sem omissões nem sobreposições.
- Especialização total e sobreposta
- Cada entidade pertence a pelo menos uma subclasse, podendo acumular papéis em várias delas ao mesmo tempo.
- Especialização parcial e disjunta
- A entidade pode não pertencer a nenhuma subclasse, mas se pertencer a uma, não pode pertencer a outra.
- Especialização parcial e sobreposta
- A entidade pode não estar em nenhuma subclasse ou pode pertencer a múltiplas subclasses simultaneamente.
- Atributo discriminador
- Atributo da superclasse cujo valor identifica explicitamente a qual subclasse a instância pertence.
- Especialização definida por predicado
- Definição de subclasse baseada em uma condição ou regra de validação sobre o valor de atributos da superclasse.
- Especialização definida pelo usuário
- Classificação manual onde o usuário do sistema insere a entidade na subclasse sem uma regra de dados automática.
- Modelo Entidade-Relacionamento Estendido (EER)
- Extensão do modelo ER tradicional que adiciona conceitos de especialização, generalização e categorias.
- Herança múltipla
- Situação em que uma subclasse herda diretamente atributos e comportamentos de mais de uma superclasse distinta.
- Entidade compartilhada (Shared Subclass)
- Subclasse que possui múltiplas superclasses no mesmo esquema conceitual, combinando suas características.
- Categoria ou União (Union Type)
- Coleção de instâncias provenientes de superclasses distintas que representam tipos de dados diferentes.
- Diferença entre Subclasse Compartilhada e Categoria
- A subclasse representa a interseção das superclasses; a categoria representa a união de diferentes tipos.
- Mapeamento em tabela única
- Estratégia relacional que armazena superclasse e todas as subclasses em uma só tabela com colunas nulas.
- Coluna discriminadora relacional
- Campo extra adicionado na tabela única para indicar qual subclasse aquele registro representa.
- Mapeamento em tabelas separadas por subclasse
- Estratégia que cria uma tabela distinta para cada subclasse, duplicando a chave primária e atributos comuns.
- Mapeamento com tabela para superclasse e tabelas para subclasses
- Estratégia relacional normalizada com chave estrangeira apontando das subclasses para a superclasse.
- Polimorfismo em banco de dados
- Capacidade de tratar instâncias de diferentes subclasses de forma uniforme por meio da interface da superclasse.
- Integridade referencial na herança
- Restrição que assegura que uma linha da subclasse sempre aponte para um identificador válido na superclasse.
- Exemplo clássico: Pessoa, Física e Jurídica
- Pessoa atua como superclasse; Pessoa Física e Pessoa Jurídica representam especializações disjuntas.
- Exemplo clássico: Veículo, Carro e Moto
- Veículo reúne placa e ano; Carro especializa com portas e Moto com cilindradas específicas.
- Exemplo clássico: Funcionário e Gerente
- Funcionário é a classe genérica com salário base; Gerente especializa com bônus e equipe associada.
- Redundância de dados na especialização
- Problema evitado pela herança, impedindo que atributos comuns sejam declarados e armazenados repetidamente.
- Notação em triângulo no DER
- Símbolo gráfico tradicional que indica o ponto de bifurcação hierárquica entre superclasse e subclasses.
- Símbolo 'd' no diagrama EER
- Letra inserida no círculo ou triângulo que denota a restrição de disjunção exclusiva entre as subclasses.
- Símbolo 'o' no diagrama EER
- Letra inserida no símbolo hierárquico que denota a possibilidade de sobreposição entre subclasses.
- Linha dupla na especialização
- Convenção gráfica que representa a restrição de participação ou especialização total no diagrama.
- Linha simples na especialização
- Convenção gráfica que representa a restrição de especialização parcial no diagrama conceitual.
- Valores nulos decorrentes de herança
- Desvantagem de usar tabela única, pois colunas exclusivas de subclasses ficam vazias para outros tipos.
- Custo de junção (JOIN) na herança
- Sobrecarga de desempenho ao particionar hierarquias em múltiplas tabelas relacionais normalizadas.
- Acoplamento estrutural na hierarquia
- Dependência direta onde mudanças na superclasse afetam obrigatoriamente todas as subclasses filhas.
- Nível de abstração
- Grau de detalhamento conceitual que aumenta na especialização e diminui na generalização.
- Substituibilidade de Liskov em dados
- Princípio que dita que uma subclasse deve atender a todos os contratos conceituais de sua superclasse.
- Generalização no paradigma orientado a objetos
- Conceito equivalente à herança de classes para reaproveitamento de código e contratos estruturais.
- Vantagem da modelagem hierárquica
- Melhora a clareza conceitual, elimina duplicidades e espelha fielmente as regras de negócio do mundo real.