Databases Reference
In-Depth Information
Wir sehen alle Datensätze, für die die Spalte fname den Wert Daisy hat. Auf ganz
ähnliche Weise löschen wir auch einen Teil unserer Datensätze:
delete from personen
where fname='Daisy'
Beachten Sie, dass alle drei Datensätze gelöscht worden wären, wenn wir den
where -Teil ausgelassen hätten. Wir haben jetzt noch zwei Donalds in der Tabelle.
Das Problem mit den Dubletten besteht darin, dass wir entweder keine oder beide
Datensätze, die zu Donald gehören, löschen können. Es gibt keine Anweisung,
um nur genau einen der beiden Datensätze zu löschen. Für das RDBMS sind die
Datensätze nicht unterscheidbar.
Bei Objekten - etwa in der Java-Programmierung - ist eine Unterscheidung mög-
lich: Dort kann jedes Objekt durch seine Referenz eindeutig identifiziert werden.
Referenzen, mit denen wir Datensätze voneinander unterscheiden können, gibt
es in relationalen Datenbanken nicht - Datensätze können wir nur aufgrund ihrer
Werte voneinander unterscheiden.
Wir haben einfache Anweisungen genutzt, um Datensätze einzufügen, zu ändern
und zu löschen. Wie H2 diese Anweisungen umgesetzt hat, wissen wir nicht. Die
physikalische Ebene ist transparent. Wenn wir nur mit der browsergestützten H2-
Console 7 auf H2 zugreifen, wissen wir noch nicht einmal, ob wir es mit einem
Windows- oder Unix-System zu tun haben. Vergleichen wir diese ersten Kontakte
mit H2 mit der Handhabung unserer einfachen selbstgeschriebenen Datenverwal-
tung (siehe Abschnitt 1.9), bekommen wir ein sehr anschauliches Verständnis vom
Begriff der physikalischen Datenunabhängigkeit (siehe Abschnitt 1.10).
2.7
Der Systemkatalog
Auch die Bedeutung von Codds erster Regel können wir uns mit einigen An-
weisungen leicht vor Augen führen: Die folgende Anweisung findet eine ganze
Menge Datensätze:
select *
from information_schema.tables
Es gibt also offensichtlich Tabellen, die das RDBMS mitbringt, ohne dass wir sie
selbst angelegt hätten. Interessant ist vor allem der Inhalt der Spalte table_name :
Hier sehen wir einen Eintrag, der uns bekannt vorkommen dürfte (siehe Abbil-
dung 2.3).
Für einen der Datensätze ist hier PERSON verzeichnet, also der Name der Tabelle,
die wir selbst erzeugt haben. Die Tabelle information_schema.tables ist Teil
7
Alternativ können wir auch aus einer Terminal-Sitzung mit H2 arbeiten. Informationen dazu finden
Sie in der Dokumentation zu H2.
 
Search WWH ::




Custom Search