Postagens

Mostrando postagens de julho, 2026

Aula 21: MER: Generalização e Especialização (Herança)

Imagem
A generalização e especialização são conceitos avançados do Modelo Entidade-Relacionamento que permitem lidar com a complexidade de entidades que compartilham características comuns, mas possuem propriedades específicas. Imagine um banco de dados de uma universidade: tanto 'Alunos' quanto 'Professores' possuem nome, CPF e endereço. Em vez de repetir esses atributos em duas entidades distintas, criamos uma entidade genérica chamada 'Pessoa' (superclasse) e especializamos em 'Aluno' e 'Professor' (subclasses). Este conceito é análogo à herança na programação orientada a objetos e é essencial para capturar a semântica correta do mini-mundo. A especialização é o processo de definir um conjunto de subclasses a partir de um tipo de entidade (superclasse). Essas subclasses herdam todos os atributos da superclasse, mas possuem seus próprios atributos locais. Por exemplo, a subclasse 'Aluno' pode ter o atributo 'Matrícula', enquanto 'P...

Aula 20: MER: Relacionamentos Recursivos (Auto-relacionamento)

Imagem
No mundo real, as associações nem sempre ocorrem entre tipos diferentes de objetos; às vezes, uma entidade se relaciona com instâncias da sua própria categoria. Esse fenômeno é chamado de relacionamento recursivo (ou auto-relacionamento). Nessas situações, o mesmo conjunto de entidades participa do relacionamento mais de uma vez, assumindo papéis distintos em cada ponta da associação. Entender esse conceito é vital para modelar hierarquias organizacionais e genealogias complexas. O exemplo mais emblemático de auto-relacionamento é o de Supervisão no conjunto de entidades 'Empregado'. Em uma empresa, um empregado pode ser o supervisor de outros empregados. Aqui, a entidade 'Empregado' participa duas vezes: uma no papel de supervisor e outra no papel de supervisionado. No diagrama, isso é representado por uma linha que sai do losango do relacionamento e volta para o mesmo retângulo da entidade. Para evitar confusões no diagrama, utilizamos os nomes de papéis (role names)....