Zum Inhalt springen

SQLite

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 31. Mai 2010 um 21:49 Uhr durch Anguish (Diskussion | Beiträge) (Verwendung). Sie kann sich erheblich von der aktuellen Version unterscheiden.
SQLite

Logo von SQLite
Basisdaten

Entwickler Das SQLite-Team
Erscheinungsjahr August 2000
Aktuelle Version 3.6.23.1[1]
(30. März 2010)
Betriebssystem Microsoft Windows, Mac 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 Embedded-Einsatz entworfen, daher fehlen Funktionen wie 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. 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 eine weitere Server-Software nicht benötigt wird. Letzteres ist der entscheidende Unterschied gegenüber anderen Datenbanksystemen. Durch das Einbinden der Bibliothek wird die Anwendung um Datenbankfunktionalitäten erweitert ohne auf externe Softwarepakete angewiesen zu sein.

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 Datenbanksystemen vorhandene Features bietet SQLite nicht: Schreiboperationen unterschiedlicher Prozesse in der selben Datenbankdatei können nur nacheinander ausgeführt werden.[2] Der Befehl ALTER TABLE existiert nur mit eingeschränktem Funktionsumfang und erst seit Version 3.2. Man kann 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 Richard Hipp entwickelt und ist in C geschrieben. Auf der Projektseite wird außerdem eine Bibliothek für die Benutzung unter Tcl angeboten. Für andere Programmiersprachen wie C++ und Java gibt es Wrapper externer Entwickler, ebenso stehen ODBC- und JDBC-Treiber zur Verfügung. SQLite erzwingt keine Typsicherheit: Fehlerhafte Eingaben werden in der Regel akzeptiert und in Zeichenketten gewandelt.

Verwendung

Eingesetzt wird SQLite unter anderem in Betriebssystemen für Mobiltelefone, wie Symbian OS oder Android[3]. Außerdem nutzt die am 17. Juni 2008 erschienene Version 3 des Mozilla-Firefox-Browsers SQLite – beispielsweise für Lesezeichen und Cookies – 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 Add-on SQLite Manager, mit dem man die SQLite-Datenbanken der Anwendung, aber auch jede beliebige andere SQLite-Datenbank betrachten, bearbeiten und abfragen kann.[4]

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. Innerhalb von Mac 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[5]. Ab Version 1.5 von Adobe AIR können SQLite-Daten mittels der EncryptedLocalStore-Klasse auch verschlüsselt abgespeichert und gelesen werden[6]. Die VoIP/Messenger-Software Skype ab Version 4 speichert Kontakte und alle anfallenden Nutzerdaten (Chatprotokolle, usw.) in einer unverschlüsselten SQLite-Datenbank ab.

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.[7]

Siehe auch

Einzelnachweise

  1. SQLite Release 3.6.23.1 On 2010 March 30. 30. März 2010, abgerufen am 5. April 2010 (englisch).
  2. Frequently Asked Questions. Hipp, Wyrick & Company, abgerufen am 22. August 2009.
  3. Data Storage – Android Developers. Google, abgerufen am 28. April 2009 (englisch).
  4. SQLite Manager – Firefox Add-ons. Mozilla, abgerufen am 20. November 2008 (deutsch-englisch).
  5. Working with local SQL databases. Adobe, abgerufen am 6. August 2009 (englisch).
  6. Storing encrypted data. Adobe, abgerufen am 6. August 2009 (englisch).
  7. United States Patent and Trademark Office: Registerauzug zur Marke SQLite. In: Trademark Applications and Registrations Retrieval (tarr.uspto.gov). Abgerufen am 22. Januar 2010 (englisch).