Zur Rolle der Sprache bei der Modellierung von Datenbanken Gerhard Röhner April 2003
Modellierung
Von der Realität zum Datenmodell Abbildung eines Ausschnitts der realen Welt auf einen Miniwelt Abstraktion von nicht relevanten Details Konzentration auf Daten, die für die Arbeit mit der Datenbank bedeutsam sind
Entity-Relationship-Modell graphisches Datenmodell, kurz ER-Modell, ERM 1976 von P. Chen vorgeschlagen Klassifizierung - Festlegung der Typen von Objekten Abstraktion - Reduktion der Vielfalt der bekannten Informationen über die Objekttypen auf einen Satz relevanter Eigenschaften Beziehungsanalyse - Beschreibung der sachlogischen Zusammenhänge zwischen den Objekttypen
Definition Objekt und Objekttypen Ein Objekt (engl. entity) ist ein Exemplar von Personen, Gegenständen oder nicht materiellen Dingen über das Informationen gespeichert werden. Ein Objekttyp (engl. entity type) ist eine durch einen Objekttyp-Namen eindeutig benannte Klasse von Objekten, über die dieselben Informationen gespeichert werden und in prinzipiell gleicher Weise verarbeitet werden. Der Name darf kein spezielles Objekt benennen und ist ein Substantiv.
Darstellung der Objekttypen Objekttypen werden durch Rechtecke dargestellt Um korrekt zwischen Objekttypen und Objekten zu unterscheiden, steht der Name des Objekttyps im Singular im Rechteck Die Bildung der Objekttypen hängt entscheidend von den Anforderungen ab Firma aus der Sicht des Kunden Firma aus der Sicht des Chefs Angestellter
Darstellung der Attribute Attribute werden durch Ovale dargestellt der Name des Attributs steht im Singular im Oval (Einhaltung der 1. Normalform) und ist ein Substantiv die Ovale werden durch Strecken mit den zugehörigen Rechtecken der Objekttypen verbunden Angestellter Vorname Name
Beziehungstyp Der Zusammenhang zwischen zwei Objekttypen besteht immer in beiden Richtungen Lehrer unterrichten an Schulen an Schulen sind Lehrer beschäftigt Jede der beiden Richtungen wird durch drei Angaben näher bestimmt Die Benennung gemäß der Semantik des Zusammenhangs Angabe der Kardinalität Angabe der Optionalität
Benennung von Beziehungstypen Die Benennung einer Beziehungstyp-Richtung zwischen zwei Objekttypen A und B ist so zu wählen, dass dies ein fehlerfreien Satz wird: Ein(e) <Objekttyp A> <Benennung der Beziehungstyp-Richtung> ein(e/en/em/er) <Objekttyp B> Ein Lehrer unterrichtet an einer Schule Eine Schule beschäftigt einen Hausmeister Eine Schule liegt in einem Ort Benennung durch Verben
Vielfalt der Darstellung von Beziehungen
Darstellung der Beziehung Eine Beziehung wird durch eine Raute dargestellt Sie enthält oben die Benennung der Richtung A zu B, unten die Benennung der Richtung B zu A Die Raute wird links/oben mit dem Objekttyp A, rechts/unten mit dem Objekttyp B verbunden
Kardinalität - kann mehrere Kann ein Objekt des Typs A mit mehreren Objekten des Typs B in Beziehung stehen? Ja Kardinalität ist n Nein Kardinalität ist 1 Kann ein Mann mit mehreren Frauen verheiratet sein? Nein, Kardinalität ist 1. Kann ein Ort mehrere Schulen haben? Ja, Kardinaliät ist n.
Darstellung der Kardinalität Ein Ort kann mehrere Schulen haben. Eine Schule liegt in einem Ort Die Kardinalität wird an das Ende der Beziehung geschrieben.
Optionalität - muss mindestens Muss ein Objekt des Typs A mit mindestens einem Objekt des Typs B in Beziehung stehen? Ja nicht optional, obligatorisch, Muss-Beziehung Nein optional, fakultativ, Kann-Beziehung Muss eine Schule in mindestens einem Ort liegen? Ja, nicht optional, Muss-Beziehung Muss ein Ort mindestens eine Schule haben? Nein, optional, Kann-Beziehung
Darstellung der Optionalität Ein Ort kann eine Schule haben. Eine Schule muss in einem Ort liegen. Die Optionalität wird an den Anfang der Beziehung geschrieben
Optimierungen - Übersicht grün: eine Relation R(a1,..., b1,...) rot: zwei Relationen Ra(a1,...) Rb(b1,...,a1) blau: drei Relationen Ra(a1,...) Rk(a1, b1) Rb(b1,...)