Aggregazione di generalizzazione

Il modello ER ha il potere di esprimere le entità del database in modo gerarchico concettuale. Man mano che la gerarchia aumenta, generalizza la visione delle entità e, man mano che andiamo in profondità nella gerarchia, ci fornisce i dettagli di ogni entità inclusa.

Si chiama salire in questa struttura generalization, in cui le entità vengono riunite per rappresentare una visione più generalizzata. Ad esempio, un particolare studente di nome Mira può essere generalizzato insieme a tutti gli studenti. L'entità deve essere uno studente e, inoltre, lo studente è una persona. Viene chiamato il contrariospecialization dove una persona è uno studente e quello studente è Mira.

Generalizzazione

Come accennato in precedenza, il processo di generalizzazione delle entità, in cui le entità generalizzate contengono le proprietà di tutte le entità generalizzate, è chiamato generalizzazione. Nella generalizzazione, un numero di entità vengono riunite in un'unica entità generalizzata in base alle loro caratteristiche simili. Ad esempio, piccione, passero domestico, corvo e colomba possono essere generalizzati come uccelli.

Specializzazione

La specializzazione è l'opposto della generalizzazione. Nella specializzazione, un gruppo di entità è suddiviso in sottogruppi in base alle loro caratteristiche. Prendiamo ad esempio un gruppo "Persona". Una persona ha nome, data di nascita, sesso, ecc. Queste proprietà sono comuni a tutte le persone, gli esseri umani. Ma in un'azienda, le persone possono essere identificate come dipendenti, datori di lavoro, clienti o fornitori, in base al ruolo che svolgono nell'azienda.

Allo stesso modo, in un database scolastico, le persone possono essere specializzate come insegnanti, studenti o personale, in base al ruolo che svolgono nella scuola come entità.

Eredità

Usiamo tutte le caratteristiche di cui sopra di ER-Model per creare classi di oggetti nella programmazione orientata agli oggetti. I dettagli delle entità sono generalmente nascosti all'utente; questo processo noto comeabstraction.

L'ereditarietà è una caratteristica importante della generalizzazione e della specializzazione. Consente alle entità di livello inferiore di ereditare gli attributi delle entità di livello superiore.

Ad esempio, gli attributi di una classe Person come nome, età e sesso possono essere ereditati da entità di livello inferiore come Studente o Insegnante.