Das relationale Datenmodell - Theoretische Grundlagen I

From DHVLab

Revision as of 15:03, 9 September 2016 by Jschulz (talk | contribs) (Created page with "Das '''relationale Datenmodell''' organisiert Informationen in Gestalt von einer oder mehrerer '''Tabellen'''. Die Bezeichnung rührt daher, dass Tabellen in der Fachsprache a...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Das relationale Datenmodell organisiert Informationen in Gestalt von einer oder mehrerer Tabellen. Die Bezeichnung rührt daher, dass Tabellen in der Fachsprache auch als "Relationen" bezeichnet werden.
Prinzipiell gilt: Alle Arten von Information können auf Tabellen heruntergebrochen werden.
Tabellen bestehen aus Zeilen und Spalten:

  • Spalten (auch Attribute, Felder, Eigenschaften genannt):
    • Die Spaltennamen (über der jeweiligen Spalte befindlich) werden als Attribute bezeichnet.
    • Den einzelnen Spalten wird jeweils ein bestimmter Datentyp zugeordnet.
    • Spalten unterscheiden sich strukturell, d.h. durch den Datentyp und die Anzahl der möglichen Zeichen.
  • Zeilen (auch Tupel genannt):
    • Jeder Datensatz (record) stellt eine Zeile in der Tabelle dar.
    • Ein Datensatz setzt sich aus den einzelnen Attributwerten der jeweiligen Zeile zusammen.
    • Die Anzahl der Attributwerte wird durch das zugrunde liegende relationale Modell festgelegt.

Bestehende Tabellen sind prinzipiell endlos fortführbar, d.h. es können jederzeit beliebig viele neue Spalten oder Zeilen ergänzt werden. Die Reihenfolge der Spalten ist nicht relevant. Da sich die Spalten- oder Attributnamen unterscheiden müssen, kann es nicht zu einer Doppelung kommen.

Mehrere Tabellen in Relation setzen: Normalisierung und der Einsatz von Schlüsseln

Ein Grundsatz des relationalen Datenmodells ist die Normalisierung: Grundsätzlich gilt es, Redundanzen zu vermeiden, d.h. Informationen sollten möglichst nicht wiederkehrend sondern an zentraler Stelle einmalig abgespeichert werden. Dadurch wird...:

  • ...sichergestellt, dass die Konsistenz der Daten erhalten bleibt; d.h. eine Änderung am Datenbestand muss nur einmalig durchgeführt werden. Bereits ein kleiner Tippfehler würde bei redundanten Daten zu erheblichem Korrekturbedarf führen - was wiederum eine potentielle Fehlerquelle darstellt.
  • ...vermieden, dass Datensammlungen unnötig aufgebläht werden, wodurch Speicherplatz gespart wird.

Um diesem Grundsatz zu entsprechen, empfiehlt es sich, Informationen auf möglichst viele Tabellen aufzuteilen, d.h. die Daten möglichst umfassend zu normalisieren. Vgl. hierzu das Beispiel "Bibliographische Angaben in relationaler Form angeben" auf DH-Lehre[A 1].
Dadurch das die Informationen in eigens angelegten Tabellen abgespeichert werden, können sie, über "eine dritte Tabelle", miteinander in Verbindung gesetzt werden. Die Verknüpfung zweier oder mehrerer Tabellen bzw. ihrer Datensätze erfolgt über sogenannte "Schlüssel" (ID's), die den Datensatz eindeutig identifizierbar machen. Jeder Datensatz verfügt über ein solches eindeutiges Feld zur Identifikation.

Beispiel: 
Die Verbindung von Autoren mit den ihnen zugehörigen Buchtiteln erfolgt über eine eigene Tabelle, in der die jeweilige Autoren-ID mit der oder den entsprechenden Buch-ID(s) in Verbindung gesetzt wird. Haben zwei Autoren gemeinsam ein Buch veröffentlicht, so würde jedem Autor (autor1, autor2) bzw. seiner Autoren-ID die Buch-ID zugeordnet. Wird bei einem Autorennamen ein Tippfehler festgestellt, so kann dieser in der Autorentabelle verbessert werden. Auf die Verknüpfung der Autoren-ID mit der Buch-ID hat dies keine Auswirkung.

Je konsequenter der Datenbestand normalisiert wurde, desto schwieriger wird seine Durchdringung durch Benutzer ohne Fachkenntnisse. Daher ist das grundlegende Verständnis des relationalen Datenmodells wichtig. Sie werden in der Praxis immer wieder Verknüpfungstabellen begegnen, die nur aus miteinander in Verbindung gesetzten Schlüsseln (meist Zahlen[A 2]) bestehen. Wenn mehrere Schlüssel in einer Tabelle vorhanden sind, wird unterschieden in

  • Primärschlüssel (SQL: primary key): Der Primärschlüssel wird den einzelnen Zeilen zur Identifikation zugeteilt.
  • Fremdschlüssel (SQL: foreign key): Als Fremdschlüssel werden alle anderen, in der Tabelle befindlichen Schlüssel bezeichnet, die auf Primärschlüssel anderer Tabellen verweisen.

Sind Tabellen mit ihren Zeilen und Spalten zunächst zweidimensional, erlangen sie durch die Verknüpfung mit anderen Tabellen Dreidimensionalität.

Datenmodellierung: Gedanken aus der wissenschaftlichen Praxis

  • Die Datenmodellierung birgt aus inhaltlicher Sicht den Vorteil, dass man sich mit allen Problemfällen auseinandersetzen muss.
Beispiel Jahreszahl: Prinzipiell verfügt eine Jahreszahl über vier Ziffern (1999). Nun werden unsichere Jahreszahlen jedoch üblicherweise mit mit eckigen Klammern gekennzeichnet (19[99]). Dies gilt es bei der der Modellierung der entsprechenden Spalte der Datenbank zu berücksichtigen. Seien Sie unbesorgt: Es gibt im relationalen Modell für jeden Fall eine Lösung.
  • Transparenz der Daten: Dadurch, dass für jeden Fall Kriterien erdacht werden müssen, ist der Wissenschaftler/die Wissenschaftlerin zum Treffen verbindlicher Entscheidungen angehalten ("circa"-Angaben, Zusätze wie "vermutlich" etc. sind in einer relationalen Datenbank nur schwerlich abbildbar). Dies kann hinsichtlich wissenschaftlicher Theoriebildung von Vorteil sein.
  • "Viele Wege führen nach Rom": Es gibt nie die eine ausschließliche Lösung. Die vorhandenen Informationen können und sollten stets nach eigenem Ermessen sinnvoll aufgeschlüsselt werden.
  • Ein guter Ansatzpunkt um festzustellen, an welcher Stelle ein weiteres Aufsplitten von Informationen sinnvoll sein könnte, ist das Sortieren nach bestimmten Informationen.
Beispiel Autorennamen: Bei der Sortierung nach dem Autorennamen würde Ihnen rasch auffallen, dass das Aufteilen der Autoren in zwei Spalten (autor 1, autor 2) sinnvoll wäre, da sie sonst nie nach dem zweitgenannten Autorennamen sortieren könnten.

Anmerkungen

  1. Praxisbeispiel auf DH-Lehre
  2. Egal, ob sich der Schlüssel aus Zahlen (Standard) oder anderen Zeichen zusammensetzt- es gilt stets das Prinzip der Minimalität: Der Schüssel darf keine überflüssigen Zeichen enthalten, nur solche, die zu seiner Eindeutigkeit beitragen!