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等等。
參考: |