| SQLite | |
|---|---|
![]() |
|
| Entwickler: | Das SQLite-Team |
| Aktuelle Version: | 3.6.6 (19. November 2008) |
| Betriebssystem: | Microsoft Windows, Mac OS X, GNU/Linux und andere unixoide Systeme |
| Kategorie: | SQL-Programmbibliothek |
| Lizenz: | Public Domain |
| Deutschsprachig: | nein |
| www.sqlite.org | |
SQLite ist eine Programmbibliothek, die ein relationales Datenbanksystem enthält. Unter anderem unterstützt SQLite Transaktionen, Unterabfragen (subselects), Sichten (views), Trigger und benutzerdefinierte Funktionen. Die Datenbank ist vor allem für den Embedded-Einsatz entworfen, daher fehlen Funktionen wie Referentielle Integrität (FOREIGN KEY) oder die Möglichkeit, Objektberechtigungen zu verwalten (GRANT, REVOKE). Für alle wichtigen Programmiersprachen existieren passende Datenbankschnittstellen. Auch ein in der Konsole und in Shell-Skripten verwendbares, einfaches Frontend ist vorhanden. Durch die Entwicklung als Embedded lässt sich die Applikation direkt in entsprechende Anwendungen integrieren, so dass eine weitere Server-Software nicht benötigt wird.
Letzteres ist der entscheidende Unterschied gegenüber anderen Datenbanken. Durch Einbinden der Bibliothek wird die Applikation um Datenbankfunktionalitäten erweitert ohne auf externe Softwarepakete angewiesen zu sein. Ein Anwendungsgebiet sind z. B. Programme zur Analyse von Logdateien. Diese lesen eine Logdatei ein, zerlegen sie und speichern sie intern als Datensätze in einer Tabelle. Durch den Zugriff mittels SQL auf die Daten ist ein nahezu beliebiges Sortieren und Filtern möglich.
SQLite hat einige Besonderheiten gegenüber anderen Datenbanken: Die Bibliothek ist nur wenige hundert Kilobyte groß. Die Datenbanken können verteilt auf mehrere Dateien, bei Bedarf auch in eine einzelne Datei, gespeichert werden, was den Austausch zwischen verschiedenen Systemen, sogar zwischen Systemen mit unterschiedlichen Byte-Reihenfolgen, vereinfacht. Jede Spalte kann Daten beliebiger Typen enthalten, erst zur Laufzeit wird nötigenfalls konvertiert.
Einige in anderen Datenbanken vorhandene Features bietet SQLite nicht: Werden Daten bearbeitet, so ist die komplette Datenbank für Schreiboperationen gesperrt. Der Befehl ALTER TABLE existiert nur mit eingeschränktem Funktionsumfang und erst seit Version 3.2. Abgesehen von den Zugriffsberechtigungen auf das Dateisystem gibt es keine Benutzer- oder Zugriffsberechtigungen für die Datenbank.
SQLite wurde im Jahr 2000 von Richard Hipp entwickelt und ist in C geschrieben. Für andere Programmiersprachen wie C++ und Java gibt es Wrapper, ebenso stehen ODBC- und JDBC-Treiber zur Verfügung. Die SQLite erzwingt keine Typsicherheit: Fehlerhafte Eingaben akzeptiert es in der Regel und wandelt sie in Zeichenketten.
Eingesetzt wird SQLite unter anderem in Symbian OS, ein System das auf vielen Mobiltelefonen Verwendung findet. Außerdem nutzt die am 17. Juni 2008 erschienene Version 3 des Mozilla Firefox-Browsers komplett SQLite – beispielsweise auch für Bookmarks – nachdem schon die Version 2 SQLite für programminterne Datenbanken benutzt hatte. Für diesen Browser und alle anderen Mozilla-basierten Anwendungen gibt es zudem das Addon SQLite Manager, mit dem man die SQLite-Datenbanken der Anwendung, aber auch jede beliebige andere SQLite-Datenbank betrachten, bearbeiten und abfragen kann.[1]
Des Weiteren benutzt der Browser Safari von Apple intern SQLite, sowohl die Desktop- als auch die iPhone-Variante wie auch das E-Mail-Programm Mail von Apple.