SQLite


aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
SQLite
Logo von SQLite
Entwickler Das SQLite-Team
Aktuelle Version 3.9.2 <ref>SQLite Release 3.9.2 On 2015-11-03. In: sqlite.org. 3. November 2015, abgerufen am 3. November 2015 (english).</ref>
(3. November 2015)
Betriebssystem Windows, OS X, GNU/Linux und andere unixoide Systeme
Programmier­sprache C
Kategorie SQL-Programmbibliothek
Lizenz gemeinfrei
Deutschsprachig nein
www.sqlite.org

SQLite ist eine Programmbibliothek, die ein relationales Datenbanksystem enthält. SQLite unterstützt einen Großteil der im SQL-92-Standard festgelegten SQL-Sprachbefehle. Unter anderem implementiert SQLite Transaktionen, Unterabfragen (subselects), Sichten (views), Trigger und benutzerdefinierte Funktionen. Das System ist vor allem für den Einsatz in eingebetteten Datenbanksystemen entworfen, daher fehlen Funktionen wie die Möglichkeit, Objektberechtigungen zu verwalten (GRANT, REVOKE). Für viele Programmiersprachen existieren passende Datenbankschnittstellen. Auch ein in der Konsole und in Shell-Skripten verwendbares, einfaches Frontend ist vorhanden. Mit sqlitebrowser steht ein grafisches Frontend für Unix und Windows zur Verfügung.<ref>sqlitebrowser – SQLite Database Browser bei GitHub</ref> Die gesamte Datenbank befindet sich in einer einzigen Datei. Eine Client-Server-Architektur ist nicht vorhanden.

Funktionen

Die SQLite-Bibliothek lässt sich direkt in entsprechende Anwendungen integrieren, so dass keine weitere Server-Software benötigt wird. Letzteres ist dies der entscheidende Unterschied zu anderen Datenbanksystemen. Durch das Einbinden der Bibliothek wird die Anwendung um Datenbankfunktionen erweitert, ohne auf externe Softwarepakete angewiesen zu sein.

SQLite hat einige Besonderheiten gegenüber anderen Datenbanken: Die Bibliothek ist nur wenige hundert Kilobyte groß. Eine SQLite-Datenbank besteht aus einer einzigen Datei, die alle Tabellen, Indizes, Views, Trigger usw. enthält. Dies vereinfacht den Austausch zwischen verschiedenen Systemen, sogar zwischen Systemen mit unterschiedlichen Byte-Reihenfolgen. Jede Spalte kann Daten beliebiger Typen enthalten, erst zur Laufzeit wird nötigenfalls konvertiert.

Einige in anderen Datenbanksystemen vorhandene Features bietet SQLite nicht: Schreiboperationen unterschiedlicher Prozesse in derselben Datenbankdatei können nur nacheinander ausgeführt werden.<ref>Frequently Asked Questions. Hipp, Wyrick & Company. Abgerufen am 22. August 2009.</ref> Seit Version 3.2 gibt es den Befehl ALTER TABLE, allerdings verfügt er nur über einen eingeschränkten Funktionsumfang. Es lassen sich derzeit lediglich Tabellen umbenennen und Spalten zu den Tabellen hinzufügen. SQLite verfügt über keine Verwaltung von Benutzer- und Zugriffsberechtigungen auf Datenbank-Ebene. Es gelten für die Datenbank-Dateien die Zugriffsberechtigungen des Dateisystems.

SQLite wurde im Jahr 2000 von dem US-Amerikaner Richard Hipp (* 1961) entwickelt und ist in C geschrieben. Außerdem wird eine Bibliothek für die Benutzung unter Tcl angeboten. Für andere Programmiersprachen wie C++ und Java gibt es Wrapper externer Entwickler, Python (ab Version 2.5) enthält SQLite sogar in der Standardausstattung.<ref>11.13. sqlite3 — DB-API 2.0 interface for SQLite databases — Python v2.7.3 documentation</ref> Ebenso stehen ODBC-, dbExpress und JDBC-Treiber zur Verfügung.<ref>SQLite ODBC Driver von Christian Werner</ref><ref>SQLite Java Wrapper/JDBC Driver von Christian Werner</ref> SQLite erzwingt keine Typsicherheit: Fehlerhafte Eingaben werden in der Regel akzeptiert und in Zeichenketten umgewandelt.

Verwendung und Verbreitung

Eingesetzt wird SQLite unter anderem in Betriebssystemen für Mobiltelefone, wie Symbian OS oder Android.<ref>Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatData Storage – Android Developers. Google, abgerufen am 28. April 2009 (englisch).</ref> Außerdem nutzt der Browser Mozilla Firefox seit Version 3 SQLite – beispielsweise für Lesezeichen und Cookies – nachdem man schon in Version 2 SQLite für programminterne Datenbanken benutzt hatte. Für diesen Browser und alle anderen Mozilla-basierten Anwendungen gibt es zudem das Add-on SQLite Manager, mit dem man die SQLite-Datenbanken der Anwendung, aber auch jede beliebige andere SQLite-Datenbank betrachten, bearbeiten und abfragen kann.<ref>Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatSQLite Manager – Firefox Add-ons. Mozilla, abgerufen am 20. November 2008 (deutsch-englisch).</ref>

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. Auch Videos und Musikstücke des iPhones sind in einer SQLite-Datenbank gespeichert. Innerhalb von OS X wird SQLite auch zur Verwaltung von Cache-Daten wie z. B. die der Software-Aktualisierung eingesetzt. SQLite kommt auch in Adobe AIR als Datenbankanwendung zum Einsatz<ref>Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatWorking with local SQL databases. Adobe, abgerufen am 6. August 2009 (englisch).</ref>. Ab Version 1.5 von Adobe AIR können SQLite-Daten mittels der EncryptedLocalStore-Klasse auch verschlüsselt abgespeichert und gelesen werden<ref>Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatStoring encrypted data. Adobe, abgerufen am 6. August 2009 (englisch).</ref>. Die VoIP/Messenger-Software Skype ab Version 4 speichert Kontakte und alle anfallenden Nutzerdaten (Chatprotokolle, usw.) in einer SQLite-Datenbank ab. Auch Google nutzt für seinen Browser Chrome SQLite um unter anderem Benutzerdaten lokal zu sichern. Durch die Integration in Mozilla Firefox, in den verbreiteten Mobiltelefonen (Android, iOS, Symbian OS, Windows Phone) sowie mit jeder PHP-Installation<ref>Abschnitt SQLite des PHP-Handbuchs</ref><ref>Abschnitt SQLite3 des PHP-Handbuchs</ref> (die für sich schon hohe Nutzerzahlen haben) ist SQLite das verbreitetste und meistverwendete Datenbanksystem der Welt.

Auch in OpenOffice können SQLite-Datenbanken eingebunden werden.<ref>SQLite im Einsatz mit OpenOffice.org (PDF; 765 kB)</ref>

Rechtliches

Während die Software gemeinfrei ist, wurde am 12. Februar 2007 die Registrierung der Marke SQLite beim United States Patent and Trademark Office beantragt. Diesem Antrag wurde am 24. Juni 2008 stattgegeben.<ref name="uspto">United States Patent and Trademark Office: Registerauszug zur Marke SQLite. In: Trademark Applications and Registrations Retrieval (tarr.uspto.gov). Abgerufen am 22. Januar 2010 (english).</ref>

Weblinks

Einzelnachweise

<references />