簡介SQLite
出自GaryLee
SQL資料庫系統是程式設計師的好幫手,對於大量的資料處理上是絕對不可或缺的。不過,如果稍微少一點的資料呢?
比如說:
- 你有幾千筆的資料,以後也不太會增加。
- 你的程式可能只有單機使用,
- 就算可以上網,你也不想就為了這個程式來架一個資料庫。
- 這個應用程式沒有多人一起使用的需求。
諸如此類的狀況,也許您也曾經遇到過。通常您有幾種作法:
- 累一點,在同一台機器上架個資料庫系統。
- 找個小型的資料庫系統,像是GDBM,Windows的Registry,Access,或是乾脆用CSV格式的文字檔。
第一種方法,對於使用者來說可能會是個大問題。因為不是每個使用者都懂得,而且願意架設一個資料庫系統在自己的電腦上。甚至他的電腦夠不夠力跑一個資料庫 系統都是問題。第二種方法,是許多人常用的方式,尤其在Windows系統下面,許多人常常用Registry來作為軟體的資料庫。不過,話說回來,少掉 了SQL的幫助,很多資料處理的功能都要自己來作,對於程式設計師來說真的是很累。
其實,還有另外一種折衷的方案,就是使用SQLite這樣的嵌入式資料庫。對於程式設計師來說,使用這樣的資料庫,與使用一般的SQL資料庫差異不大。一 般的SQL92語法都可以使用。而且不用架設任何系統起來,只要在編譯程式時把SQLite的程式庫一併編入。
而且SQLite的資料庫都是單一的檔案。 所以,要將軟體安裝到使用者的電腦上是再簡單不過的事情。
下面就來看看SQLite網站上對於這個嵌入式資料庫的介紹: SQLite是一個很小的C語言程式庫。這個程式庫本身就完全包含資料庫引擎的功能,而且可以嵌入至其他程式中,完全不用額外的設定。其特性如下:
- 支援ACID (Atomic, Consistent, Isolated, Durable) 交易。
- 零組態設定(Zero-configuration),無須管理者的設定及管理。
- 支援大部分SQL92的語法。
- 資料庫存在於一個單一的檔案中。
- 資料庫系統所在機器的位元組順序(Byte order)無關。
- 支援大小至2 terabytes (2^41 bytes)。
- 極小的記憶體需求:小於3萬行的C語言程式碼。小於250KB的程式空間。
- 大部分的資料庫操作皆快於一般流行的資料庫系統。
- 簡單易用的API。
- 支援TCL。也有其他語言的支援可用。
- 註解詳細的程式碼,以及超過90%的測試。
- 程式庫自己包含完整的功能,無須其他額外的程式或程式庫。
- 程式碼版權為public domain。任何用途皆可免費使用。
在與其他的開發工具連結方面,SQLite幾乎可以在目前所有的主流開發工具,平台,程式語言上面使用:
- Ada
- Anubis
- BASIC
- C/C++
- Ch
- Clipper
- Common Lisp
- COM Wrapper/VB DLLs
- D language
- ODBC
- Pascal/Delphi
- Director
- eyuyan
- Ewe
- Flash
- Forth
- Fortran
- Haskell
- J
- Java
- JavaScript
- Lua
- mIRC script language
- .Net framework
- newLisp
- Objective-C
- Perl
- PHP
- Pike
- Python
- Rebol
- Rexx
- Ruby
- S-lang
- Scheme
- Smalltalk
- Tcl/Tk
- QT
而在作業系統支援上,除了目前大部分的PC/NB所使用的作業系統,如Windows, Linux, FreeBSD, OS/2 ...等。在嵌入式系統上也有支援,如Embedded系統使用的Linux, Win CE及Symbian等等。