SQLite

SQLite

infobox software



caption =
developer = D. Richard Hipp
latest release version = 3.6.3
latest release date = release date|2008|09|22
latest_preview_version =
latest_preview_date =
operating system = Cross-platform
programming_language = C
genre = database management system
license = Public domain
website = http://sqlite.org/

SQLite is a mostly ACID-compliant relational database management system contained in a relatively small (~500kB) C programming library.

Unlike client-server database management systems, the SQLite engine is not a standalone process with which the program communicates. Instead, the SQLite library is linked in and thus becomes an integral part of the program. The program uses SQLite's functionality through simple function calls, which reduces latency in database access as function calls are more efficient than inter-process communication. The entire database (definitions, tables, indices, and the data itself) is stored as a single cross-platform file on a host machine. This simple design is achieved by locking the entire database file at the beginning of a transaction.

SQLite was created by D. Richard Hipp, who sells training, direct technical support contracts and add-ons such as compression and encryption. The source code for SQLite is in the public domain.

Features

SQLite implements most of the SQL-92 standard for SQL, including database transactions that are atomic, isolated, and durable (three of the ACID requirements). SQLite supports triggers and most complex queries. SQLite silently ignores referential integrity constraints (foreign key constraints) [ [http://www.sqlite.org/omitted.html SQL Features That SQLite Does Not Implement ] ] , so does not satisfy a common consistency requirementFact|date=July 2008.

SQLite uses an unusual type system for an SQL DBMS. Instead of assigning a type to a column as in most SQL database systems, types are assigned to individual values; in language terms it is "dynamically typed". Moreover, it is "weakly typed" in some of the same ways that Perl is: one can insert a string into an integer column (although SQLite will try to convert the string to an integer first, if the column's preferred type is integer). This adds flexibility to columns, especially when bound to a dynamically typed scripting language. However, the technique is not portable to other SQL databases. The inability to have strictly typed columns, as in typical databases, is a common criticism. The SQLite web site describes a "strict affinity" mode, but this feature has not yet been added. [cite web|url=http://www.sqlite.org/faq.html|title=Sqlite FAQ]

Several computer processes or threads may access the same database without problems. Several read accesses can be satisfied in parallel. A write access can only be satisfied if no other accesses are currently being serviced, otherwise the write access fails with an error code (or can automatically be retried until a configurable timeout expires). This concurrent access situation would change when dealing with temporary tables.

A standalone program called sqlite3 is provided which can be used to create a database, define tables within it, insert and change rows, run queries and manage an SQLite database file. This program is a single executable file on the host machine. It also serves as an example for writing applications that use the SQLite library.

SQLite also has bindings for a large number of programming languages, including BASIC, C, C++, Common Lisp, Java, C#, Delphi, Curl, Lua, Tcl, R, PHP, Perl, Ruby, Objective-C (on Mac OS X), Python, newLisp and Smalltalk. There is also a COM (ActiveX) wrapper making SQLite accessible on Windows to scripted languages such as Javascript and VBScript. This adds database capabilities to HTML Applications (HTA). [cite web|url=http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers|title=Sqlite Wrappers|work=SQLite CVSTrac]

High-profile deployment

SQLite's developers present a case for SQLite being the most widely deployed SQL database based on some of the more widely-deployed products known to be using SQLite. [ [http://sqlite.org/mostdeployed.html SQLite: Most Widely Deployed SQL Database ] ] These include:

* 125 million copies in Mozilla Firefox.
* 20 million Mac OS X computers, each of which contains multiple copies of SQLite. (In Mac OS X v10.4 Apple introduced SQLite as a persistence layer of the Core Data API.)
* 300 million downloads of Skype. (The Skype service has 100 million registered users.)
* An estimated 20 million Symbian phones with SQLite. (Newer versions of Symbian OS have SQLite built-in.)
* Every iPhone and iPod touch.

ee also

* List of relational database management systems
* Comparison of relational database management systems
* SQLite Manager
* SQLPro SQL Client

Further reading

*
* [http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html SQLite Tutorial] An article exploring the power and simplicity of SQLite.

References

External links

* [http://www.sqlite.org/ SQLite home page]
* [http://www.linuxformat.co.uk/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=19 "Linux Format" interview with Richard Hipp]
*
* [http://technology.guardian.co.uk/weekly/story/0,,2107239,00.html "Guardian" interview with Richard Hipp]
* [http://www.twit.tv/floss26 FLOSS Weekly audio interview with Richard Hipp]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • SQLite — Développeur D. Richard Hipp (Hwaci) Dernière version …   Wikipédia en Français

  • SQLite — Desarrollador D. Richard Hipp http://www.sqlite.org/ …   Wikipedia Español

  • SQLite — Entwickler Das SQLite Team Aktuelle Version 3.7.9[1] (1. November 2011) …   Deutsch Wikipedia

  • SQlite — Тип Реляционная СУБД Разработчик Ричард Хипп Написана на C ОС Кроссплатформенное программное обеспечение Верс …   Википедия

  • Sqlite — Тип Реляционная СУБД Разработчик Ричард Хипп Написана на C ОС Кроссплатформенное программное обеспечение Верс …   Википедия

  • SQlite — Entwickler: Das SQLite Team Aktuelle Version: 3.6.13[1] (13. April 2009) …   Deutsch Wikipedia

  • Sqlite — Entwickler: Das SQLite Team Aktuelle Version: 3.6.13[1] (13. April 2009) …   Deutsch Wikipedia

  • SQLite — Тип Реляционная СУБД Разработчик Ричард Хипп Написана на …   Википедия

  • SQLite — SQLlite es una pequeña librería programada en lenguaje C que implementa un completo motor de base de datos que no precisa configuración. Es muy rápido y la ventaja fundamental es que permite utilizar el lenguaje estandar SQL. SQLite destaca,… …   Enciclopedia Universal

  • SQLite Manager — Infobox Software name = SQLite Manager caption = author = Mrinal Kant developer = released = latest release version = latest release date = latest preview version = latest preview date = operating system = Windows, Mac, Unix, OS/2 platform =… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”