Erste Seite Zurück Weiter Letzte Seite Übersicht Grafik

Tabellen


Notizen:

Das relationale Datenbankmodell stammt von Dr. Edgar F. Codd (1923 - 2003), der 1969 seine ersten Überlegungen zu diesem neuen Datenmodell veröffentlichte. Im Gegensatz zum Entity-Relationship-Modell (1976) ist das relationale Modell nicht bloß ein Formalismus zur Darstellung von Daten, sondern wird heute von fast allen kommerziellen Datenbanksystemen direkt implementiert.
In relationalen Datenbanken werden Daten in Tabellen abgespeichert. Tabellen sind vergleichbar mit Karteikästen. Eine Objektart in der Realwelt ("Entity") wird dabei durch eine Tabelle dargestellt. Die einzelnen Vertreter dieser Objektart bilden dann die Zeilen dieser Tabelle. In den Zeilen stehen nebeneinander Werte, die alle zum gleichen Objekt der Realwelt gehören. In den Spalten stehen untereinander immer gleichartige Werte, die alle zu unterschiedlichen Objekten der Realwelt gehören.
Damit man eine Tabelle „Relation“ nennen darf, müssen u.a. folgende Grundforderungen erfüllt sein:
Die Reihenfolge der Spalten muss egal sein (=Forderung nach Spaltennamen)
Die Reihenfolge der Zeilen muss egal sein (=Forderung nach explizit gespeicherter Information)
Es dürfen in 1 Tabelle keine 2 gleichen Zeilen sein (~Forderung nach Tabellenschlüssel)
Das relationale Modell betrachtet „Tupel“ (d.s. Datensätze, Zeilen) ausschließlich auf Basis der einzelnen Werte im Tupel, nicht jedoch auf Basis von äußeren Hilfsmittel wie Zähler, Pointer oder Speicheradressen.
Jede Relation ist also eine Tabelle, aber nicht jede Tabelle ist eine Relation.
Das relationale Datenmodell ist streng formalisiert und beruht auf mathematischen Grundlagen. Der Begriff der Relation ist entsprechend auch formal definiert:
Gegeben seien die Mengen M1, M2, ... Mn. R ist eine Relation dieser n Mengen, wenn sie aus einer Menge von n-Tupeln (r1, r2, ... rn) besteht, wobei r1 ein Element aus M1, r2 ein Element aus M2 usw. ist.
Beispiel: Sei M1 die Menge der Vornamen {Heinz, Kurt, Anna, ....}, M2 die Menge der Nachnamen {Müller, Huber, Mayer, Schmid,...}, M3 die Menge der Postleitzahlen {1010, 1020, 1030,...}.
Dann wäre folgende Menge von Tupeln eine Relation dieser Mengen:
{ (Heinz, Mayer, 1150), (Kurt, Müller, 2700), (Anna, Huber, 1020) }
Eine Relation ist eine Teilmenge aus dem Kartesischen Produkt der gegebenen Mengen, der Kombination aller Elemente aller gegebenen Mengen:
Beispiel: M1 = {A,B}, M2 = {1,2}, M3 = {I, II} Kartesisches Produkt M1×M2×M3 = {(A,1,I), (A,1,II), (A,2,I), (A,2,II), (B,1,I), (B,1,II), (B,2,I), (B,2,II)}
Im Gegensatz dazu ist ein Tabelle eigentlich alles, was in Zeilen und Spalten organisiert ist. Dennoch ist in Datenbanken immer von „Tabellen“ die Rede, denn den Herstellern ist durchaus bewusst, dass das Modell an vielen Stellen verletzt kann. Sind Tabellen erst einmal in der DB definiert, ändern sich nicht mehr ..
Anzahl der Spalten
Anordnung der Spalten..
.. sondern nur noch ..
Anzahl der Zeilen
Inhalt der Zeilen