Werkzeuge |
Entity-Relationship-ModellDas Entity-Relationship-Modell, auch ER-Modell oder ERM, deutsch Gegenstands-Beziehungs-Modell, dient dazu, im Rahmen der Datenmodellierung einen Ausschnitt der realen Welt zu beschreiben. Das ER-Modell besteht aus einer Grafik (siehe unten) und einer Beschreibung der darin verwendeten Elemente, wobei Dateninhalte (d.h. die Bedeutung bzw. Semantik der Daten) und Datenstrukturen dargestellt werden. Es dient sowohl in der konzeptionellen Phase der Anwendungsentwicklung der Verständigung zwischen Anwendern und Entwicklern (dabei wird nur das Was, also die Sachlogik, und nicht das Wie, also die Technik, behandelt), als auch in der Implementierungsphase als Grundlage für das Design der Datenbank. Das ER-Modell ist der Standard für die Datenmodellierung, auch wenn es unterschiedliche grafische Darstellungsformen gibt. Das ER-Modell wurde 1976 von Peter Chen in seiner Veröffentlichung The Entity-Relationship Model vorgestellt. Die Beschreibungsmittel für Generalisierung und Aggregation wurden 1977 von Smith and Smith eingeführt. Danach gab es einige Weiterentwicklungen, so Ende der 1980er Jahre durch Wong und Katz. Das ER-Modell war das erste Beschreibungsmittel zur Erstellung von konzeptionellen Schemata.
[Bearbeiten] Begriffe
Beispiele für ERDs in Chen-Notation
Grundlage der Entity-Relationship-Modelle ist die Typisierung von Objekten und deren Beziehungen untereinander:
Bei der Datenmodellierung wird in den Diskussionen und Beispielen oft mit den konkreten Objekten gearbeitet (Entitäten und Beziehungen). Das Modell selbst besteht aber immer ausschließlich aus Entitätstypen und Beziehungstypen. Vielleicht wird aus diesem Grund oftmals nicht sauber zwischen den Begriffen unterschieden. [Bearbeiten] Beziehungen mit spezieller SemantikDie inhaltliche Bedeutung der Beziehungstypen zwischen Entitätstypen kommt im ER-Diagramm lediglich durch einen kurzen Text in der Raute (meistens ein Verb) bzw. als Beschriftung der Kante zum Ausdruck, wobei es dem Modellierer freigestellt ist, welche Bezeichnung er vergibt. Nun gibt es Beziehungen mit spezieller Semantik, die relativ häufig bei der Modellierung vorkommen. Daher hat man für diese Beziehungstypen spezielle Bezeichner und grafische Symbole definiert. Spezialisierung/Generalisierung und Zerlegung/Aggregation sind zwei ergänzende Beschreibungsmittel mit einer speziellen Semantik. Mit diesen beiden speziellen Beziehungen kann die Realwelt verfeinert/vergröbert modelliert werden. Mit fest definierten Namen und speziellen grafischen Symbolen wird gezeigt, dass es sich um semantisch vorbesetzte Beziehungen handelt. [Bearbeiten] Spezialisierung und Generalisierung mittels „is-a“-BeziehungBei der Spezialisierung wird ein Entitätstyp als Teilmenge eines anderen Entitätstyps deklariert, wobei sich die Teilmenge (spezialisierte Menge) durch besondere Eigenschaften (spezielle Attribute und/oder Beziehungen) gegenüber der übergeordneten (generalisierten Menge) auszeichnet. Da es sich bei einem Einzelobjekt einer spezialisierten Menge um dasselbe Einzelobjekt der generalisierten Menge handelt, gelten alle Eigenschaften – insbesondere die Identifikation – und alle Beziehungen des generalisierten Einzelobjektes auch für das spezialisierte Einzelobjekt. Beispiel zur „is-a“-Beziehung: Dackel is-a Hund Die Spezialisierung erhält man durch Aufteilung, während die Generalisierung durch Zusammenführen von gleichen Einzelobjekten mit gemeinsamen Eigenschaften und Beziehungen, die in verschiedenen Entitys vorkommen, in einer neuen Entity begründet ist. So können z. B. Kunden und Lieferanten zusätzlich zu Geschäftspartnern zusammengeführt werden, da Name, Anschrift, Bankverbindung etc. sowohl bei den Kunden als auch bei den Lieferanten vorkommen. [Bearbeiten] Aggregation und Zerlegung mittels „is-part-of“-BeziehungWerden mehrere Einzelobjekte (z. B. Person und Hotel) zu einem eigenständigen Einzelobjekt (z. B. Reservierung) zusammengefasst, dann spricht man von Aggregation. Dabei wird das übergeordnet eigenständige Ganze Aggregat genannt; die Teile, aus denen es sich zusammensetzt, heißen Komponenten. Aggregat und Komponenten werden als Entitätstyp deklariert. Bei Aggregation/Zerlegung wird zwischen Rollen- und Mengenaggregation unterschieden: Beispiel zur „is-part-of“-Beziehung: Fußballmannschaft is-part-of Fußballspiel und Spielort is-part-of Fußballspiel und in anderer Leserichtung: Fußballspiel besteht-aus Fußballmannschaft und Spielort. Eine Mengenaggregation liegt vor, wenn das Aggregat durch Zusammenfassung von Einzelobjekten aus genau einer Komponente entsteht. Hier liegt ein 1:cN-Beziehung vor. Beispiel zur Mengenaggregation: Fußballspieler is-part-of Fußballmannschaft [Bearbeiten] ER-DiagrammeDie grafische Darstellung von Entitätstypen und Beziehungstypen wird Entity-Relationship-Diagramm (ERD) oder ER-Diagramm genannt. Es sind unterschiedliche Darstellungsformen in Gebrauch. Für den Entitätstyp wird meistens ein Rechteck verwendet, der Beziehungstyp meistens in Form einer Verbindungslinie mit besonderen Linienenden oder Beschriftungen, die die Kardinalitäten des Beziehungstyps darstellen. Es gibt heute eine Vielzahl unterschiedlicher Notationen, die sich unter anderem in Klarheit, Umfang der grafischen Sprache, Unterstützung durch Standards und Werkzeuge unterscheiden. Im folgenden finden sich einige wichtige Beispiele, die vor allem deutlich machen, dass bei allen grafischen Unterschieden die Kernaussage der ER-Diagramme nahezu identisch ist. Von besonderer − zum Teil historischer − Bedeutung sind unter anderem:
Alle nebenstehenden Notationen drücken auf ihre Art den folgenden Sachverhalt aus:
Bis auf das Chen-Diagramm wird diese Aussage ergänzt um:
[Bearbeiten] Einsatz in der PraxisDas ER-Modell kann (und soll) bei der Erstellung von Datenbanken genutzt werden. Hierbei wird mit Hilfe von ER-Modellen zunächst die Konzeption der Datenbank vorgenommen, auf deren Grundlage dann die Implementierung der Datenbank erfolgt. Die Umsetzung der in der Realwelt erkannten Objekte und Beziehungen in ein Datenbank-Schema erfolgt dabei in mehreren Schritten:
All dieses lässt sich in einem ER-Modell darstellen. Weiter sind folgende Schritte notwendig, deren Ergebnis meistens jedoch nicht grafisch dargestellt wird (so z. B. in der obigen Grafik):
[Bearbeiten] Überführung in ein relationales ModellDie Überführung eines Entity-Relationship-Modells in ein relationales Modell erfolgt in 7 Schritten:
Für jeden starken Entitätstyp wird eine Relation R mit den Attributen
Für jeden schwachen Entitätstyp wird eine Relation R erstellt mit den Attributen
Für einen 1:1-Beziehungstyp der Entitätstypen T, S wird eine der beiden Relationen um den Fremdschlüssel für die jeweils andere Relation erweitert.
Für den 1:N-Beziehungstyp der Entitätstypen T, S wird die mit der Kardinalität N eingehende Relation T um den Fremdschlüssel der Relation S erweitert.
Für jeden N:M-Beziehungstyp wird eine neue Relation R mit den Attributen
Für jedes mehrwertige Attribut in T wird eine Relation R mit den Attributen
Für jeden Beziehungstyp mit einem Grad > 2 wird eine Relation R erstellt mit den Attributen [Bearbeiten] Siehe auch[Bearbeiten] Literatur
|