BookRags.com Literature Guides Literature
Guides
Criticism & Essays Criticism &
Essays
Questions & Answers Questions &
Answers
Lesson Plans Lesson
Plans
My Bibliography Periodic Table U.S. Presidents Shakespeare Sonnet Shake-Up
Research Anything:        
History | Encyclopedias | Films | News | Create a Bibliography | More... Login | Register | Help
Not What You Meant?  There are 43 definitions for TCL.

SQLite

Print-Friendly
About 3 pages (903 words)

Bookmark and Share Questions on this topic? Just ask!
SQLite
Developer D. Richard Hipp
Latest release 3.5.4 / 14 December 2007
OS Cross-platform
Genre database management system
License Public domain
Website http://sqlite.org/

SQLite is an 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. This reduces latency in database access because 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.

Contents

Features

SQLite implements most of the SQL-92 standard, including database transactions that are atomic, isolated, and durable (three of the ACID requirements). SQLite supports triggers and most complex queries. SQLite silently ignores integrity constraints (foreign key constraints), so does not satisfy the consistency requirement.[1] 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.[2] 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++, Java, Delphi, Tcl, R, PHP, Perl, Ruby, Objective-C (on Mac OS X), Python, newLisp and Smalltalk.[3]

Adoption

SQLite is known to be embedded in:

  • Mozilla Firefox, the leading open-source web browser, for some databases in the user profile.
  • Ruby on Rails, default database in Ruby on Rails 2.0 release.
  • Android, the mobile phone development kit created by Google, to store user data.
  • Mac OS X, starting with version 10.4 (Tiger), as a persistence layer of the Core Data API
  • musikCube, a low weight music player, for querying the media library in dynamic playlists.
  • Google Gears, providing local DB facilities to javascript apps.

See also

Free software Portal

Further reading

References

External links

View More Summaries on SQLite
 
Ask any question on SQLite and get it answered FAST!
Answer questions in BookRags Q&A and earn points toward
discounted or even FREE Study Guides and other BookRags products!
Learn more about BookRags Q&A
Copyrights
SQLite from Wíkipedia. ©2006 by Wíkipedia. Licensed under the GNU Free Documentation License. View a list of authors or edit this article.

Article Navigation
Join BookRagslearn moreJoin BookRags




About BookRags | Customer Service | Report an Error | Terms of Use | Privacy Policy