Firebird (數據庫)

Firebird，是一個跨平臺的關係數據庫系統，目前能夠運行在Windows、linux和各種Unix操作系統上，源於Borland公司的InterBase 6.0，是一個完全非商業化的產品，但源代碼經過大規模重寫，使用C++開發。

**特色**
支援多版本並行控制（Multiversion Concurrency Control，MVCC）、預存程序（Stored Procedure）、觸發程序（Trigger）、User-defined function（User-defined function，專有名詞縮寫UDF）等商用資料庫行為程序。同時因為與interbase的血緣關係，部分interbase的GUI工具可以直接應用到Firebird開發中。

**版本區分 == 
Firebird提供三個伺服器環境版本，分別是超級伺服器版本（SuperServer）、標準伺服器版本（ClassicServer）與嵌入式版本（Embedded）：
 超級伺服器版本（SuperServer）
 支援多執行緒（Multithreading）模式，可以以背景Service模式執行。
 標準伺服器版本（ClassicServer）
 支援每個執行緒可以個別管理自己的資料庫，允許資料庫與伺服器不是儲存在同一臺情境，適合用於多處理器環境。
 嵌入式版本（Embedded）
 針對嵌入式系統要求獨佔程序設計版本，允許資料庫與伺服器在同一臺運行情境。

**歷史**

**Firebird 1.0**
2002年3月11日公開，初期支援Linux、Windows、Mac OS X版本，兩個月後公開Solaris、FreeBSD、HP-UX移植版本，以C語言為中心開發。

**Firebird 1.5**
2004年2月23日公開，自此版本開始變更為C++為中心開發。支援SQL92陳述句（SQL-92）標準函式、SQL1999陳述句（SQL:1999）的SAVEPOINT函式與明確鎖定（explicit locking）等。

**Firebird 2.0**
2006年11月12日公開，支援SQL2003陳述句（SQL:2003）的MERGE函式。更新版本2.1開始支援64位元Windows環境、觸發式（Trigger）等。

**Firebird 2.1**
2008年4月18日公開。

**Firebird 2.5**
2010年10月4日公開。支援正規表示式（Regular Expression，專有名詞縮寫RE）等。

**Firebird 3.0**
2016年4月19日公開。支援布林值（BOOLEAN）與自動遞增數值（IDENTITY）儲存規格。允許使用IPv6網際協定連線資料庫等。更新版本3.0.2起開始支援Android環境。
自該版本起不再提供Firebird 3.0之前舊版本資料庫相容（On Disk Structure，專有名詞縮寫ODS）。

**Firebird 4.0**
2021年6月1日公開。支援128位元整數（INT128）儲存規格。上修浮動十進制（DECFLOAT）與十進制整數（DECIMAL）儲存精度規格等。

**Firebird 5.0**
2024年1月11日公開。

**判斷資料庫所執行引擎版本**
 Windows
執行command應用程式，然後執行下列查詢：
gstat switches database_name
例如安裝Firebird位於Program Files，資料庫檔案test.fdb位於分割區C，則執行下列查詢：
C:\PROGRA~1\Firebird\Firebird_5_0>gstat -h c:\test.fdb 
Command應用程式將會回傳以下訊息：
Database "c:\test.fdb"
Gstat execution time Wed Jun 19 19:02:46 2024
Database header page information:
Flags                   0
Generation              33
System Change Number    0
Page size               8192
ODS version             13.1
Oldest transaction      24
Oldest active           25
Oldest snapshot         25
Next transaction        26
Sequence number         0
Next attachment ID      5
Implementation          HW=AMD/Intel/x64 little-endian OS=Windows CC=MSVC
Shadow count            0
Page buffers            0
Next header page        0
Database dialect        3
Creation date           Jan 11, 2024 11:07:27
Attributes              force write
Variable header data:
Database GUID:  {2193572f-c8d2-404e-b779-08671a1309dd}
*END
Gstat completion time Wed Jun 19 19:02:46 2024
回傳訊息當中的ODS version即為資料庫所執行引擎版本。- Linux
執行Tux應用程式，然後執行下列查詢：
gstat database_name  switches 
例如安裝Firebird位於bin，資料庫檔案test.fdb位於根目錄，則執行下列查詢：
gstat test -h
Tux應用程式將會回傳以下訊息：
Database "/test.fdb"
Database header page information:
Flags              0
Checksum           0
Greeration         0
page size          0
ODS version        11.2
Oldest transection 0
Oldest actuive     0
Oldest snapshot    0
Next transection   0
Bumped transection 0
Sequence number    0
Next attachent ID  0
Implentation ID    0
Shadow count       0
Pager buffers      0
Next header page   0
Database diaect    0
Creation date      Jan 1, 2024 00:00:00
Attributes         force write
Variable header data:
Sweep interval: 0
*END
回傳訊息當中的ODS version即為資料庫所執行引擎版本。

**GUI工具 == 
GUI工具Turbobird-  FlameRobindate=20170429103956 -  Database Master-  ibWebAdmindate=20170619203434 

**參考文獻**

**外部鏈接**
 Firebird - Relational Database for the New Milleniumdate=20200909081046