Die Verwendung des ER-Modells für größere Datenmengen führt beim Entwurf eines Datenbankmodells zu großer Komplexität. Um die Komplexität zu minimieren, wurden im ER-Modell Generalisierung, Spezialisierung und Aggregation eingeführt. Diese wurden zur Datenabstraktion verwendet. Dabei wird ein Abstraktionsmechanismus verwendet, um Details einer Reihe von Objekten zu verbergen.
Verallgemeinerung
Bei der Generalisierung werden gemeinsame Eigenschaften aus einer Menge von Entitäten extrahiert und daraus eine verallgemeinerte Entität erstellt. Es handelt sich um einen Bottom-up-Ansatz, bei dem zwei oder mehr Entitäten zu einer übergeordneten Entität verallgemeinert werden können, wenn sie einige Attribute gemeinsam haben.
Java-Referenztypen
Verallgemeinerung Beispiel: STUDENT und FACULTY können auf eine übergeordnete Entität namens PERSON verallgemeinert werden, wie im Diagramm unten gezeigt. In diesem Fall werden gemeinsame Attribute wie P_NAME und P_ADD Teil einer höheren Ebene juristische Person (PERSON) und spezialisiert Attribute werden wie S_FEE Teil einer spezialisierten Einheit (STUDENT).
Spezialisierung
Bei der Spezialisierung wird eine Einheit anhand ihrer Merkmale in Untereinheiten unterteilt. Es handelt sich um einen Top-Down-Ansatz, bei dem die übergeordnete Einheit in zwei oder mehr Einheiten auf niedrigerer Ebene spezialisiert wird Entitäten .
Spezialisierung Beispiel: Eine EMPLOYEE-Entität in einem Mitarbeiterverwaltungssystem kann auf DEVELOPER TESTER usw. spezialisiert werden. In diesem Fall werden allgemeine Attribute wie E_NAME E_SAL usw. Teil einer höheren Entität (EMPLOYEE) und spezialisierte Attribute wie TES_TYPE werden Teil einer spezialisierten Entität (TESTER).
Nachlass
Es ist ein wichtiges Merkmal der Generalisierung und Spezialisierung. Bei der Spezialisierung wird eine übergeordnete Entität in untergeordnete Entitäten unterteilt, die ihre Attribute erben. Bei der Verallgemeinerung werden ähnliche Entitäten auf niedrigerer Ebene zu einer Entität auf höherer Ebene kombiniert, die gemeinsame Attribute enthält. In beiden Fällen ermöglicht die Vererbung, dass untergeordnete Entitäten die Eigenschaften der übergeordneten Entität wiederverwenden können.
- Attributvererbung: Dadurch können Entitäten niedrigerer Ebenen die Attribute von Entitäten höherer Ebenen erben und umgekehrt. Im Diagramm ist die Auto-Entität eine Vererbung der Fahrzeug-Entität, sodass das Auto Attribute des Fahrzeugs erwerben kann. Beispiel: Ein Auto kann das Modellattribut „Fahrzeug“ erhalten.
- Beziehungsvererbung : Unterentitäten erben auch Beziehungen der übergeordneten Entität.
- Vererbung überschreiben : Unterentitäten können ihre eigenen Attribute oder Verhaltensweisen, die sich vom übergeordneten Element unterscheiden, überschreiben oder hinzufügen.
- Beteiligungsvererbung: Die Beteiligungsvererbung in der ER-Modellierung bezieht sich auf die Vererbung von Teilnahmebeschränkungen von einer Entität höherer Ebene (Superklasse) an eine Entität niedrigerer Ebene (Unterklasse). Es stellt sicher, dass Unterklassen dieselben Beteiligungsregeln an Beziehungen einhalten, obwohl Attribute und Beziehungen selbst unterschiedlich vererbt werden.
Beispiel einer Beziehung Beispiel: Im Diagramm hat die Fahrzeugentität eine Beziehung zur Zyklusentität, sie würde jedoch nicht automatisch die Beziehung selbst zur Fahrzeugentität erwerben. Die Beteiligungsvererbung bezieht sich nur auf die Vererbung von Teilnahmebeschränkungen, nicht auf die tatsächlichen Beziehungen zwischen Entitäten.
Aggregation
- Ein ER-Diagramm ist nicht in der Lage, die Beziehung zwischen einer Entität und einer Beziehung darzustellen, was in einigen Szenarien erforderlich sein kann.
- In diesen Fällen wird eine Beziehung mit den entsprechenden Entitäten zu einer übergeordneten Entität zusammengefasst.
- Aggregation ist eine Abstraktion, durch die wir Beziehungen als übergeordnete Entitätsmengen darstellen können.
Aggregation Beispiel: Ein Mitarbeiter, der an einem Projekt arbeitet, benötigt möglicherweise einige Maschinen. Daher ist eine REQUIRE-Beziehung zwischen der Beziehung WORKS_FOR und der Entität MACHINERY erforderlich. Mithilfe der Aggregation wird die Beziehung WORKS_FOR mit ihren Entitäten EMPLOYEE und PROJECT zu einer einzigen Entität aggregiert und die Beziehung REQUIRE zwischen der aggregierten Entität und MACHINERY erstellt.
Darstellung der Aggregation über ein Schema
Führen Sie die folgenden Schritte aus, um die Aggregation in einem relationalen Schema darzustellen:
Warteschlange in Java
1. Erstellen Sie ein Schema für die aggregierte Beziehung
- Dies wird wie ein Entitätssatz behandelt.
- Es umfasst die Primärschlüssel der beteiligten Entitäten in der Basisbeziehung.
- Es enthält auch alle beschreibenden Attribute der Basisbeziehung.
2. Erstellen Sie ein Schema für die übergeordnete Beziehung (Aggregation).
- Dieses Schema umfasst: Den Primärschlüssel des aggregierten Beziehungsschemas.
- Der Primärschlüssel der zugeordneten Entität, auf die er sich bezieht.
- Alle zusätzlichen beschreibenden Attribute dieser Beziehung auf höherer Ebene.