engl.: data model

Im Rahmen eines strukturierten Datenbankentwurfs ist die Abbildung der relevanten Inhalte in Form eines Datenmodells erforderlich. Die am weitesten verbreiteten und daher wichtigsten Modellierungsansätze sind das Entity-Relationship-Modell sowie das relationale Datenmodell.

Entity-Relationship-Modell

Das Entity-Relationship-Modell (ER-Modell) wurde 1976 von dem US-amerikanischen Informatiker Peter Chen entwickelt [4] und bezeichnet ein grafisches Darstellungsverfahren aller Objekte sowie deren Beziehungen. Unter Entities werden im Allgemeinen Gegenstände, unter Relationship deren Beziehungen untereinander verstanden, die durch Attribute beschrieben werden können. Abbildung 1 stellt ausschnittsweise das ER-Modell einer exemplarischen Datenbank dar.


  Entity-Relationship-Modell nach Chen
Abbildung 1: Entity-Relationship-Modell nach Chen [4]

Die Rechtecke repräsentieren die einzelnen Entitäten, die später als Tabellen wieder zu finden sind. Die beschreibenden Attribute werden als Ovale dargestellt, wobei der Unterstrich die eindeutigen Schlüsselattribute hervorhebt. Die Rauten beschreiben die Beziehungen der Gegenstände untereinander. Alle zugehörigen Attribute, Gegenstände und Beziehungen sind durch Linien miteinander verbunden. Jede Entität muss sich eindeutig identifizieren lassen. Durch die eindeutigen, unterstrichenen Schlüsselattribute ist eine einwandfreie Zuordnung der Gegenstände und deren beschreibenden Attributen möglich. Schlüssel können jedoch auch aus mehreren, miteinander verbundenen Attributen aufgebaut sein. Zumeist sind Schlüssel künstlich geschaffene Eigenschaftswerte. Beispielsweise ist die Identifikation einer Beilagscheibe durch die Vergabe einer eindeutigen Sachnummer wesentlich einfacher und sicherer, als durch deren Benennung. Dafür muss aber zuerst ein entsprechendes Attribut definiert werden. Wie bereits erwähnt, stehen die Entitäten in Beziehung zueinander. Die einzelnen Beziehungstypen werden durch mathematische Relationen ausgedrückt, wobei die Ausprägung einer Beziehung eine Teilmenge des kartesischen Produkts der an der Beziehung beteiligten Entitäten darstellt [1]. Die Anzahl der Beziehungsinstanzen einer Entität wird als Kardinalität bezeichnet. Grundsätzlich lassen sich drei Kardinalitäten unterscheiden, die Eins-zu-eins- (1:1), die Eins-zu-viele- (1:n, n:1) und die Viele-zu-viele-Beziehung (m:n) [2]. Mit der 1:1-Beziehung wird jedem Datensatz der Mastertabelle genau ein Datensatz der Detailtabelle zugeordnet und umgekehrt. Ein typisches Beispiel hierfür ist die Verknüpfung zwischen einem Artikel und der unternehmensspezifischen Sachnummer. Die 1:n-Beziehung ist die am häufigsten verwendete Kardinalität. Jedem Datensatz der Mastertabelle können mehrere Datensätze in der Detailtabelle zugeordnet werden, wohingegen ein Datensatz der Detailtabelle genau ein Pendant in der Mastertabelle besitzt. Beispielhaft zu nennen ist die Beziehung zwischen den Sachnummern- und Lieferantentabellen. Jeder Lieferant kommt auf Grund der geforderten Eindeutigkeit der Datensätze in der Lieferantentabelle genau einmal vor, kann jedoch in der Sachnummerntabelle mehrfach vorhanden sein. Bei der m:n-Beziehung besitzt jeder Datensatz beliebig viele Partner in der verknüpften Tabelle. Um in solchen Fällen eine eindeutige Identifikation der Datensätze zu ermöglichen, ist ein aus beiden Primärschlüsseln zusammengesetzter Schlüssel erforderlich.

Relationales Datenmodell

