dbTuning: FirebirdCompliance
Created by: Lester Caine, Last modification: 26 May 2005 (18:32 UTC)
Firebird has full SQL 92 Entry Level 1 Support and implements most of the SQL-99 standard, plus some very useful additions. This includes DML/DDL statements, FULL/LEFT/RIGHT OUTER JOIN syntax, UNION, DISTINCT clauses, subselects (IN, EXISTS), internal functions (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), constraints (PRIMARY KEY, UNIQUE, FOREIGN KEY), as well as all common SQL data types.
Firebird also implements Domain and Field level Check Constraints, Views, Exceptions, Roles and a fine- grained Grant management. See the Release Notes and the Firebird Reference Guide for more details.
Firebird supports a number of connectivity methods, including: native Component Packages for C/C++ and Delphi, ODBC, JDBC (JayBird), PHP Driver, OLEDB driver, dbExpress, .Net data provider and finally through direct API calls using fbclient.dll/.so.
Firebird allows really huge databases. Databases can span multiple files, the size of each file is OS- dependant. The theoretical limit is currently 64TB for a single-file database, so the practical limit is usually the operating / file system or available HD space.
There are three different versions of the engine, all interchangeable and each with its own strengths:
Firebird also implements Domain and Field level Check Constraints, Views, Exceptions, Roles and a fine- grained Grant management. See the Release Notes and the Firebird Reference Guide for more details.
Firebird supports a number of connectivity methods, including: native Component Packages for C/C++ and Delphi, ODBC, JDBC (JayBird), PHP Driver, OLEDB driver, dbExpress, .Net data provider and finally through direct API calls using fbclient.dll/.so.
Firebird allows really huge databases. Databases can span multiple files, the size of each file is OS- dependant. The theoretical limit is currently 64TB for a single-file database, so the practical limit is usually the operating / file system or available HD space.
There are three different versions of the engine, all interchangeable and each with its own strengths:
- Classic Server (one instance per client connection; SMP/HT support)
- SuperServer (all connections handled by one module; currently no SMP/HT support)
- Embedded Version (the entire engine in a single DLL / SO (!) for single-user, single-database use) All versions use the same db file format, so you can switch between all of them any time you like.