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