網頁

2013年3月26日 星期二

Gossip for SQLite


真糟糕, 怎麼一下又跳到 SQLite 了呢 ?! , 只不過攻城的時候, 才發現沒有帶梯子, 再回來拿而已.
 

What is SQLite


SQLite 是一個符合 ACID 要求的關連式資料庫管理系統. 它的特色如下:

1. Support SQL 92 標準.
2. 不是 Client/Server 架構, 直接在本機操作, 所以有時又被冠以 embedded.
3. 它的執行檔不到 500K ( windows 版本為例)
4. 它的原始碼是 public domain. 意即公共財, 任何人都可以用任何方式使用. 除了以下例外:
  • You are using SQLite in a jurisdiction that does not recognize the public domain.
  • ( 你在一個不承認公共財的地區使用 SQLite)
  •  
  • You are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the public domain.
  • ( 你在一個不承認作者致力於公共財的努力的地區使用 SQLite)
  •  
  • You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite.
  • ( 你想要持有一份正式文件, 證明你有權力使用及發佈 SQLite)
  •  
  •  
  • Your legal department tells you that you have to purchase a license.
  • ( 你的法律部門告訴你必須購買授權)
  •  
  • ( 有以上需求的人, 可以用 $1000 的價格, 購買授權)
 
特別推薦, 版權頁的聲明, 也是非常值得一讀..

**    The author disclaims copyright to this source code.  In place of
**    a legal notice, here is a blessing:
**
**    May you do good and not evil.
**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.
**

Where can I find SQLite ?


下作業系統均內建 SQLite
  • Windows's Windows Phone 8.
  • Apple's iOS
  • Nokia's Maemo
  • Google's Android
  • RIM's BlackBerry
  • Linux Fundation's MeeGo
  • LG's webOS
  • NetBSD
  • OpenBSD
事實上, 它可以支援任何有 C 編譯器的作業系統. 因為它的原始碼只有一個 C 程式. 甚至不需要 makefile 就可以移轉到任何平台.

目前有發行的可執行版本, 可以在以下作業系統運行

Linux
Mac OS X (x86)
Windows
Windows Phone 8
Windows Runtime
.NET

以下瀏覽器也內建並使用 SQLite

Mozilla Firefox
Mozilla Thunderbird
Chrome browser
Opera Internet suite
 
詳細整合應用列表請見以下連結:
http://en.wikipedia.org/wiki/SQLite

 

How can I use SQLite:


直接操作的部份, 可以參考前面有執行檔的部份.

程式介面部份:
SQLit 支援 C/C++, Tcl, 透過第三方軟體, 也可以支援Java,JDBC,PHP,Objective-C,Perl, 大部份常見的程式設計介面都可以支援.

下載及安裝 :
可以到以下連結下載.
http://www.sqlite.org/download.html

安裝 ? , 你不需要安裝. 下載的 zip 檔解開就是執行檔了. 雙擊就可以執行.

Why I use SQLite ?


如果想要從事 Android, iOS,Windows Phone app開發, 免不了一定會接觸到 SQLite. 雖然同樣是 SQL, 但是 MS-SQL, MySQL, SQLIte 的語法仍然有一些差異. 這時可以先在 Windows 或是 Linux 上先測試完成這些敘述, 會比整合到 mobile 系統上再去 debug 來得有效率.

大部份的情況下, 簡單的 SQL 敘述就可以達成. 但是如果超過 2000 筆資料, 不使用索引, 就會覺得很 low. 一些含有限制式的敘述, 譬如說, WHERE 子句,就比較複雜, 最好先測試.
 
如果用到兩個以上的資料表, 最好先建立測試站, 測試完成無誤再轉移.

雖然, 大部份的平臺都提供了不同程式介面, 及封裝的物件, 譬如說 JDBC for Java, FMDB for Objective-C, 但是它的本質仍然是 SQL 的敘述. 了解 SQL 的敘述, 再去使用這些封裝, 就容易得多了.

 

 

沒有留言:

張貼留言

請提供您寶貴的意見