Das ER-Modell definiert die konzeptionelle Sicht auf eine Datenbank. Es arbeitet mit realen Entitäten und den Assoziationen zwischen ihnen. Auf der Sichtebene wird das ER-Modell als eine gute Option für den Entwurf von Datenbanken angesehen.
Entität
Eine Entität kann ein reales Objekt sein, entweder belebt oder unbelebt, das leicht identifiziert werden kann. In einer Schuldatenbank können zum Beispiel Schüler, Lehrer, Klassen und angebotene Kurse als Entitäten betrachtet werden. Alle diese Entitäten haben einige Attribute oder Eigenschaften, die ihnen ihre Identität verleihen.
Ein Entitätssatz ist eine Sammlung ähnlicher Arten von Entitäten. Ein Entitätsset kann Entitäten mit Attributen enthalten, die ähnliche Werte haben. Zum Beispiel kann eine Schülermenge alle Schüler einer Schule enthalten; ebenso kann eine Lehrergruppe alle Lehrer einer Schule aus allen Fakultäten enthalten. Entitätsmengen müssen nicht disjunkt sein.
Attribute
Entitäten werden durch ihre Eigenschaften, Attribute genannt, dargestellt. Alle Attribute haben Werte. Beispielsweise kann eine Entität „Schüler“ die Attribute „Name“, „Klasse“ und „Alter“ haben.
Es gibt einen Bereich oder eine Reihe von Werten, die den Attributen zugeordnet werden können. Zum Beispiel kann der Name eines Schülers kein numerischer Wert sein. Er muss alphabetisch sein. Das Alter eines Schülers kann nicht negativ sein usw.
Attributstypen
-
Einfaches Attribut – Einfache Attribute sind atomare Werte, die nicht weiter unterteilt werden können. Zum Beispiel ist die Telefonnummer eines Studenten ein atomarer Wert mit 10 Ziffern.
-
Zusammengesetztes Attribut – Zusammengesetzte Attribute bestehen aus mehr als einem einfachen Attribut. Zum Beispiel kann der vollständige Name eines Schülers aus Vorname und Nachname bestehen.
-
Abgeleitetes Attribut – Abgeleitete Attribute sind Attribute, die in der physischen Datenbank nicht vorhanden sind, deren Werte jedoch von anderen in der Datenbank vorhandenen Attributen abgeleitet werden. Zum Beispiel sollte das Durchschnittsgehalt in einer Abteilung nicht direkt in der Datenbank gespeichert werden, sondern kann abgeleitet werden. Ein anderes Beispiel: Das Alter kann von den Geburtsdaten abgeleitet werden.
-
Einwertiges Attribut – Einwertige Attribute enthalten einen einzigen Wert. Zum Beispiel – Sozialversicherungsnummer.
-
Mehrwertiges Attribut – Mehrwertige Attribute können mehr als einen Wert enthalten. Zum Beispiel kann eine Person mehrere Telefonnummern, E-Mail-Adressen usw. haben.
Diese Attributstypen können in einer Weise zusammenkommen wie –
- einfache einwertige Attribute
- einfache mehrwertige Attribute
- zusammengesetzte ein-wertige Attribute
- zusammengesetzte mehrwertige Attribute
Entitätsmenge und Schlüssel
Schlüssel ist ein Attribut oder eine Sammlung von Attributen, die eine Entität innerhalb der Entitätsmenge eindeutig identifiziert.
Zum Beispiel macht die Matrikelnummer eines Studenten ihn/sie unter den Studenten identifizierbar.
-
Superschlüssel – Ein Satz von Attributen (eines oder mehrere), die zusammen eine Entität in einem Entity-Set identifizieren.
-
Kandidatenschlüssel – Ein minimaler Superschlüssel wird Kandidatenschlüssel genannt. Eine Entitätsmenge kann mehr als einen Kandidatenschlüssel haben.
-
Primärschlüssel – Ein Primärschlüssel ist einer der Kandidatenschlüssel, die vom Datenbankdesigner ausgewählt wurden, um die Entitätsmenge eindeutig zu identifizieren.
Beziehung
Die Verbindung zwischen Entitäten wird Beziehung genannt. Zum Beispiel arbeitet ein Angestellter in einer Abteilung, ein Student schreibt sich für einen Kurs ein. Hier werden Works_at und Enrolls als Beziehungen bezeichnet.
Relationship Set
Eine Menge von Beziehungen ähnlichen Typs wird als Relationship Set bezeichnet. Wie Entitäten kann auch eine Beziehung Attribute haben.
Grad der Beziehung
Die Anzahl der beteiligten Entitäten in einer Beziehung definiert den Grad der Beziehung.
- Binär = Grad 2
- Ternär = Grad 3
- n-är = Grad
Kardinalitäten
Die Kardinalität definiert die Anzahl der Entitäten in einer Entitätsmenge, die mit der Anzahl der Entitäten der anderen Menge über die Beziehungsmenge assoziiert werden kann.
-
Eins-zu-eins – Eine Entität aus der Entitätsmenge A kann mit höchstens einer Entität der Entitätsmenge B assoziiert werden und vice versa.
-
One-to-many – Eine Entität aus Entitätsmenge A kann mit mehr als einer Entität aus Entitätsmenge B assoziiert werden, jedoch kann eine Entität aus Entitätsmenge B mit höchstens einer Entität assoziiert werden.
-
Many-to-one – Mehr als eine Entität aus Entitätssatz A kann mit höchstens einer Entität aus Entitätssatz B assoziiert werden, jedoch kann eine Entität aus Entitätssatz B mit mehr als einer Entität aus Entitätssatz A assoziiert werden.
-
Many-to-many – Eine Entität aus A kann mit mehr als einer Entität aus B verbunden sein und umgekehrt.