Das Entity-Relationship-Modell, kurz ER-Modell oder ERM, dient dazu, im Rahmen der Datenmodellierung die reale Welt semantisch präzise zu beschreiben. Das ER-Modell besteht meist aus einer Graphik und einer Beschreibung der darin verwendeten einzelnen Elemente (siehe nachfolgend unter Darstellungsformen). Es dient zum einen in der konzeptionellen Phase der Anwendungsentwicklung der Verständigung zwischen Anwendern und Entwicklern, wobei ausschließlich das Was, also die Sachlogik, und nicht das Wie, also die Technik, wesentlich ist. Zum anderen dient das ER-Modell in der Implementierungsphase als Grundlage für das Design der Datenbank. Geschichte Das ER-Modell wurde 1976 von Peter Chen in seiner Veröffentlichung The Entity-Relationship Model kurz ERM vorgestellt und Ende der 80er Jahre von Wong und Katz weiterentwickelt. Das ERM ist die erste Modellierungssprache zur Erstellung von konzeptionellen Schemata. [Bearbeiten] Begriffe Das linke Beispiel in Chen-Notation dargestellt. Die beiden Begriffe Entity und Relationship können folgendermaßen charakterisiert werden: Gegenstand (Entity): Repräsentant für die Objekte der realen Welt (z. B. Angestellter, Projekt, Buch, Autor, Verlag). Beziehung (Relationship): semantischer Zusammenhang zwischen i.d.R. zwei Gegenständen z. B. o „leitet“ als Beziehung zwischen Angestellter und Projekt o „verfasst“ als Beziehung zwischen Autor und Buch o „ist Herausgeber von“ als Beziehung zwischen Verlag und Buch o „ist Vorgesetzter von“ als Beziehung zwischen Angestellter und Angestellter. Kardinalität: mögliche Anzahl der an einer Beziehung beteiligten Gegenstände; so kann ein Angestellter 0, 1 oder n Projekte leiten, während ein Projekt von genau einem Angestellten geleitet wird. [Bearbeiten] Darstellungsformen Die graphische Form des ER-Modells wird Entity-Relationship-Diagram (ERD) oder ER-Diagramm genannt. Es sind mehrere Darstellungsformen für das ER-Modell in Gebrauch. Für die Entität wird einheitlich das Rechteck verwendet. Das Relationship wird gelegentlich als Raute mit Verbindungslinien zwischen den beteiligten Entitäten dargestellt. Meist wird aus Platzgründen auf die Raute verzichtet, was allerdings nur bei binären Relationships (Beziehung zwischen genau zwei beteiligten Gegenständen) möglich ist. Für die Darstellung der Kardinalitäten haben sich die folgenden Notationen etabliert: Chen-Notation oder (1,n)-Notation (und davon abgeleitet die UML-Darstellung). Bachmann-Notation oder Martin-Notation oder „Krähenfuß-Notation“ Numerische Notation oder (min,max)-Notation MC(Must,Can)-Notation oder (1,c,m)-Notation IDEF1X-Notation Das Resource Description Framework (RDF) beruht ebenfalls auf dem Konzept von Entity-Relationship-Modellen und bietet seinerseits verschiedene Notationen an. Zur konkreten Implementation eines ER-Modells in einem relationalen Datenbanksystem wird meistens die Sprache SQL verwendet. [Bearbeiten] Einsatz in der Praxis Das ER-Modell kann (und soll) bei der Erstellung von Datenbanken zunächst bei der Konzeption einer Datenbank, auf deren Grundlage dann die Implementierung der Datenbank erfolgt, genutzt werden. Die Umsetzung der in der Realwelt erkannten Objekte und Beziehungen in ein Datenbank-Schema erfolgt dabei in mehreren Schritten: Erkennen und Zusammenfassen von Objekten zu Entitäten (1) durch Abstraktion von Einzelobjekten zu einer Entität (z.B. Die Kollegen Fritz Maier und Paul Lehmann und viele weitere zu der Entität "Angestellter"). Erkennen und Zusammenfassen von Beziehungen zwischen je zwei Objekten zu einem Relationship (z.B. der Angestellte Paul Lehmann leitet das Projekt Verbesserung des Betriebsklimas und der Angestellte Fritz Maier leitet das Projekt Effizienzsteigerung in der Verwaltung). Dies führt zu dem Relationship "Angestellter leitet Projekt". Bestimmung der Kardinalitäten, d.h. der Häufigkeit des Auftretens (z.B. wird ein Projekt immer von genau einem Angestellten geleitet und ein Angestellter darf höchsten drei Projekte leiten.) All dies lässt sich in einem ER-Modell darstellen. Weiter sind folgende Schritte notwendig, die meist jedoch nicht grafisch dargestellt werden (so z.B. in der obigen Grafik): Bestimmung der relevanten Attribute der einzelnen Entitäten. Markierung bestimmter Attribute einer Entität als identifizierende Attribute. Durchführung des Prozesses der Normalisierung, um die Redundanz innerhalb der zu erstellenden Datenbank zu verringern und um die Datenintegrität zu erhöhen. Da das Ergebnis der Normalisierung meist zu neuen Entitäten und geänderten Relationships führt, beginnt man in diesen Fällen wieder mit dem ersten Schritt. Generierung des Schemas einer relationalen Datenbank mit all seinen Tabellen- und zugehörigen Feld(definitionen) mit ihren jeweiligen Datentypen. (1) Entitätstyp wäre hier die genaue Bezeichnung; in der betrieblichen Praxis spricht man aber meist von Entität. Der Unterschied zwischen der Entität als Einzelobjekt und der Entität als Menge aller Objekte ergibt sich i.d.R. aus dem Zusammenhang.