# Firebird (base de données)

Firebird est un serveur de bases de données relationnelles SQL fonctionnant sous Linux, Mac OS X, Unix et Windows. Il est transactionnel multi-niveaux (two-phase commit sur une transaction partagée sur plusieurs connexions à des bases de données différentes).

## Historique

Firebird est un logiciel libre développé, sous licence Interbase Public Licence (dérivée de la Mozilla Public License 1.1), à partir d'une version d'Interbase brièvement passée Open Source dans sa version 6 en juillet 2000 avant que Borland ne décide de continuer à l'exploiter sous licence propriétaire à partir de la version 6.5.
Fin 2003, une querelle a opposé les communautés Mozilla et Firebird après qu'un dérivé du navigateur web Mozilla eut été renommé Mozilla Firebird. Les deux parties se sont finalement entendues et le navigateur a été renommé Mozilla Firefox lors de son passage en version 0.8, début 2004.

### Firebird aujourd'hui

Le projet est actuellement soutenu par la Firebird Foundation et par différents sponsors dont IBPhoenix.
Après une version 1 incluant principalement des corrections de bugs d'Interbase 6, la version 1.5 est caractérisée par le portage du code écrit en langage de programmation C vers le langage C++ ainsi que par l'ajout de fonctions conformes aux standards SQL92 et SQL99. Firebird est multiplate-forme.
Le 18 avril 2008, est sortie la version 2.1 de Firebird. Le 4 octobre 2011, est sortie la version 2.5 de Firebird.
La version 3.0 est sortie le 19 avril 2016. Parallèlement à la sortie de versions correctives mineures démarre le développement de la version 4.0, donnant lieu à une release alpha 1 le 18 juillet 2017. La version 4 stable sort en juin 2021.
La Fondation The Document Foundation, développeur de LibreOffice, a intégré la base de données FireBird dans sa suite bureautique depuis 2018 comme l'un des deux formats natifs de l'application "Base" (l'autre format natif s'appelle HyperSQL : HSQLDB).

## Caractéristiques principales

* Support complet des procédures stockées et des déclencheurs
* Transactions entièrement conformes à la norme ACID
* Intégrité référentielle
* Architecture multigénérationnelle (parfois appelée MVCC)
* Prise en charge des fonctions externes (UDF)
* L'activité SQL peut envoyer des événements de notification asynchrones aux clients
* Outils tiers, notamment des outils d'administration GUI et des outils de réplication
* Écritures prudentes - récupération rapide, pas besoin de journaux de transactions
* Nombreuses méthodes d'accès : natif/API, pilotes dbExpress/FireDAC, ODBC, OLE DB, fournisseur .NET, pilote natif JDBC de type 4, module Python, PHP, Perl
* Sauvegardes incrémentielles
* Implémentation complète du curseur dans PSQL

## Fyracle

Fyracle est une version modifiée de FireBird qui permet de l'utiliser à la place d'Oracle. Ainsi, la syntaxe du langage SQL d'Oracle pourra être utilisée pour effectuer des requêtes sur la base de données FireBird.
L'une des applications les plus utiles de cet outil est de permettre l'emploi de FireBird avec l'ERP Compiere, qui est fait pour utiliser Oracle.

## Outil d'administration

* Database Workbench est une application logicielle pour le développement et l'administration de plusieurs bases de données relationnelles à l'aide de SQL, avec une interopérabilité entre différents systèmes de bases de données, développée par Upscene Productions.
* DBeaver est un logiciel qui permet l'administration et le requêtage de base de données. C'est un logiciel libre distribué sous la licence Apache.
* DeZign for Databases est un utilitaire pour les administrateurs et les concepteurs de bases de données qui ont besoin de créer des scripts SQL basés sur leurs diagrammes tels que UML (Unified Modeling Language) ou ERD (Modèle entité-association).
* ERBuilder Data Modeler est un logiciel de modélisation de bases de données, c'est un outil visuel pour la modélisation de bases de données et la génération de scripts DDL en utilisant une approche entité-association.
* FlameRobin est un outil d'administration des bases de données Firebird.
* IBExpert Developer Studio est l'outil GUI le plus complet pour Firebird et InterBase. Il comprend les composants suivants: IBExpert IDE, Outils serveur et IBExpertDemoDB.