logo

Generalització, especialització i agregació en el model d'ER

L'ús del model ER per a dades més grans crea molta complexitat mentre es dissenya un model de base de dades. Per tant, per tal de minimitzar la complexitat, l'especialització i l'agregació de generalització es van introduir al model ER. S'han utilitzat per a l'abstracció de dades. En què s'utilitza un mecanisme d'abstracció per ocultar detalls d'un conjunt d'objectes. 

Generalització

La generalització és el procés d'extreure propietats comunes d'un conjunt d'entitats i crear-ne una entitat generalitzada. És un enfocament de baix a dalt en què dues o més entitats es poden generalitzar a una entitat de nivell superior si tenen alguns atributs en comú.

Generalització Especialització i Agregació en Model ER' title=Generalització

Exemple: L'ESTUDENT i el FACULTAT es poden generalitzar a una entitat de nivell superior anomenada PERSONA, tal com es mostra al diagrama següent. En aquest cas, els atributs comuns com P_NAME i P_ADD formen part d'un nivell superior entitat (PERSONA) i especialitzat atributs com S_FEE formen part d'una entitat especialitzada (ESTUDENT). 



Especialització

En l'especialització una entitat es divideix en subentitats en funció de les seves característiques. És un enfocament de dalt a baix on l'entitat de nivell superior està especialitzada en dos o més nivells inferiors entitats .

Generalització Especialització i Agregació en Model ER' loading='lazy' title=Especialització

Exemple: una entitat EMPLOYEE en un sistema de gestió d'empleats es pot especialitzar en DEVELOPER TESTER, etc. En aquest cas, els atributs comuns com E_NAME E_SAL, etc. formen part d'una entitat superior (EMPLOYEE) i els atributs especialitzats com TES_TYPE passen a formar part d'una entitat especialitzada (TESTER). 

10 per cent de 60

Herència

És una característica important de la generalització i l'especialització. En l'especialització, una entitat de nivell superior es divideix en subentitats de nivell inferior que hereten els seus atributs. En generalització, entitats de nivell inferior similars es combinen en una entitat de nivell superior que conté atributs comuns. En ambdós casos, l'herència permet que les subentitats reutilitzin les propietats de l'entitat mare.

  1. Herència d'atributs: Permet que les entitats de nivell inferior heretin els atributs d'entitats de nivell superior i viceversa. Al diagrama, l'entitat del cotxe és una herència de l'entitat del vehicle, de manera que el cotxe pot adquirir els atributs del vehicle. Exemple: el cotxe pot adquirir l'atribut Model del vehicle.
  2. Herència de relació : les subentitats també hereten relacions de l'entitat mare.
  3. L'herència d'anul·lació : les subentitats poden substituir o afegir els seus propis atributs o comportaments diferents del pare.
  4. Herència de participació: L'herència de participació en el modelatge ER es refereix a l'herència de les restriccions de participació d'una entitat de nivell superior (superclasse) a una entitat de nivell inferior (subclasse). Assegura que les subclasses s'adhereixen a les mateixes regles de participació en les relacions, encara que els atributs i les relacions s'hereten de manera diferent.
Generalització Especialització i Agregació en Model ER' loading='lazy' title=Exemple de relació

Exemple: Al diagrama, l'entitat Vehicle té una relació amb l'entitat Cicle, però no adquiriria automàticament la relació amb l'entitat Vehicle. L'herència de participació només es refereix a l'herència de les restriccions de participació, no a les relacions reals entre entitats.

Agregació

  • Un diagrama ER no és capaç de representar la relació entre una entitat i una relació que pot ser necessària en alguns escenaris.
  • En aquests casos, una relació amb les seves entitats corresponents s'agrega en una entitat de nivell superior.
  • L'agregació és una abstracció mitjançant la qual podem representar les relacions com a conjunts d'entitats de nivell superior.
Generalització Especialització i Agregació en Model ER' loading='lazy' title=Agregació

Exemple: un empleat que treballa en un projecte pot necessitar una mica de maquinària. Per tant, cal una relació REQUIRE entre la relació WORKS_FOR i l'entitat MACHINERY. Utilitzant la relació WORKS_FOR d'agregació amb les seves entitats EMPLOYEE i PROJECT s'agrega en una sola entitat i es crea una relació REQUIRE entre l'entitat agregada i MACHINERY.

Representació de l'agregació via esquema

Per representar l'agregació en un esquema relacional, seguiu aquests passos:

1. Creeu un esquema per a la relació agregada

  • Això es tractarà com un conjunt d'entitats.
  • Inclou les claus primàries de les entitats participants en la relació base.
  • També inclou qualsevol atribut descriptiu de la relació base.

2. Crea un esquema per a la relació de nivell superior (agregació)

  • Aquest esquema inclou: La clau primària de l'esquema de relació agregada.
  • La clau primària de l'entitat associada amb la qual es relaciona.
  • Qualsevol atribut descriptiu addicional d'aquesta relació de nivell superior.