© 1999
François Bry
Dieses Lehrmaterial wird ausschließlich zur privaten Verwendung
angeboten. Eine nichtprivate Nutzung (z.B. im Unterricht oder eine
Veröffentlichung von Kopien oder Übersetzungen) dieses Lehrmaterials
bedarf der Erlaubnis des Autors.
Im Datenbankbereich sind Formalismen eingeführt worden, die einerseits syntaktisch wesentlich von der Prädikatenlogik erster Stufe abweichen, andererseits aber leicht darin übertragen werden können.
Wir führen das Entitäts-Relations-Modell informell anhand eines Beispiels ein. In dem zu modellierenden Ausschnitt der Realität gebe es Angestellte, Abteilungen, Abteilungsleiter und Standorte. Jeder Angestellte arbeitet in einer Abteilung. Jeder Abteilungsleiter steht einer Abteilung vor. Alle Abteilungsleiter sind Angestellte. Jeder Angestellte hat einen Standort, der auch der Standort seiner Abteilung ist.
Die wichtigsten Bestandteile des Entitäts-Relations-Modell sind Entitäten (durch Rechtecke dargestellt), Relationen (durch Rauten dargestellt) und Hierarchiebeziehung (durch Pfeile dargestellt). Letztere ist eigentlich nur ein häufig vorkommender Spezialfall einer zweistelligen Relation. Im Englischen wird sie auch die ,,is-a relationship`` genannt
Die Anzahl der Kanten, die mit einer Raute verbunden sind, ist die Stelligkeit der Relation, die die Raute definiert. Diese Kanten werden mit ,,Rollen`` beschriftet. Zum Beispiel könnte die linke Kante der Relation ,,arbeitet`` mit ,,wer`` und die rechte mit ,,wo`` beschriftet sein. Weitere Beschriftungen der Kanten erlauben die Angabe von ,,Kardinalitäten`` wie z.B.:
In diesem Beispiel wäre die Bedeutung der Kardinalitätsbeschriftung, dass jeder Angestellte in bis zu 3 Abteilungen arbeiten kann. Beschriftet man beiden Kante der Relation ,,stehtvor`` mit der Kardinalität 1, bedeutet dies, dass jeder Abteilungsleiter genau einer Abteilung vorsteht und jede Abteilung genau einen Abteilungsleiter hat.
Es gibt noch weitere Bestandteile des Modells, zum Beispiel Attribute von Entitäten, auf die hier nicht näher eingegangen werden soll.
Die Übersetzung aus dem Entitäts-Relations-Modell in
eine Sprache der PL1S geschieht nach folgendem Schema:
,,arbeitet`` ist eine Beziehung zwischen Angestellten und Abteilungenkann z.B. in einem Tupel-Kalkül wie folgt dargestellt werden:
∀ (x ∈ arbeitet) ⇒ (x.wer ∈ Angestellter ∧ x.wo ∈ Abteilung)wenn die Rollen so benannt sind wie im obigen Beispiel. Statt x ∈ arbeitet könnte man auch arbeitet(x) schreiben. Im Gegensatz zur Prädikatenlogik steht das x dann aber nicht für ein einziges Argument, sondern für das ganze Argumenttupel, in diesem Fall also für das Paar (x.wer,x.wo).
Der Grund für die im Tupel-Kalkül hervorgehobene Stellung der Tupel gegenüber den einzelnen Argumenten ist, dass die Tupel die Modellierungs- und Speicherungseinheiten des relationalen Datenmodells sind.