Die Grundlagen der relationalen Datenmodellierung wurden von dem britischen Mathematiker Dr. Edgar Frank Codd in den 1960er und 1970er Jahren während seiner Forschungsarbeit am IBM Almaden Research Center in San Jose entwickelt. Demnach werden alle realen Objekte und deren Beziehungen als Relationen abgebildet. Etwas irrtümlich kann hier der Begriff Relationen verstanden werden, der nicht als Beziehungen, sondern als Tabellen zu verstehen ist. Auf Grund seiner Einfachheit und der guten Verständlichkeit ist das relationale Datenmodell das am weitesten verbreitete logische Datenmodell. Es stellt die Implementierung des ER-Modells dar. Bei der Einführung des Relationenmodells wurden von Codd 13 Regeln definiert, welche die von einem Datenbankmodell zu erfüllenden Regeln festlegen [3]:

  • Regel 0 (Grundregel): Die Datenbank wird ausschließlich mit relationalen Mitteln bearbeitet.
  • Regel 1 (Informationsregel): Informationen werden auf der logischen Ebene explizit beschrieben und in Form von Tabellen gespeichert.
  • Regel 2 (Zugriffsregel): Auf jedes Datenelement muss über den Namen der Relation, des Attributs oder den Primärschlüsselwert zugegriffen werden können.
  • Regel 3 (NULL-Werte-Behandlung): Leere Felder müssen definiert verarbeitet werden und dürfen kein Primärschlüsselwert sein.
  • Regel 4 (Relationale Metadaten): Die Beschreibung der Datenelemente muss in Form von normalen Tabellen erfolgen.
  • Regel 5 (Wohldefinierter Zugang): Zumindest eine definierte Sprache für den Zugriff auf die Datenbank muss vorhanden sein.
  • Regel 6 (Sichtenregel): Views erlauben eine eindeutige, unmittelbare Änderung der enthaltenen Basistabellen.
  • Regel 7 (Mengenorientierte Manipulation): Alle Tabellenoperationen erfolgen mengenorientiert.
  • Regel 8 (Physische Datenunabhängigkeit): Anwendungen dürfen in ihrer Struktur durch Änderung der physikalischen Speicherstruktur oder der Zugriffsmethoden nicht beeinflusst werden.
  • Regel 9 (Logische Datenunabhängigkeit): Informationsbewahrende Änderungen der Tabellenstrukturen dürfen Anwendungen nicht beeinflussen.
  • Regel 10 (Integritätsregel): Die Überwachung der Integrität der Daten hat durch das DBMS zu erfolgen.
  • Regel 11 (Verteilungsunabhängigkeit): Die Verteilung der Daten ist für den Anwender transparent - es ist logisch unabhängig, ob die Daten verteilt oder zentral gespeichert sind.
  • Regel 12 (Relationales Unterwanderungsverbot): Es darf keine Verletzung der Integrität über nicht-relationale Schnittstellen möglich sein.

Bei der Implementierung des ER-Modells durch das relationale Datenmodell werden sowohl die Entitäten, als auch deren Beziehungen in Form von Relationen abgebildet. Darunter versteht man zwei-dimensionale Konstrukte aus Zeilen und Spalten. Jede Tabelle verfügt über eine eigene Bezeichnung, worüber sie eindeutig identifiziert und angesprochen werden kann. Diese Eigenschaft ist besonders für die programmiertechnische Umsetzung der einzelnen Datenbankfunktionen von Bedeutung. Zunächst speichern Relationen beziehungsweise Tabellen Entitätsmengen oder Objekte. Ein Objekt bedeutet die Menge der es beschreibenden Attribute und wird im Datenmanagement auch als Datensatz oder Tupel bezeichnet. Die Attribute sind über die Spaltennamen eindeutig benannt (siehe Abbildung 1) und verfügen über einen definierten Wertebereich, die Domäne. Über den Index oder das Schlüsselattribut, das in den meisten Fällen als Primärschlüssel zu verstehen ist, kann ein Datensatz nach dem Grundsatz der Entitätsintegrität eindeutig identifiziert werden. Es beschreibt somit eine zusätzliche Datenstruktur, die den Zugriff auf diese beschleunigen soll [2]. Nach Codd ist die Reihenfolge der Spalten und Zeilen der Tabelle ohne Bedeutung [3]. Die relationale Darstellung der Beziehungen der einzelnen Tabellen wird über so genannte Fremdschlüssel realisiert. Sie stellen Attribute dar, die auf den Primärschlüssel einer anderen Tabelle verweisen. Diese Referenzierung kann, wie bereits erwähnt, als Eins-zu-eins-, Eins-zu-viele- oder Viele-zu-viele-Beziehung vorliegen. Ähnlich der Entitätsintegrität

  Relationales Datenmodell
Abbildung 2: Relationales Datenmodell

Speziell für relationale Datenbanken steht mit der Structured Query Language (SQL) ein umfangreiches, großteils standardisiertes Abfragewerkzeug zur Verfügung. Aufbauend auf den in Beziehung stehenden Tabellen können deren Daten beliebig in übersichtlicher Form zusammen ausgegeben werden. Beispielsweise ist es in Abbildung 1 möglich, alle Sachnummern für einen bestimmten Lieferanten anzuzeigen.

Quellen

[1] Eickler, A.; Kemper, A.: Datenbanksysteme Eine Einführung, München: Oldenbourg 2004.

[2] Noack, W.: 2003 - Grundlagen für Datenbankentwickler, RRZN / Universität Hannover, Bodenheim: Herdt-Verlag 2004.

[3] Codd, E.: The Relational Model for Database Management Version 2, Reading: Addison-Wesley 1990.

[4] Chen, P.: The Entity-Relationship Approach to logical Database Design, QED Information Sciences Inc., Wellesley 1997.

  • Keine Stichwörter