- Entity-Relationship-Modell
-
Das Entity-Relationship-Modell, kurz ER-Modell oder ERM (deutsch etwa Gegenstand-Beziehung-Modell; diese Bezeichnung wird aber selten benutzt) dient dazu, im Rahmen der semantischen Datenmodellierung einen Ausschnitt der realen Welt zu beschreiben. Das ER-Modell besteht aus einer Grafik (ER-Diagramm, Abk. ERD) und einer Beschreibung der darin verwendeten Elemente, wobei Dateninhalte (d. h. die Bedeutung oder Semantik der Daten) und Datenstrukturen dargestellt werden.
Ein ER-Modell 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 – meist relationalen – Datenbank.
Der Einsatz von ER-Modellen ist der De-facto-Standard für die Datenmodellierung, auch wenn es unterschiedliche grafische Darstellungsformen für Datenmodelle 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 mehrere Weiterentwicklungen, so Ende der 1980er Jahre durch Wong und Katz.
Inhaltsverzeichnis
Begriffe
Grundlage der Entity-Relationship-Modelle ist die Typisierung von Objekten, ihrer Beziehungen untereinander und der über sie zu führenden Informationen ("Attribute").
Grundlegende Komponenten
In Diskussionen, Beispielen und Konzepttexten wird auf Objekte und Gegebenheiten der realen Welt (im Betrachtungskontext) Bezug genommen; Beispiele: der Kunde bestellt ..., ist das Konto überzogen, dann .... Diese werden genannt:
- Entität (Entity): individuell identifizierbares Objekt der Wirklichkeit; z. B. der Angestellte Müller, das Projekt 3232
- Beziehung (Relationship): Verknüpfung / Zusammenhang zwischen zwei oder mehreren Entitäten; z. B. Angestellter Müller leitet Projekt 3232)
- Eigenschaft (engl. attribute): Was über eine Entität (im Kontext) von Interesse ist; z. B. das Eintrittsdatum des Angestellten Müller.
Im Rahmen der Modellierung werden aus den vorgenannten Sachverhalten gleichartige Typen gebildet. Alle identifizierten Typ-Ausprägungen werden im Modell exakt definiert und beschrieben. Diese Typen unterscheiden sich nach:
- Entitätstyp: Typisierung gleichartiger Entitäten z. B. Angestellter, Projekt, Buch, Autor, Verlag
- Beziehungstyp: Typisierung gleichartiger Beziehungen; z. B. Angestellter leitet Projekt
- Attribut: Typisierung gleichartiger Eigenschaften, z. B. Nachname, Vorname und Eintrittsdatum für den Entitätstyp Angestellter. Das Attribut oder die Attributkombination, deren Wert(e) die Entität eindeutig beschreiben, d. h. diese identifizieren, heißen identifizierende(s) Attribut(e), zum Beispiel ist das Attribut Projektnummer identifizierend für den Entitätstyp Projekt.
Besondere Sachverhalte
Zur Beschreibung und Darstellung besonderer Sachverhalte kennt die ER-Modellierung folgende Konstrukte:
- Starker Entitätstyp: Die Identifikation einer Entität ist durch ein oder mehrere Werte von Attributen des gleichen Entitätstyps möglich; so ist z. B. die Auftragsnummer für den Entitätstyp Auftrag identifizierend.
- Schwacher Entitätstyp: Zur Identifikation einer solchen Entität ist ein Attributwert einer anderen mit der schwachen Entität in Beziehung stehenden Entität starken Typs erforderlich; so ist z. B. für die Identifikation des schwachen Entitätstyps Auftragsposition neben der Positionsnummer die Auftragsnummer des anderen starken Entitätstyps Auftrag erforderlich. In Erweiterungen des ER-Modells wie bspw. dem SERM werden Schwacher Entitätstyp und dazugehöriger Beziehungstyp zu einem sogenannten ER-Typen zusammengezogen, wodurch Diagramme kompakter werden.
- Kardinalität: Die Kardinalität legt (auf der Ebene Beziehungstyp) für jeden der beteiligten Entitätstypen fest, an wie vielen konkreten Beziehungen (dieses Typs) seine Entitäten beteiligt sein können oder müssen. Zur Darstellung der Kardinalität wurden verschiedene Notationsformen entwickelt, von denen Modellierungswerkzeuge meist eine bestimmte unterstützen.
- Reflexive (selbstbezügliche) Beziehung: Beziehung zwischen einzelnen Entitäten ein und desselben Entitätstyps, somit ein Beziehungstyp zwischen dem selben Entitätstyp (zum Beispiel die Baumstruktur einer Aufbauorganisation durch „Organisationseinheit gliedert sich in Organisationseinheit“ und die Netzstruktur einer Stückliste durch „Teil wird verwendet in Teil“). Synonym: Rekursive Beziehung.
- Grad oder Komplexität eines Beziehungstyps: Anzahl der Entitätstypen, die an einem Beziehungstyp beteiligt sind. Die Regel ist der Grad 2 (binärer Beziehungstyp); selten tritt der Grad 3 (ternärer Beziehungstyp) oder ein höherer Grad auf. Ternäre und höhergradige Beziehungstypen lassen sich näherungsweise durch Einführung eines neuen Entitätstyps (der dem ursprünglichen Beziehungstyp entspricht) auf binäre Beziehungstypen zurückführen. Beispiel: Mitarbeiter betreut Lieferant (für Produktgruppe); neuer Entitätstyp Lieferantenbetreuung mit Beziehungen zu den drei ursprünglichen Entitätstypen. Ein solches Vorgehen kann aber verlustbehaftet sein, d. h. es gibt Sachverhalte, die nur durch mehrstellige Beziehungstypen exakt darstellbar sind.
- Beziehungsattribute: Üblicherweise haben Beziehungstypen keine Attribute, da sie lediglich die beteiligten Entitätstypen miteinander verbinden. Sind jedoch zusätzlich Attribute erforderlich, so kann aus dem Beziehungstyp – wie bei höhergradigen Beziehungen – ein eigenständiger Entitätstyp mit Beziehungstypen zu den ursprünglich beteiligten Entitätstypen geschaffen werden. Dem neuen (schwachen) Entitätstyp wird dann das Attribut zugeordnet (zum Beispiel Projektbeteiligungsgrad beim Beziehungstyp Angestellter arbeitet am Projekt). Je nach angewendeter Modellierungsmethodik können auch „attributive“ Beziehungen formuliert werden, häufig wird jedoch ersatzweise das Bilden neuer Entitätstypen praktiziert.
Beziehungen mit spezieller Semantik
Die inhaltliche Bedeutung der Beziehungstypen zwischen Entitätstypen kommt im ER-Diagramm lediglich durch einen kurzen Text in der Raute (meistens ein Verb) oder 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 und Generalisierung sowie Aggregation und Zerlegung sind ergänzende Beschreibungsmittel mit einer speziellen Semantik. Mit diesen beiden speziellen Beziehungstypen können die Gegebenheiten der Realwelt exakter und ihrer tatsächlichen Bedeutung entsprechend modelliert und dargestellt werden. Mit fest definierten Namen und speziellen grafischen Symbolen wird gezeigt, dass es sich um semantisch vorbesetzte Beziehungen mit speziellen Regeln handelt.
Die derart, meist nur in semantischen Datenmodellen speziell modellierten Entitäts- und Beziehungstypen können datenbanktechnisch auf unterschiedliche Weise implementiert werden, etwa (modellierungs-identisch) als jeweils eigene Tabellen oder in gemeinsamen Tabellen mit die Sonderbeziehung kennzeichnenden Kommentaren oder Attributbezeichnungen. Die Umsetzungsentscheidung hierüber erfolgt (wie auch die Bestimmung der Kardinalität für diese speziellen Beziehungen) in den Aktivitäten der Datenbankmodellierung .
Spezialisierung und Generalisierung mittels is-a-Beziehung
Bei der Spezialisierung wird ein Entitätstyp als Teilmenge eines anderen Entitätstyps erkannt und deklariert, wobei sich die spezialisierte Entitätsmenge durch besondere Eigenschaften (nur für sie geltende Attribute und/oder Beziehungen) gegenüber der übergeordneten, generalisierten Menge auszeichnet. Da es sich bei einem Einzelobjekt der spezialisierten Menge und der generalisierten Menge um "dasselbe" Einzelobjekt handelt, gelten alle Eigenschaften – insbesondere die Identifikation – und alle Beziehungen des generalisierten Einzelobjektes auch für das spezialisierte Einzelobjekt.
Beziehungstypen der Art "Spezialisierung / Generalisierung" werden durch is-a / can-be (‚ist ein‘ / ‚kann ein … sein‘) beschrieben. Für is-a wird gelegentlich auch a-kind-of (‚eine Art …‘) benutzt. Es handelt sich hierbei um 1:c-Beziehungen.Beispiel zur is-a-Beziehung: Flugreise is-a Reise
und in anderer Leserichtung: Reise can-be Flugreise,
mit Eigenschaften wie Reisedatum, Reisepreis (bei Reise) und Beziehungen zu Entitätstyp Flug (bei Flugreise).Die hier beschriebene is-a-Beziehung (zwischen identischen Einzelobjekten) darf nicht mit der is-element-of-Beziehung (der Zugehörigkeit eines Einzelobjekts zu einem anderen) verwechselt werden, für die gelegentlich auch die Schreibweise is-a verwendet wird, wie z. B. Flug is-a Flugreise (was semantisch falsch wäre).
Für eine Spezialisierung können ggf. auch mehrere spezialisierte Entitätstypen deklariert werden. Dabei muss festgelegt werden, ob Einzelobjekte des generalisierten Entitätstyps bei den Spezialisierungen fehlen dürfen und ob sie nur alternativ in einer spezialisierten Entitätsmenge oder in mehreren spezialisierten Entitätsmengen gleichzeitig auftreten können. Beispiel: Kunde ist Privatkunde oder Firmenkunde; eine der Beziehungen muss vorhanden sein.
Während Spezialisierungen durch Bildung von Teil-Entitätsmengen aus gegebenen Entitäten entstehen, werden bei der Generalisierung gemeinsame Eigenschaften und Beziehungen, die in verschiedenen Entitätstypen vorkommen, zu einem neuen Entitätstyp zusammengefasst. 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.
Der entstehende Generalisierungs-Beziehungstyp geht in diesem Beispiel vom Geschäftspartner aus und führt zu den beiden Entitätstypen Kunde und Lieferant. Ob die Beziehung in konkreten Einzelfällen nur für Entitäten aus nur einem der beiden oder aus beiden Entitätstypen auftreten darf / kann / muss, muss festgelegt werden.Bei Bedarf können für denselben Entitätstyp mehrere Spezialisierungen / Generalisierungen auftreten. Beispiel: Mitarbeiter kann spezialisiert werden zu externer MA oder interner MA (disjunkt) und zusätzlich zu 'leitender Mitarbeiter'. Auch können spezialisierte Entitätstypen nochmals (fortgesetzt, kaskadiert) spezialisiert / generalisiert werden.
Die visuelle Darstellung von Spezialisierungen und Generalisierungen ist im ursprünglichen ERM-Diagramm nicht vorgesehen, wird aber in Erweiterungen wie z. B. dem SERM verwendet.
Aggregation und Zerlegung mittels is-part-of-Beziehung
Werden 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:
Eine Rollenaggregation liegt vor, wenn es mehrere rollenspezifische Komponenten gibt, diese zu einem Aggregat zusammengefasst werden und es sich um eine 1:c-Beziehung handelt.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 eine 1:cN-Beziehung vor.
Beispiel zur Mengenaggregation: Fußballspieler is-part-of Fußballmannschaft
und in anderer Leserichtung: Fußballmannschaft besteht aus (mehreren, N) Fußballspielern.Inhalte des ER-Modells
ER-Diagramme
Die grafische Darstellung von Entitätstypen und Beziehungstypen wird Entity-Relationship-Diagramm (ERD) oder ER-Diagramm genannt. Dies sind Übersichten oder Grafiken mit – je nach Modellgröße – häufig zwischen 10 und 40 Entitäten. Durch die Darstellung all ihrer Beziehungen kann ein komplex erscheinendes, netzartiges Gebilde entstehen. Bei sehr großen Modellen werden aus Gründen der Übersichtlichkeit i. d. R. Teilmodelle (Ausschnitte aus dem Gesamtmodell) grafisch dargestellt. Umgangssprachlich werden ERDs z. T. vereinfachend „Datenmodell“ genannt; im weiteren Sinn versteht man aber hierunter auch die textlichen Beschreibungen.
Notationsformen in ER-Diagrammen:
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:
- die Chen-Notation von Peter Chen, dem Entwickler der ER-Diagramme, 1976; erweitert durch die Modifizierte Chen-Notation (MC-Notation)
- die IDEF1X als langjähriger De-Facto-Standard bei US-amerikanischen Behörden;
- die Bachman-Notation von Charles Bachman als weit verbreitete Werkzeug-Diagramm-Sprache;
- die Martin-Notation (Krähenfuß-Notation) als weit verbreitete Werkzeug-Diagramm-Sprache (Information Engineering);
- die (min, max)-Notation von Jean-Raymond Abrial, 1974.
- UML als Standard, den selbst ISO in eigenen Normen als Ersatz für ER-Diagramme verwendet. Attribute (im Schaubild nicht zu sehen) können als Klassenattribute dargestellt werden; Relationship-Attribute hingegen werden mit Hilfe von Assoziationsklassen modelliert.
Alle nebenstehenden Notationen drücken auf ihre Art den folgenden Sachverhalt aus:
- Eine Person ist in maximal einem Ort geboren. Ein Ort ist Geburtsort von beliebig vielen Personen.
- Ein Ort kann ein Geburtsort sein, muss es aber nicht sein.
Bis auf das Chen-Diagramm wird diese Aussage ergänzt um:
- Eine Person muss in einem Ort geboren sein, oder ist in genau einem Ort geboren. Beachte: Hierbei wird faktisch unterstellt, dass der Geburtsort jeder Person bekannt ist – oder dass es einen Ort 'Unbekannt' gibt.
Die (min, max)-Notation unterscheidet sich grundlegend von den anderen Notationsformen im Hinblick auf die Bestimmung der Kardinalität und den Ort, an dem die Häufigkeitsangabe im ER-Diagramm vorgenommen wird. Bei allen anderen Notationen wird die Kardinalität eines Beziehungstyps dadurch bestimmt, dass für eine Entität des einen Entitätstyps nach der Anzahl der möglichen beteiligten Entitäten des anderen Entitätstyps gefragt wird. Bei der Min-Max-Notation hingegen ist die Kardinalität anders definiert. Hierbei wird für jeden der an einem Beziehungstyp beteiligten Entitätstyp nach der kleinst- und größtmöglichen Anzahl der Beziehungen gefragt, an denen eine Entität des jeweiligen Entitätstyps beteiligt ist. Das jeweilige Min-Max-Ergebnis wird bei dem Entitätstyp notiert, für den die Frage gestellt worden ist.
Der zahlenmäßige Unterschied zwischen Min-Max-Notation und allen anderen Notationen tritt erst bei ternären und höhergradigen Beziehungstypen hervor. Bei binären Beziehungstypen ist der Unterschied lediglich in einer Vertauschung der Kardinalitätsangaben ersichtlich.
Kardinalitätsnotationen mit 'n' ohne Min-Max-Angabe bergen ein semantisches Defizit. Denn ihnen fehlt die Angabe, ob der Wert 'n' die '0' einschließt oder nicht, die Beziehung also optional auftreten kann. Ob z. B. bei einer 1:n-'leitet'-Beziehung zwischen Mitarbeiter und Projekt ein Projekt, wenn auch nur temporär, ohne Leitungs-Mitarbeiter sein darf, bleibt offen – und muss explizit verbal definiert werden.
Beschreibung der Modellkomponenten
Während das ER-Diagramm die im Kontext relevanten Entitäten und ihre Beziehungen (auf der Typ-Ebene) zeigt, werden Details über jeweils eigene Beschreibungen festgehalten. Die Dokumentation dient dem Zweck, die erarbeiteten Sachverhalte einheitlich und klar verstehen und kommunizieren zu können (einheitliche Begriffe!) und für die nachfolgenden Projektphasen der Implementierung die aus konzeptioneller Sicht möglichen Angaben bereitzustellen.
Beispiele für mögliche Inhalte:
- Für Entitäten: Name, Kurzname, Definition, Beispiel(e), weitere Erläuterungen, geschätzte Mengen, neu oder schon vorhanden, ...
- Für Beziehungen: Kurzbezeichnung, beteiligte Entitätstypen, Beziehungsaussage_1 ('MA leitet Projekt'), Beziehungsaussage_2 (in umgekehrter Richtung), Kardinalität, evtl. weitere Bedingungen für die Beziehung ('nur bei Privatpersonen'), ...
- Für Attribute: Name, Kurzname, Definition, Beispiel, weitere Erläuterungen, Informationsformat (z. B. Zahl, 2 Dezimalstellen), Wertebereich (von 1-99), für Entity identifizierend (J/N/teilweise), ...
Konkret werden die Inhalte durch eingesetzte Modellierungswerkzeuge oder auch organisationsspezifisch (z. B. über Dokumenten-Templates) festgelegt. Falls im ER-Modell Objekte vorkommen, die in der Organisation bereits existieren, werden diese üblicherweise in der schon vorhandenen Form verwendet (Kopien ...). Umgekehrt gehen neue Objekte aus dem ERM nach Projektende in das zentrale Datenmodell des Unternehmens ein.
Einsatz des ERM beim Datenbankdesign
Das ER-Modell kann beim Design von Datenbanken genutzt werden. Hierbei wird, das semantische ERM erweiternd oder auf dessen Basis als neues ER-Modell zunächst die Konzeption der Datenbank erstellt, auf deren Grundlage dann die Implementierung der Datenbank erfolgt. Die Umsetzung der in der Realwelt erkannten (und modellierten) Datensachverhalte in ein Datenbankschema erfolgt dabei in mehreren Schritten:
- Erkennen und Zusammenfassen von Entitäten zu Entitätstypen durch Abstraktion (z. B. Die Kollegen Fritz Maier und Paul Lehmann und viele weitere zum Entitätstyp Angestellter);
- Erkennen und Zusammenfassen von Beziehungen zwischen je zwei Objekten zu einem Beziehungstyp (Beispiel: Der Angestellte Paul Lehmann leitet das Projekt Verbesserung des Betriebsklimas, und der Angestellte Fritz Maier leitet das Projekt Effizienzsteigerung in der Verwaltung. Diese Feststellungen führen zum Beziehungstyp „Angestellter leitet Projekt“.);
- Bestimmung der Kardinalitäten, d. h. der Häufigkeit des Auftretens (Wie z. B. Ein Projekt wird immer von genau einem Angestellten geleitet, ein Angestellter darf mehrere Projekte leiten).
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):
- Bestimmung und detailliertere Beschreibung der relevanten Attribute der einzelnen Entitätstypen – wie Feldlänge, Wertebereiche usw.
- Bestimmen geeigneter Attribute eines Entitätstyps als identifizierende Attribute, so genannte Schlüsselattribute. Ggf. sind 'künstliche Schlüssel' zu definieren.
- Generierung des Schemas einer relationalen Datenbank mit all seinen Tabellen- und zugehörigen Felddefinitionen mit ihren jeweiligen Datentypen.
Abhängig von den verwendeten Modellierungswerkzeugen – und Vorgaben zur Projektmethodik – muss nicht immer zwischen ERM und Datenbankmodell unterschieden werden. Dies kann z. B. bei kleinen Datenbankprojekten oder -Aufgaben der Fall sein, wo das Datenbankdesign unter Nutzung von Endbenutzer-Datenbanken (z. B. Microsoft Access) erstellt wird und die Dokumentation inkl. ERD über Funktionen des selben Systems unterstützt wird.
Auch ist es (werkzeugabhängig) möglich, Modellinhalte zur Konzeption der Datenbank in ein anderes Werkzeug zu überführen und dort weiter zu bearbeiten. In diesem Fall sollte für die Konsistenz der beiden Entwurfsebenen gesorgt werden.
Überführung in ein relationales Modell
Die Überführung eines Entity-Relationship-Modells in das Relationen-Modell basiert im Wesentlichen auf den folgenden Abbildungen:
- Entitätstyp → Relation
- Beziehungstyp → Fremdschlüssel; im Falle eines n:m-Beziehungstyps → zusätzliche Relation
- Attribut → Attribut.
Die genaue Überführung, die automatisiert werden kann, erfolgt in 7 Schritten:
- 1. Starke Entitätstypen
Für jeden starken Entitätstyp wird eine Relation R mit den Attributen mit k als Primärschlüssel und a1,a2,...,an als Attribute der Entität erstellt.
- 2. Schwache Entitätstypen
Für jeden schwachen Entitätstyp wird eine Relation R erstellt mit den Attributen mit dem Fremdschlüssel k sowie dem Primärschlüssel , wobei {ax} den schwachen Entitätstyp und k den starken Entitätstyp identifizieren.
- 3. 1:1-Beziehungstypen
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.
- 4. 1:N-Beziehungstypen
Für den 1:N-Beziehungstyp der Entitätstypen T, S wird die mit der Kardinalität N (bzw. 1 in min-max-Notation) eingehende Relation T um den Fremdschlüssel der Relation S erweitert.
- 5. N:M-Beziehungstypen
Für jeden N:M-Beziehungstyp wird eine neue Relation R mit den Attributen mit {a1,a2,...,an} für die Attribute der Beziehung sowie kT bzw. kS für die Primärschlüssel der beteiligten Relationen erstellt.
- 6. Mehrwertige Attribute
Für jedes mehrwertige Attribut in T wird eine Relation R mit den Attributen mit {ax} als mehrwertiges Attribut und k als Fremdschlüssel auf T erstellt.
- 7. n-äre Beziehungstypen
Für jeden Beziehungstyp mit einem Grad n > 2 wird eine Relation R erstellt mit den Attributen mit {k1,k2,...,kn} als Fremdschlüssel auf die eingehenden Entitätstypen sowie {a1,a2,...am} als Attribute des Beziehungstyps. Wenn alle beteiligten Entitytypen mit Kardinalität > 1 eingehen, so ist der Primärschlüssel die Menge aller Fremdschlüssel. In allen anderen Fällen umfasst der Primärschlüssel n − 1 Fremdschlüssel, wobei die Fremdschlüssel zu Entitytypen mit Kardinalität > 1 in jedem Fall im Primärschlüssel enthalten sein müssen.
Siehe auch
- Liste von Datenmodellierungswerkzeugen
- Structured Entity Relationship Model, auf ER aufbauend, Methodik führt zu Modell in 3NF, incl. Generalisierung/Spezialisierung, kompaktere Darstellung nach Existenzabhängigkeiten sortiert, daher direktes Ablesen von Einstiegspunkten, Zyklen und Schlüsselvererbung möglich.
Literatur
- Peter Pin-Shan Chen: The Entity-Relationship Model--Toward a Unified View of Data. In: ACM Transactions on Database Systems 1/1/1976 ACM-Press ISSN , S. 9–36
- Peter Pin-Shan Chen: Entity-Relationship Modeling--Historical Events, Future Trends, and Lessons Learned. In: Software Pioneers: Contributions to Software Engineering, Broy M. and Denert, E. (eds.), Springer-Verlag, Berlin, Lecturing Notes in Computer Sciences, June 2002, pp. 296-310, ISBN 3-540-43081-4
- J.M. Smith, D.C.P. Smith: Database Abstractions: Aggregation and Generalization, ACM Transactions on Database Systems, Vol. 2, No. 2 (1977), S. 105–133
- J. M. Smith and D. C. P. Smith: Database Abstraction: Aggregation, Communications of the ACM, Vol. 20, Nr. 6, pp. 405–413, June 1977
- Ramez Elmasri, Shamkant B. Navathe: Fundamentals of database systems. Addison Wesley, ISBN
Weblinks
Commons: Entity-Relationship-Modelle – Sammlung von Bildern, Videos und AudiodateienKategorien:- Datenbankmodellierung
- Diagramm
- Technische Zeichnung
Wikimedia Foundation.