HTML and CSS Reference
In-Depth Information
2.7.3 Transaktionen
Transaktionen sind ein wichtiger Bestandteil relationaler Datenbanken. Eine Trans-
aktion stellt eine atomare Einheit dar und besteht aus mehreren Befehlen, die entweder
alle erfolgreich ausgeführt werden können oder alle zurückgenommen werden.
Transaktionen verhindern also, dass eine zusammengehörige Kette von Operationen
nur halb durchgeführt wird und damit die Datenbank in einem unzulässigen und feh-
lerhaften Zustand hinterlässt. Die Web SQL Database-API unterstützt Transaktionen.
Noch besser: Sämtliche SQL-Befehle werden immer innerhalb einer Transaktion ausge-
führt.
2.7.4 Database-API
Bevor wir uns die umfangreiche Web SQL Database-API ansehen, sollten wir zunächst
noch ein paar Fakten zu dieser API und den damit zusammenhängenden Datenbanken
betrachten.
Zunächst gilt für den Zugriff auf die Datenbanken ähnlich wie beim session - und
localStorage der Web Storage-API das Origin-Prinzip. Alle Webseiten desselben Ori-
gins können also in vollem Umfang auf die Daten zugreifen, diese modifizieren und
löschen.
Jede Datenbank, die mit der Database-API erzeugt wird, hat einen Zugriffsnamen und
eine Version. Anhand der Version kann später das Datenbankschema auf eine neuere
Version migriert werden, da bestehenden Tabellen eventuell neue Spalten hinzugefügt
wurden.
Um eine Datenbank zu öffnen, muss immer der Name der Datenbank bekannt sein. Es
gibt keine Möglichkeit, sämtliche Datenbanken eines Origins durch diese API aufzulis-
ten oder zu löschen. Sie können zwar alle Tabellen einer Datenbank droppen. Ist die
eigentliche Datenbank jedoch einmal angelegt, kann sie nicht über diese API gelöscht
werden.
Beginnen wir damit, die Web SQL Database-API zu erforschen. Um eine vorhandene
Datenbank zu öffnen oder eine neue Datenbank entsprechenden Namens anzulegen,
benutzen Sie die openDatabase -Methode, die wie nachfolgend definiert ist. (Die
Web SQL-Spezifikation sieht weitere Methoden vor, beispielsweise für den synchronen
Zugriff auf die Datenbanken. Diese Methoden scheinen derzeit weder auf WebKits in
Android 2.1 noch bei iPhone OS 4 implementiert zu sein und werden deshalb hier nicht
vorgestellt.)
Database openDatabase(in DOMString name, in DOMString version,
in DOMString displayName, in unsigned long estimatedSize,
in optional DatabaseCallback creationCallback);
Um die notes -Datenbank zu öffnen, schreiben wir also das:
var db openDatabase('notes', '1.0', 'Offline Notes Storage', 5*1024*1024);
Hiermit öffnen oder erstellen Sie eine SQLite-Datenbank mit dem Namen notes und
der Version 1.0. Der dritte Parameter gibt die Beschreibung der Datenbank an, während
Search WWH ::




Custom Search