SQLite
| SQLite
| |
|---|---|
| [[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)|150px]] | |
| Basisdaten
| |
| Hauptentwickler | D. Richard Hipp |
| Entwickler | Das SQLite-Team<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.). (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref> |
| Erscheinungsjahr | 2000 |
| Aktuelle Version | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)) |
| Aktuelle Vorabversion | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)) |
| Betriebssystem | Windows, macOS, GNU/Linux und andere unixoide Systeme |
| Programmiersprache | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) |
| Kategorie | SQL-Programmbibliothek |
| Lizenz | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) |
| deutschsprachig | ja |
| Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) | |
| SQLite Database File Format | |
|---|---|
| Dateiendung: | .sqlite3, .sqlite, .db3, .db
|
| MIME-Type: | application/vnd.sqlite3(veraltet: application/x-sqlite3)<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.). (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref>
|
| Magische Zahl: | 53514c69746520666f726d6174203300 hex SQLite format 3\x00 |
| Erstveröffentlichung: | 18. Juni 2004 |
| Aktuelle Version | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)) |
| sqlite.org/fileformat2.html | |
SQLite ist eine gemeinfreie Programmbibliothek, die ein relationales Datenbanksystem enthält. SQLite wird in Mobiltelefonen (Android, iOS), in Browsern (Firefox, Safari, Chrome), Betriebssystem (Windows, Linux, MacOS) und vielen anderen Anwendungen eingesetzt. Es ist das verbreitetste und meistverwendete Datenbanksystem der Welt. 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.
Funktionen[Bearbeiten]
Die SQLite-Bibliothek lässt sich direkt in entsprechende Anwendungen integrieren, sodass keine weitere Server-Software benötigt wird. Dies ist der entscheidende Unterschied zu anderen Datenbanksystemen. Durch das Einbinden der Bibliothek wird die Anwendung um Datenbankfunktionen erweitert, ohne auf externe Softwarepakete angewiesen zu sein.
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.
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.
Die gesamte Datenbank befindet sich in einer einzigen Datei, kann aber auch nicht-persistent im Hauptspeicher angelegt werden.<ref>In-Memory Databases, sqlite.org, abgerufen am 21. Oktober 2016.</ref> Eine Client-Server-Architektur ist nicht vorhanden.
Einige in anderen Datenbanksystemen vorhandene Funktionen fehlen: Schreiboperationen unterschiedlicher Prozesse in derselben Datenbankdatei können nur nacheinander ausgeführt werden.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Hipp, Wyrick & Company ehemals im Vorlage:Referrer (nicht mehr online verfügbar)</ref> Es gibt keine Verwaltung von Benutzer- und Zugriffsberechtigungen auf Datenbank-Ebene, stattdessen gelten für die Datenbank-Dateien die Zugriffsberechtigungen des Dateisystems. Andere Funktionen waren nicht von Anfang an (vollständig) implementiert, sondern sind später dazugekommen und ergänzt worden, so z. B. ALTER TABLE<ref>ALTER TABLE #2. ALTER TABLE RENAME</ref> oder RIGHT JOIN und OUTER JOIN.<ref>Release History Of SQLite #2022-06-25 (3.39.0)</ref>
Schnittstellen[Bearbeiten]
SQLite wurde von dem US-Amerikaner Richard Hipp in der Programmiersprache C entwickelt und am 17. August 2000 als Ausgabe 1.0 veröffentlicht.<ref>Release History (englisch) – bei SQLite.org; ebenda u. a. auch mit „2000-08-17 (1.0)“</ref> 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 und PHP enthalten SQLite sogar in der Standardausstattung.<ref>11.13. sqlite3 — DB-API 2.0 interface for SQLite databases — Python v2.7.3 documentation</ref><ref>PHP-Dokumentation zu SQLite3</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[Bearbeiten]
Eingesetzt wird SQLite unter anderem in Betriebssystemen für Mobiltelefone, wie Symbian OS oder Android.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Google ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.). (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref> Außerdem nutzt der Browser Mozilla Firefox ab 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 existieren zudem einige Firefox-Erweiterungen, mit denen man die SQLite-Datenbanken der Anwendung, aber auch jede beliebige andere SQLite-Datenbank betrachten, bearbeiten und abfragen kann.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)</ref>
Auch Apples Browser Apple Safari verwendet intern SQLite, sowohl die Desktop- als auch die iPhone-Variante wie auch das E-Mail-Programm Apple Mail. Videos und Musikstücke des iPhones sind in einer SQLite-Datenbank gespeichert. Innerhalb von macOS wird SQLite auch zur Verwaltung von Cache-Daten, wie z. B. die der Software-Aktualisierung, eingesetzt. SQLite kommt auch in Adobe AIR und Lightroom als Datenbankanwendung zum Einsatz.<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Adobe, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 19. März 2009 (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).</ref> Ab Version 1.5 von Adobe AIR können SQLite-Daten mittels der EncryptedLocalStore-Klasse auch verschlüsselt abgespeichert und gelesen werden.<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Adobe, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 20. August 2010 (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).</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.
Rechtliches[Bearbeiten]
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: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.). (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref>
Grafische Frontends[Bearbeiten]
Mit dem DB Browser for SQLite (sqlitebrowser) steht ein grafisches Frontend für BSD, macOS, Linux und Windows zur Verfügung, das unter der GNU GPL steht.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)</ref> Das quelloffene Letos steht ebenfalls unter der GNU GPL.<ref>Projektwebseite unter letos.org, zuletzt abgerufen am 27. Mai 2026.</ref>
Weblinks[Bearbeiten]
- Offizielle Website (englisch)
Einzelnachweise[Bearbeiten]
<references />