Comparison of relational database management systems
The following tables compare general and technical information for a number of relational database management systems . Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
Maintainer
First public release date
Latest stable version
Latest release date
License
Public issues list
4D (4th Dimension)
4D S.A.S.
1984
v16.0
2017-01-10[ 1]
Proprietary
No
ADABAS
Software AG
1970
8.1
2013-06
Proprietary
No
Adaptive Server Enterprise
SAP AG
1987
16.0 SP03 PL07
2019-06-10
Proprietary
No
Advantage Database Server (ADS)
SAP AG
1992
12.0
2015
Proprietary
No
Altibase
Altibase Corp.
2000
7.1.0.1.2
2018-03-02
Proprietary
No
Apache Derby
Apache
2004
10.17.1.0[ 2]
2023-11-14
Apache License
Yes[ 3]
Clustrix DB
MariaDB Corporation
2010
v7.0
2015-08-19
Proprietary
No
CockroachDB
Cockroach Labs
2015
v24.1.0
2024-05-20
BSL,CCL,MIT,BSD
Yes[ 4]
CUBRID
CUBRID
2008-11
11.2.3
2023-01-31
Apache License 2.0, BSD license for APIs and GUI tools
Yes[ 5]
Datacom
CA, Inc.
Early 70s[ 6]
14[ 7]
2012[ 8]
Proprietary
No
IBM Db2
IBM
1983
12.1[ 9]
2024-11-14; 5 months ago
Proprietary
No
Empress Embedded Database
Empress Software Inc
1979
10.20
2010-03
Proprietary
No
Exasol
EXASOL AG
2004
7.1.1
2021-09-15; 3 years ago
Proprietary
No
FileMaker
FileMaker, Inc., an Apple subsidiary
1985-04
19
2020-05-20
Proprietary
No
Firebird
Firebird project
2000-07-25
5.0.2[ 10]
2025-02-12; 2 months ago
IPL[ 11] and IDPL[ 12]
Yes[ 13]
GPUdb
GIS Federal
2014
3.2.5
2015-01-14
Proprietary
No
HSQLDB
HSQL Development Group
2001
2.6.1
2021-10-21
BSD
Yes[ 14]
H2
H2 Software
2005
2.3.232
2024-08-12
EPL and modified MPL
Yes[ 15]
Informix Dynamic Server
IBM / HCL Technologies
1981???? 1980
15.0.0.0
2024-11-20
Proprietary
No
Ingres
Actian
1974
11.2[ 16]
2022-05-06
GPL and Proprietary
No
InterBase
Embarcadero Technologies
1984
XE7 v12.0.4.357
2015-08-12
Proprietary
No
Linter SQL RDBMS
RELEX Group
1990
6.0.17.53
2018-02-15
Proprietary
Yes[ 17]
LucidDB
The Eigenbase Project
2007-01
0.9.4
2012-01-05
GPL v2
No
MariaDB
MariaDB Community
2010-02-01
11.7.2[ 18]
2025-02-13; 2 months ago
GPL v2, LGPL (for client-libraries)[ 19]
Yes[ 20]
MaxDB
SAP AG
2003-05
7.9.0.8
2014
Proprietary
Yes[ 21]
SingleStore (formerly MemSQL)
SingleStore
2012-06
7.1.11
2020-10-12
Proprietary
No
Microsoft Access (JET)
Microsoft
1992
16 (2016)
2015-09-22
Proprietary
No
Microsoft Visual Foxpro
Microsoft
1984
9 (2005)
2007-10-11
Proprietary
No
Microsoft SQL Server
Microsoft
1989
2022[ 22]
2022-11-16; 2 years ago
Proprietary
No
Microsoft SQL Server Compact (Embedded Database)
Microsoft
2000
2011 (v4.0)
Proprietary
No
Mimer SQL
Mimer Information Technology
1978
11.0.8E
2024-10-22
Proprietary
No
MonetDB
MonetDB Foundation [ 23]
2004
Mar2025 [ 24]
2025-03-27
Mozilla Public License, version 2.0[ 25]
Yes[ 26]
mSQL
Hughes Technologies
1994
4.1[ 27]
2017-06-30
Proprietary
No
MySQL
Oracle Corporation
1995-11
8.0.38[ 28]
2025-04-15; 23 days ago
GPL v2 or Proprietary
Yes[ 29]
NexusDB
NexusDB Pty Ltd
2003
4.00.14
2015-06-25
Proprietary
No
HPE NonStop SQL
Hewlett Packard Enterprise
1987
SQL/MX 3.4
Proprietary
No
NuoDB
NuoDB
2013
4.1
2020-08
Proprietary
No
Omnis Studio
TigerLogic Inc
1982-07
6.1.3 Release 1no
2015-12
Proprietary
No
OpenEdge
Progress Software Corporation
1984
12.8
2024-1
Proprietary
No
OpenLink Virtuoso
OpenLink Software
1998
7.2.5.1
2018-08-15
GPL v2 or Proprietary
Yes[ 30]
Oracle DB
Oracle Corporation
1979-11
23ai[ 31]
2023-09-19; 19 months ago
Proprietary
No
Oracle Rdb
Oracle Corporation
1984
7.4.1.1[ 32]
2021-04-21[±]
Proprietary
No
Paradox
Corel Corporation
1985
11
2009-09-07
Proprietary
No
Percona Server for MySQL
Percona
2006
8.0.37-29
2024-08-06[±]
GPL v2
Yes
Actian Zen (PSQL)
Actian
1982
v15
2021
Proprietary
No
Polyhedra DBMS
ENEA AB
1993
9.0
2015-06-24
Proprietary , with Polyhedra Lite available as Freeware [ 33]
No
PostgreSQL
PostgreSQL Global Development Group
1989-06
17.4
2025-02-21[ 34]
Postgres License [ 35]
No[ 36]
R:Base
R:BASE Technologies
1982
10.0
2016-05-26
Proprietary
No
SAP HANA
SAP AG
2010
2.0 SPS04
2019-08-08
Proprietary
No
solidDB
UNICOM Global
1992
7.0.0.10
2014-04-29
Proprietary
No
SQL Anywhere
SAP AG
1992
17.0.0.48
2019-07-26
Proprietary
No
SQLBase
Unify Corp.
1982
11.5
2008-11
Proprietary
No
SQLite
D. Richard Hipp
2000-09-12
3.49.2[ 37]
2025-05-07; 34 hours ago
Public domain
Yes[ 38]
SQream DB
SQream Technologies
2014
2.1[ 39]
2018-01-15
Proprietary
No
Superbase
Superbase
1984
Classic
2003
Proprietary
No
Superbase NG
Superbase NG
2002
Superbase NG 2.10
2017
Proprietary
Yes[ 40]
Teradata
Teradata
1984
15
2014-04
Proprietary
No
TiDB
PingCAP Inc.
2016
8.5.1[ 41]
2025-01-17; 3 months ago
Apache License
Yes[ 42]
UniData
Rocket Software
1988
8.2.1
2017-07
Proprietary
No
YugabyteDB
Yugabyte, Inc.
2018
2.20.1.3[ 43]
2024-01-25[±]
Apache License
Yes[ 44]
Maintainer
First public release date
Latest stable version
Latest release date
License
Public issues list
Operating system support
The operating systems that the RDBMSes can run on.
Fundamental features
Information about what fundamental RDBMS features are implemented natively.
Note (1): Currently only supports read uncommitted transaction isolation. Version 1.9 adds serializable isolation and version 2.0 will be fully ACID compliant.
Note (2): MariaDB and MySQL provide ACID compliance through the default InnoDB storage engine.[ 71] [ 72]
Note (3): "For other than InnoDB storage engines, MySQL Server parses and ignores the FOREIGN KEY and REFERENCES syntax in CREATE TABLE statements. The CHECK clause is parsed but ignored by all storage engines."[ 73]
Note (4): Support for Unicode is new in version 10.0.
Note (5): MySQL provides GUI interface through MySQL Workbench .
Note (6): OpenEdge SQL database engine uses Referential Integrity, OpenEdge ABL Database engine does not and is handled via database triggers.
Limits
Information about data size limits.
Max DB size
Max table size
Max row size
Max columns per row
Max Blob/Clob size
Max CHAR size
Max NUMBER size
Min DATE value
Max DATE value
Max column name size
4th Dimension
Limited
?
?
65,135
200 GB (2 GiB Unicode )
200 GB (2 GiB Unicode )
64 bits
?
?
?
Advantage Database Server
Unlimited
16 EiB
65,530 B
65,135 / (10+ AvgFieldNameLength)
4 GiB
?
64 bits
?
?
128
Apache Derby
Unlimited
Unlimited
Unlimited
1,012 (5,000 in views)
2,147,483,647 chars
254 (VARCHAR : 32,672)
64 bits
0001-01-01
9999-12-31
128
Clustrix DB
Unlimited
Unlimited
64 MB on Appliance, 4 MB on AWS
?
64 MB
64 MB
64 MB
0001-01-01
9999-12-31
254
CUBRID
2 EB
2 EB
Unlimited
Unlimited
Unlimited
1 GB
64 bits
0001-01-01
9999-12-31
254
IBM DB2
Unlimited
2 ZB
1,048,319 B
1,012
2 GB
32 KiB
64 bits
0001-01-01
9999-12-31
128
Empress Embedded Database
Unlimited
263 −1 bytes
2 GB
32,767
2 GB
2 GB
64 bits
0000-01-01
9999-12-31
32
EXASolution
Unlimited
Unlimited
Unlimited
10,000
—
2 MB
128 bits
0001-01-01
9999-12-31
256
FileMaker
8 TB
8 TB
8 TB
256,000,000
4 GB
10,000,000
1 billion characters, 10 −400 to 10 400 , ±
0001-01-01
4000-12-31
100
Firebird
Unlimited1
≈32 TB
65,536 B
Depends on data types used
32 GB
32,767 B
128 bits
100
32768
63
HSQLDB
64 TB
Unlimited8
Unlimited8
Unlimited8
64 TB7
Unlimited8
Unlimited8
0001-01-01
9999-12-31
128
H2
64 TB
Unlimited8
Unlimited8
Unlimited8
64 TB7
Unlimited8
64 bits
-99999999
99999999
Unlimited8
Max DB size
Max table size
Max row size
Max columns per row
Max Blob/Clob size
Max CHAR size
Max NUMBER size
Min DATE value
Max DATE value
Max column name size
Informix Dynamic Server
≈0.5 YB12
≈0,5YB12
32,765 bytes (exclusive of large objects)
32,765
4 TB
32,76514
10125 13
01/01/000110
12/31/9999
128 bytes
Ingres
Unlimited
Unlimited
256 KB
1,024
2 GB
32 000 B
64 bits
0001
9999
256
InterBase
Unlimited1
≈32 TB
65,536 B
Depends on data types used
2 GB
32,767 B
64 bits
100
32768
31
Linter SQL RDBMS
Unlimited
230 rows
64 KB (w/o BLOBs), 2GB (each BLOB value)
250
2 GB
4000 B
64 bits
0001-01-01
9999-12-31
66
MariaDB
Unlimited
MyISAM storage limits: 256 TB; Innodb storage limits: 64 TB; Aria storage limits: ???
64 KB3
4,0964
4 GB (longtext, longblob)
64 KB (text)
64 bits
1000
9999
64[ 74]
Microsoft Access (JET)
2 GB
2 GB
16 MB
255
64 KB (memo field), 1 GB ("OLE Object" field)
255 B (text field)
32 bits
0100
9999
64
Microsoft Visual Foxpro
Unlimited
2 GB
65,500 B
255
2 GB
16 MB
32 bits
0001
9999
10
Microsoft SQL Server
524,272 TB (32 767 files × 16 TB max file size)
16ZB per instance
524,272 TB
8,060 bytes / 2 TB6
1,024 / 30,000(with sparse columns)
2 GB / Unlimited (using RBS/FILESTREAM object)
2 GB6
126 bits2
0001
9999
128
Microsoft SQL Server Compact (Embedded Database)
4 GB
4 GB
8,060 bytes
1024
2 GB
4000
154 bits
0001
9999
128
Mimer SQL
Unlimited
Unlimited
16000 (+lob data)
252
Unlimited
15000
45 digits
0001-01-01
9999-12-31
128
MonetDB
Unlimited
Unlimited
Unlimited
Unlimited
2 GB
2 GB
128 bits
-4712-01-01
9999-12-31
1024
MySQL
Unlimited
MyISAM storage limits: 256 TB; Innodb storage limits: 64 TB
64 KB3
4,0964
4 GB (longtext, longblob)
64 KB (text)
64 bits
1000
9999
64
OpenLink Virtuoso
32 TB per instance (Unlimited via elastic cluster)
DB size (or 32 TB)
4 KB
200
2 GB
2 GB
231
0
9999
100
Oracle
2 PB (with standard 8k block) 8 PB (with max 32k block) 8 EB (with max 32k block and BIGFILE option)
4 GB × block size (with BIGFILE tablespace)
8 KB
1,000
128 TB
32,767 B11
126 bits
−4712
9999
128
Max DB size
Max table size
Max row size
Max columns per row
Max Blob/Clob size
Max CHAR size
Max NUMBER size
Min DATE value
Max DATE value
Max column name size
Actian Zen (PSQL)
4 billion objects
256 GB
2 GB
1,536
2 GB
8,000 bytes
64 bits
01-01-0001
12-31-9999
128 bytes
Polyhedra
Limited by available RAM, address space
232 rows
Unlimited
65,536
4 GB (subject to RAM)
4 GB (subject to RAM)
64 bits
0001-01-01
8000-12-31
255
PostgreSQL [ 75]
Unlimited
32 TB
1.6 TB
250–1600 depending on type
1 GB (text, bytea) stored inline or 4 TB using pg_largeobject
[ 76]
1 GB
Unlimited
−4,713
[ 77]
5,874,897
63
SAP HANA
?
?
?
?
?
?
?
?
?
?
solidDB
256 TB
256 TB
32 KB + BLOB data
Limited by row size
4 GB
4 GB
64 bits
-32768-01-01
32767-12-31
254
SQL Anywhere [ 78]
104 TB (13 files, each file up to 8 TB (32 KB pages))
Limited by file size
Limited by file size
45,000
2 GB
2 GB
64 bits
0001-01-01
9999-12-31
128 bytes
SQLite
128 TB (231 pages × 64 KB max page size)
Limited by file size
Limited by file size
32,767
2 GB
2 GB
64 bits
No DATE type9
No DATE type9
Unlimited
Teradata
Unlimited
Unlimited
64000 wo/lobs (64 GB w/lobs)
2,048
2 GB
64,000
38 digits
0001-01-01
9999-12-31
128
UniVerse
Unlimited
Unlimited
Unlimited
Unlimited
Unlimited
Unlimited
Unlimited
Unlimited
Unlimited
Unlimited
Max DB size
Max table size
Max row size
Max columns per row
Max Blob/Clob size
Max CHAR size
Max NUMBER size
Min DATE value
Max DATE value
Max column name size
Note (1): Firebird 2.x maximum database size is effectively unlimited with the largest known database size >980 GB.[ 79] Firebird 1.5.x maximum database size: 32 TB.
Note (2): Limit is 1038 using DECIMAL
datatype.[ 80]
Note (3): InnoDB is limited to 8,000 bytes (excluding VARBINARY
, VARCHAR
, BLOB
, or TEXT
columns).[ 81]
Note (4): InnoDB is limited to 1,017 columns.[ 81]
Note (6): Using VARCHAR (MAX)
in SQL 2005 and later.[ 82]
Note (7): When using a page size of 32 KB, and when BLOB/CLOB data is stored in the database file.
Note (8): Java array size limit of 2,147,483,648 (231 ) objects per array applies. This limit applies to number of characters in names, rows per table, columns per table, and characters per CHAR
/VARCHAR
.
Note (9): Despite the lack of a date datatype, SQLite does include date and time functions,[ 83] which work for timestamps between 24 November 4714 B.C. and 1 November 5352.
Note (10): Informix DATETIME type has adjustable range from YEAR only through 1/10000th second. DATETIME date range is 0001-01-01 00:00:00.00000 through 9999-12-31 23:59:59.99999.
Note (11): Since version 12c. Earlier versions support up to 4000 B .
Note (12): The 0.5 YB limit refers to the storage limit of a single Informix server instance beginning with v15.0. Informix v12.10 and later versions support using sharding techniques to distribute a table across multiple server instances. A distributed Informix database has no upper limit on table or database size.
Note (13): Informix DECIMAL type supports up to 32 decimal digits of precision with a range of 10 −130 to 10 125 . Fixed and variable precision are supported.
Note (14): The LONGLVARCHAR type supports strings up to 4TB.
Tables and views
Information about what tables and views (other than basic ones) are supported natively.
Note (1): Server provides tempdb, which can be used for public and private (for the session) temp tables.[ 84]
Note (2): Materialized views are not supported in Informix; the term is used in IBM's documentation to refer to a temporary table created to run the view's query when it is too complex, but one cannot for example define the way it is refreshed or build an index on it. The term is defined in the Informix Performance Guide.[ 85]
Note (4): Materialized views can be emulated using stored procedures and triggers.[ 86]
Indexes
Information about what indexes (other than basic B- /B+ tree indexes) are supported natively.
R- /R+ tree
Hash
Expression
Partial
Reverse
Bitmap
GiST
GIN
Full-text
Spatial
Forest of Trees Index
Duplicate index prevention
4th Dimension
?
Cluster
?
?
?
?
?
?
Yes
?
?
No
ADABAS
?
?
?
?
?
?
?
?
?
?
?
No
Adaptive Server Enterprise
No
No
Yes
No
Yes
No
No
No
Yes
?
?
No
Advantage Database Server
No
No
Yes
No
Yes
Yes
No
No
Yes
?
?
No
Apache Derby
No
No
No
No
No
No
No
No
No[ 87]
?
?
No
Clustrix DB
No
Yes
No
No
No
No
No
No
No
No
?
No
CUBRID
No
No
Yes[ 88]
Yes[ 88]
Yes
No
No
No
No
No
No
No
IBM Db2
Yes
Yes
Yes
No
Yes
Yes
No
No
Yes[ 89]
?
?
No
Empress Embedded Database
Yes
No
No
Yes
No
Yes
No
No
No
?
?
No
EXASolution
No
Yes
No
No
No
No
No
No
No
?
?
No
Firebird
No
No
Yes
Yes
Yes
No
No
No
No[ 90]
?
?
No
HSQLDB
No
No
No
No
No
No
No
No
No
?
?
No
H2
No
Yes
No
No
No
No
No
No
Yes[ 91]
Yes[ 92]
?
No
Informix Dynamic Server
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes[ 93]
Yes
Ingres
Yes
Yes
Ingres v10
No
No
Ingres v10
No
No
No
?
?
No
InterBase
No
No
No
No
No
No
No
No
No
?
?
No
Linter SQL RDBMS 10
No
Yes temporary indexes for equality joins
Yes for some scalar functions like LOWER and UPPER
No
No
No
No
No
Yes[ 94]
No
No
Yes
LucidDB
No
No
No
No
No
Yes
No
No
No
?
?
No
MariaDB
Aria and MyISAM tables and, since v10.2.2, InnoDB tables only[ 95]
MEMORY,[ 96] InnoDB,5 tables only
PERSISTENT virtual columns only[ 97]
No
No
No
No
No
Yes[ 98]
Aria and MyISAM tables and, since v10.2.2, InnoDB tables only[ 95]
?
No
MaxDB
No
No
No
No
No
No
No
No
No
?
?
No
Microsoft Access (JET)
No
No
No
No
No
No
No
No
No[ 99]
?
?
No
Microsoft Visual Foxpro
No
No
Yes
Yes
Yes2
Yes
No
No
No
?
?
No
Microsoft SQL Server
Spatial Indexes
Yes4
Yes3
Yes
on Computed columns3
Bitmap filter index for Star Join Query
No
No
Yes[ 100]
Yes[ 101]
?
No
Microsoft SQL Server Compact (Embedded Database)
No
No
No
No
No
No
No
No
No[ 102]
?
?
No
Mimer SQL
No
No
No
No
Yes
No
No
No
Yes
Yes
No
No
MonetDB
No
Yes
No
No
No
No
No
No
No
No
No
No
MySQL
Spatial Indexes[ 103]
MEMORY, Cluster (NDB), InnoDB,5 tables only
No[ 104]
No
No
No
No
No
MyISAM tables[ 105] and, since v5.6.4, InnoDB tables[ 106]
MyISAM tables[ 107] and, since v5.7.5, InnoDB tables[ 108]
?
No
OpenLink Virtuoso
Yes
Cluster
Yes
Yes
No
Yes
No
No
Yes
Yes (Commercial only)
No
No
Oracle
Yes 11
Cluster Tables
Yes
Yes 6
Yes
Yes
No
No
Yes[ 109]
Yes[ 110]
?
Yes[ 111]
Oracle Rdb
No
Yes
?
No
No
?
No
No
?
?
?
No
Actian Zen (PSQL)
No
No
No
No
No
No
No
No
No
No
No
No
Polyhedra DBMS
No
Yes
No
No
No
No
No
No
No
No
?
No
PostgreSQL
Yes
Yes
Yes
Yes
Yes7
Yes
Yes[ 112]
Yes
Yes[ 113]
PostGIS[ 114]
No
No
SAP HANA
?
?
?
?
?
?
?
?
?
?
?
No
solidDB
No
No
No
No
Yes
No
No
No
No
No
No
No
SQL Anywhere
No
No
Yes
No
No
No
No
No
Yes
Yes
?
Yes
SQLite
Yes[ 115]
No
Yes[ 116]
Yes
No
No
No
No
Yes[ 117]
SpatiaLite[ 118]
?
No
SQream DB
?
?
?
?
Yes
?
?
?
?
?
?
No
Teradata
No
Yes
Yes
Yes
No
Yes
No
No
?[ 119]
?
?
No
UniVerse
Yes
Yes
Yes3
Yes3
Yes3
No
No
No
?
Yes[ 120]
?
No
R- /R+ tree
Hash
Expression
Partial
Reverse
Bitmap
GiST
GIN
Full-text
Spatial
Forest of Trees Index
Duplicate index prevention
Note (1): The users need to use a function from freeAdhocUDF library or similar.[ 121]
Note (2): Can be implemented for most data types using expression-based indexes.
Note (3): Can be emulated by indexing a computed column[ 122] (doesn't easily update) or by using an "Indexed View"[ 123] (proper name not just any view works[ 124] ).
Note (4): Used for InMemory ColumnStore index, temporary hash index for hash join, Non/Cluster & fill factor.
Note (5): InnoDB automatically generates adaptive hash index[ 125] entries as needed.
Note (6): Can be implemented using Function-based Indexes in Oracle 8i and higher, but the function needs to be used in the sql for the index to be used.
Note (7): A PostgreSQL functional index can be used to reverse the order of a field.
Note (10): B+ tree and full-text only for now.
Note (11): R-Tree indexing available in base edition with Locator but some functionality requires Personal Edition or Enterprise Edition with Spatial option.
Note (12): FOT or Forest of Trees indexes is a type of B-tree index consisting of multiple B-trees which reduces contention in multi-user environments.[ 126]
Database capabilities
Note (1): Recursive CTEs introduced in 11gR2 supersedes similar construct called CONNECT BY.
Data types
Type system
Integer
Floating point
Decimal
String
Binary
Date/Time
Boolean
Other
4th Dimension
Static
UUID (16-bit), SMALLINT (16-bit), INT (32-bit), BIGINT (64-bit), NUMERIC (64-bit)
REAL , FLOAT
REAL , FLOAT
CLOB , TEXT , VARCHAR
BIT , BIT VARYING , BLOB
DURATION , INTERVAL , TIMESTAMP
BOOLEAN
PICTURE
Altibase [ 153]
Static
SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)
REAL (32-bit), DOUBLE (64-bit)
DECIMAL , NUMERIC , NUMBER , FLOAT
CHAR , VARCHAR , NCHAR , NVARCHAR , CLOB
BLOB , BYTE , NIBBLE , BIT , VARBIT
DATE
GEOMETRY
Clustrix DB[ 154]
Static
TINYINT (8-bit), SMALLINT (16-bit), MEDIUMINT (24-bit), INT (32-bit), BIGINT (64-bit)
FLOAT (32-bit), DOUBLE
DECIMAL
CHAR , BINARY , VARCHAR , VARBINARY , TEXT , TINYTEXT , MEDIUMTEXT , LONGTEXT
TINYBLOB , BLOB , MEDIUMBLOB , LONGBLOB
DATETIME , DATE , TIMESTAMP , YEAR
BIT(1 ) , BOOLEAN
ENUM , SET ,
CUBRID [ 155]
Static
SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)
FLOAT , REAL (32-bit), DOUBLE (64-bit)
DECIMAL , NUMERIC
CHAR , VARCHAR , NCHAR , NVARCHAR , CLOB
BLOB
DATE , DATETIME , TIME , TIMESTAMP
BIT
MONETARY , BIT VARYING , SET , MULTISET , SEQUENCE , ENUM
IBM Db2
?
SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)
DECFLOAT , REAL , DOUBLE
DECIMAL
CLOB , CHAR , VARCHAR
BINARY , VARBINARY , BLOB
DATE , TIME , TIMESTAMP WITH TIME ZONE , TIMESTAMP WITHOUT TIME ZONE
BOOLEAN
XML , GRAPHIC , VARGRAPHIC , DBCLOB , ROWID
Empress Embedded Database
Static
TINYINT , SQL_TINYINT , or INTEGER8 ; SMALLINT , SQL_SMALLINT , or INTEGER16 ; INTEGER , INT , SQL_INTEGER , or INTEGER32 ; BIGINT , SQL_BIGINT , or INTEGER64
REAL , SQL_REAL , or FLOAT32 ; DOUBLE PRECISION , SQL_DOUBLE , or FLOAT64 ; FLOAT , or SQL_FLOAT ; EFLOAT
DECIMAL , DEC , NUMERIC , SQL_DECIMAL , or SQL_NUMERIC ; DOLLAR
CHARACTER , ECHARACTER , CHARACTER VARYING , NATIONAL CHARACTER , NATIONAL CHARACTER VARYING , NLSCHARACTER , CHARACTER LARGE OBJECT , TEXT , NATIONAL CHARACTER LARGE OBJECT , NLSTEXT
BINARY LARGE OBJECT or BLOB ; BULK
DATE , EDATE , TIME , ETIME , EPOCH_TIME , TIMESTAMP , MICROTIMESTAMP
BOOLEAN
SEQUENCE 32, SEQUENCE
EXASolution
Static
TINYINT , SMALLINT , INTEGER , BIGINT ,
REAL , FLOAT , DOUBLE
DECIMAL , DEC , NUMERIC , NUMBER
CHAR , NCHAR , VARCHAR , VARCHAR2 , NVARCHAR , NVARCHAR2 , CLOB , NCLOB
N/A
DATE , TIMESTAMP , INTERVAL
BOOLEAN , BOOL
GEOMETRY
FileMaker [ 156]
Static
Not Supported
Not Supported
NUMBER
TEXT
CONTAINER
TIMESTAMP
Not Supported
Firebird [ 157]
?
INT128 , INT64 , INTEGER , SMALLINT
DOUBLE , FLOAT
DECIMAL , NUMERIC , DECIMAL (38, 4), DECIMAL (10, 4)
BLOB , CHAR , CHAR(x ) CHARACTER SET UNICODE_FSS , VARCHAR(x ) CHARACTER SET UNICODE_FSS , VARCHAR
BLOB SUB_TYPE TEXT , BLOB
DATE , TIME , TIMESTAMP (without time zone and with time zone)
BOOLEAN
TIMESTAMP , TIMESTAMP WITH TIME ZONE , CHAR (38), User defined types (Domains)
Type system
Integer
Floating point
Decimal
String
Binary
Date/Time
Boolean
Other
HSQLDB [ 158]
Static
TINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)
DOUBLE (64-bit)
DECIMAL , NUMERIC
CHAR , VARCHAR , LONGVARCHAR , CLOB
BINARY , VARBINARY , LONGVARBINARY , BLOB
DATE , TIME , TIMESTAMP , INTERVAL
BOOLEAN
OTHER (object), BIT , BIT VARYING , ARRAY
Informix Dynamic Server [ 159]
Static + UDT
SMALLINT (16-bit), INT (32-bit), INT8 (64-bit proprietary), BIGINT (64-bit)
SMALLFLOAT (32-bit), FLOAT (64-bit)
DECIMAL (32 decimal digits float/fixed, range 10 130 to +10 125 ), MONEY
CHAR , VARCHAR , NCHAR , NVARCHAR , LVARCHAR , CLOB , TEXT , LONGLVARCHAR
TEXT , BYTE , BLOB , CLOB
DATE , DATETIME , INTERVAL
BOOLEAN
SET , LIST , MULTISET , ROW , TIMESERIES , SPATIAL , GEODETIC , NODE , JSON , BSON , USER DEFINED TYPES
Ingres [ 160]
Static
TINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)
FLOAT4 (32-bit), FLOAT (64-bit)
DECIMAL
C, CHAR , VARCHAR , LONG VARCHAR , NCHAR , NVARCHAR , LONG NVARCHAR , TEXT
BYTE , VARBYTE , LONG VARBYTE (BLOB )
DATE , ANSIDATE , INGRESDATE , TIME , TIMESTAMP , INTERVAL
N/A
MONEY , OBJECT_KEY , TABLE_KEY , USER -DEFINED DATA TYPES (via OME )
Linter SQL RDBMS
Static + Dynamic (in stored procedures)
SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)
REAL (32-bit), DOUBLE (64-bit)
DECIMAL , NUMERIC
CHAR , VARCHAR , NCHAR , NVARCHAR , BLOB
BYTE , VARBYTE , BLOB
DATE
BOOLEAN
GEOMETRY , EXTFILE
MariaDB [ 161]
Static
TINYINT (8-bit), SMALLINT (16-bit), MEDIUMINT (24-bit), INT (32-bit), BIGINT (64-bit)
FLOAT (32-bit), DOUBLE (aka REAL ) (64-bit)
DECIMAL
CHAR , BINARY , VARCHAR , VARBINARY , TEXT , TINYTEXT , MEDIUMTEXT , LONGTEXT
TINYBLOB , BLOB , MEDIUMBLOB , LONGBLOB
DATETIME , DATE , TIMESTAMP , YEAR
BIT(1 ) , BOOLEAN (aka BOOL ) = synonym for TINYINT
ENUM , SET , GIS data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon)
Microsoft SQL Server [ 162]
Static
TINYINT , SMALLINT , INT , BIGINT
FLOAT , REAL
NUMERIC , DECIMAL , SMALLMONEY , MONEY
CHAR , VARCHAR , TEXT , NCHAR , NVARCHAR , NTEXT
BINARY , VARBINARY , IMAGE , FILESTREAM , FILETABLE
DATE , DATETIMEOFFSET , DATETIME2 , SMALLDATETIME , DATETIME , TIME
BIT
CURSOR , TIMESTAMP , HIERARCHYID , UNIQUEIDENTIFIER , SQL_VARIANT , XML , TABLE , Geometry, Geography, Custom .NET datatypes
Microsoft SQL Server Compact (Embedded Database) [ 163]
Static
TINYINT , SMALLINT , INT , BIGINT
FLOAT , REAL
NUMERIC , DECIMAL , MONEY
NCHAR , NVARCHAR , NTEXT
BINARY , VARBINARY , IMAGE
DATETIME
BIT
TIMESTAMP , ROWVERSION , UNIQUEIDENTIFIER , IDENTITY , ROWGUIDCOL
Mimer SQL
Static
SMALLINT , INT , BIGINT , INTEGER(n )
FLOAT , REAL , DOUBLE , FLOAT(n )
NUMERIC , DECIMAL
CHAR , VARCHAR , NCHAR , NVARCHAR , CLOB , NCLOB
BINARY , VARBINARY , BLOB
DATE , TIME , TIMESTAMP , INTERVAL
BOOLEAN
DOMAINS , USER-DEFINED TYPES (including the pre-defined spatial data types location, latitude, longitude and coordinate, and UUID )
MonetDB
Static, extensible
TINYINT , SMALLINT , INT , INTEGER , BIGINT , HUGEINT , SERIAL , BIGSERIAL
FLOAT , FLOAT(n ) , REAL , DOUBLE , DOUBLE PRECISION
DECIMAL , NUMERIC
CHAR , CHAR(n ) , VARCHAR , VARCHAR(n ) , CLOB , CLOB(n ) , TEXT , STRING
BLOB , BLOB(n )
DATE , TIME , TIME WITH TIME ZONE , TIMESTAMP , TIMESTAMP WITH TIME ZONE , INTERVAL YEAR , INTERVAL MONTH , INTERVAL DAY , INTERVAL HOUR , INTERVAL MINUTE , INTERVAL SECOND
BOOLEAN
JSON , JSON(n ) , URL , URL(n ) , INET , UUID , GIS data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon ), User Defined Types
MySQL [ 154]
Static
TINYINT (8-bit), SMALLINT (16-bit), MEDIUMINT (24-bit), INT (32-bit), BIGINT (64-bit)
FLOAT (32-bit), DOUBLE (aka REAL ) (64-bit)
DECIMAL
CHAR , BINARY , VARCHAR , VARBINARY , TEXT , TINYTEXT , MEDIUMTEXT , LONGTEXT
TINYBLOB , BLOB , MEDIUMBLOB , LONGBLOB
DATETIME , DATE , TIMESTAMP , YEAR
BIT(1 ) , BOOLEAN (aka BOOL ) = synonym for TINYINT
ENUM , SET , GIS data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon)
OpenLink Virtuoso [ 164]
Static + Dynamic
INT , INTEGER , SMALLINT
REAL , DOUBLE PRECISION , FLOAT , FLOAT(n )
DECIMAL , DECIMAL(n ) , DECIMAL(m, n ) , NUMERIC , NUMERIC(n ) , NUMERIC(m, n )
CHARACTER , CHAR(n ) , VARCHAR , VARCHAR(n ) , NVARCHAR , NVARCHAR(n )
BLOB
TIMESTAMP , DATETIME , TIME , DATE
N/A
ANY , REFERENCE (IRI , URI ), UDT (User Defined Type), GEOMETRY (BOX , BOX2D , BOX3D , BOXM , BOXZ , BOXZM , CIRCULARSTRING , COMPOUNDCURVE , CURVEPOLYGON , EMPTY , GEOMETRYCOLLECTION , GEOMETRYCOLLECTIONM , GEOMETRYCOLLECTIONZ , GEOMETRYCOLLECTIONZM , LINESTRING , LINESTRINGM , LINESTRINGZ , LINESTRINGZM , MULTICURVE , MULTILINESTRING , MULTILINESTRINGM , MULTILINESTRINGZ , MULTILINESTRINGZM , MULTIPOINT , MULTIPOINTM , MULTIPOINTZ , MULTIPOINTZM , MULTIPOLYGON , MULTIPOLYGONM , MULTIPOLYGONZ , MULTIPOLYGONZM , POINT , POINTM , POINTZ , POINTZM , POLYGON , POLYGONM , POLYGONZ , POLYGONZM , POLYLINE , POLYLINEZ , RING , RINGM , RINGZ , RINGZM )
Type system
Integer
Floating point
Decimal
String
Binary
Date/Time
Boolean
Other
Oracle [ 165]
Static + Dynamic (through ANYDATA )
NUMBER
BINARY_FLOAT , BINARY_DOUBLE
NUMBER
CHAR , VARCHAR2 , CLOB , NCLOB , NVARCHAR2 , NCHAR , LONG (deprecated)
BLOB , RAW , LONG RAW (deprecated), BFILE
DATE , TIMESTAMP (with/without TIME ZONE ), INTERVAL
N/A
SPATIAL , IMAGE , AUDIO , VIDEO , DICOM , XMLType, UDT , JSON
Actian Zen (PSQL) [ 166]
Static
BIGINT , INTEGER , SMALLINT , TINYINT , UBIGINT , UINTEGER , USMALLINT , UTINYINT
BFLOAT4 , BFLOAT8 , DOUBLE , FLOAT
DECIMAL , NUMERIC , NUMERICSA , NUMERICSLB , NUMERICSLS , NUMERICSTB , NUMERICSTS
CHAR , LONGVARCHAR , VARCHAR
BINARY , LONGVARBINARY , VARBINARY
DATE , DATETIME , TIME
BIT
CURRENCY , IDENTITY , SMALLIDENTITY , TIMESTAMP , UNIQUEIDENTIFIER
Polyhedra [ 167]
Static
INTEGER8 (8-bit), INTEGER (16-bit), INTEGER (32-bit), INTEGER64 (64-bit)
FLOAT32 (32-bit), FLOAT (aka REAL ; 64-bit)
N/A
VARCHAR , LARGE VARCHAR (aka CHARACTER LARGE OBJECT )
LARGE BINARY (aka BINARY LARGE OBJECT )
DATETIME
BOOLEAN
N/A
PostgreSQL [ 168]
Static
SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)
REAL (32-bit), DOUBLE PRECISION (64-bit)
DECIMAL , NUMERIC
CHAR , VARCHAR , TEXT
BYTEA
DATE , TIME (with/without TIME ZONE ), TIMESTAMP (with/without TIME ZONE ), INTERVAL
BOOLEAN
ENUM , POINT , LINE , LSEG , BOX , PATH , POLYGON , CIRCLE , CIDR , INET , MACADDR , BIT , UUID , XML , JSON , JSONB , arrays, composites, ranges, custom
SAP HANA
Static
TINYINT , SMALLINT , INTEGER , BIGINT
SMALLDECIMAL , REAL , DOUBLE , FLOAT , FLOAT(n )
DECIMAL
VARCHAR , NVARCHAR , ALPHANUM , SHORTTEXT
VARBINARY , BINTEXT , BLOB
DATE , TIME , SECONDDATE , TIMESTAMP
BOOLEAN
CLOB , NCLOB , TEXT , ARRAY , ST_GEOMETRY , ST_POINT , ST_MULTIPOINT , ST_LINESTRING , ST_MULTILINESTRING , ST_POLYGON , ST_MULTIPOLYGON , ST_GEOMETRYCOLLECTION , ST_CIRCULARSTRING
solidDB
Static
TINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)
REAL (32-bit), DOUBLE (64-bit), FLOAT (64-bit)
DECIMAL , NUMERIC (51 digits)
CHAR , VARCHAR , LONG VARCHAR , WCHAR , WVARCHAR , LONG WVARCHAR
BINARY , VARBINARY , LONG VARBINARY
DATE , TIME , TIMESTAMP
SQLite [ 169]
Dynamic
INTEGER (64-bit)
REAL (aka FLOAT , DOUBLE ) (64-bit)
N/A
TEXT (aka CHAR , CLOB )
BLOB
N/A
N/A
N/A
SQream DB [ 170]
Static
TINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)
REAL (32-bit), DOUBLE (aka FLOAT ) (64-bit)
N/A
CHAR , VARCHAR , NVARCHAR
N/A
DATE , DATETIME (aka TIMESTAMP )
BOOL
N/A
Type system
Integer
Floating point
Decimal
String
Binary
Date/Time
Boolean
Other
Teradata
Static
BYTEINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)
FLOAT (64-bit)
DECIMAL , NUMERIC (38 digits)
CHAR , VARCHAR , CLOB
BYTE , VARBYTE , BLOB
DATE , TIME , TIMESTAMP (w/wo TIME ZONE )
PERIOD , INTERVAL , GEOMETRY , XML , JSON , UDT (User Defined Type)
UniData
Dynamic
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
UniVerse
Dynamic
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Type system
Integer
Floating point
Decimal
String
Binary
Date/Time
Boolean
Other
Other objects
Information about what other objects are supported natively.
Note (1): Both function and procedure refer to internal routines written in SQL and/or procedural language like PL/SQL . External routine refers to the one written in the host languages, such as C, Java, Cobol, etc. "Stored procedure " is a commonly used term for these routine types. However, its definition varies between different database vendors.
Note (2): In Derby, H2, LucidDB, and CUBRID, users code functions and procedures in Java.
Note (3): ENUM datatype exists. CHECK clause is parsed, but not enforced in runtime.
Note (5): Informix supports external functions written in Java, C, & C++.
Partitioning
Information about what partitioning methods are supported natively.
Access control
Information about access control functionalities.
Native network encryption1
Brute-force protection
Enterprise directory compatibility
Password complexity rules2
Patch access3
Run unprivileged4
Audit
4D
Yes (with SSL)
?
Yes
?
Yes
Yes
?
?
?
?
?
Adaptive Server Enterprise
Yes (optional; to pay)
Yes
Yes (optional ?)
Yes
Partial (need to register; depend on which product)[ 172]
Yes
Yes
Yes
Yes
Yes (EAL4+ 1 )
?
Advantage Database Server
Yes
No
No
No
Yes
Yes
No
No
Yes
?
?
CUBRID
Yes (with SSL)
?
No
No
Yes
Yes
Yes
Yes
Yes
?
?
IBM Db2
Yes
?
Yes (LDAP, Kerberos...)
Yes
?
Yes
Yes
Yes
Yes
Yes (EAL4+6 )
?
Empress Embedded Database
?
?
No
No
Yes
Yes
Yes
No
Yes
No
?
EXASolution
No
Yes
Yes (LDAP)
Yes
Yes
Yes
Yes
Yes
Yes
No
?
Firebird
Yes
Yes[ 173]
Yes (Windows trusted authenification)
Yes (by custom plugin)
Yes (no security page)[ 174]
Yes
Yes[ 175]
Yes
No7
?
?
HSQLDB
Yes
No
Yes
Yes
Yes
Yes
No
No
Yes
No
?
H2
Yes
Yes
?
No
?
Yes
?
Yes
Yes
No
?
Informix Dynamic Server
Yes
?
Yes10
?10
Yes
Yes
Yes
Yes
Yes
?
Yes
Linter SQL RDBMS
Yes (with SSL)
Yes
Yes
Yes (length only)
Yes
Yes
Yes
Yes
Yes
Yes
Yes
MariaDB
Yes (SSL)
No
Yes (with 5.2, but not on Windows servers)
Yes[ 176] [ 177]
Yes[ 178]
Yes
?
?
?8
No
?
Microsoft SQL Server
Yes
?
Yes (Microsoft Active Directory)
Yes
Yes
Yes
Yes (From 2008)
Yes
Yes
Yes (EAL4+11 )
?
Microsoft SQL Server Compact (Embedded Database)
No (not relevant, only file permissions)
No (not relevant)
No (not relevant)
No (not relevant)
Yes
Yes (file access)
Yes
Yes
No
?
?
Mimer SQL
Yes
?
?
?
Yes
Yes (depending on OS)
Yes
?
Yes
?
Yes
MySQL
Yes (SSL with 4.0)
No
Yes (with 5.5, but only in commercial edition)
No
Partial (no security page)[ 179]
Yes
?
?
?8
Yes
?
OpenLink Virtuoso
Yes
Yes
Yes
Yes (optional)
Yes (optional)
Yes
Yes (optional)
Yes (optional)
Yes
No
Yes (optional)
Oracle
Yes
Yes
Yes
Yes
?
Yes
Yes
Yes
Yes
Yes (EAL21 )
?
Actian Zen (PSQL)
Yes
?
No
No
Yes
Yes
Yes 12
No
No
No
?
Polyhedra DBMS
Yes (with SSL. Optional)
No
No
No
No
Yes
Yes 13
Yes
Yes 13
No
?
PostgreSQL
Yes
Yes
Yes (LDAP, Kerberos...9 )
Yes (with passwordcheck module)
Yes[ 180]
Yes
Yes (with pgaudit extension)[ 181]
Yes
Yes
Yes (EAL2+1 )
?
SAP HANA
?
?
?
?
?
?
?
?
?
?
?
solidDB
No
No
Yes
No
No
Yes
Yes
No
No
No
No
SQL Anywhere
Yes
?
Yes (Kerberos)
Yes
?
Yes
Yes
No
Yes
Yes (EAL2+1 as Adaptive Server Anywhere)
?
SQLite
No (not relevant, only file permissions)
No (not relevant)
No (not relevant)
No (not relevant)
Partial (no security page)[ 182]
Yes (file access)
Yes
Yes
No
No
?
Teradata
Yes
No
Yes (LDAP, Kerberos...)
Yes
?
Yes
Yes
Yes
Yes
Yes
Yes
Native network encryption1
Brute-force protection
Enterprise directory compatibility
Password complexity rules2
Patch access3
Run unprivileged4
Audit
Note (1): Network traffic could be transmitted in a secure way (not clear-text, in general SSL encryption). Precise if option is default, included option or an extra modules to buy.
Note (2): Options are present to set a minimum size for password, respect complexity like presence of numbers or special characters.
Note (3): How do you get security updates? Is it free access, do you need a login or to pay? Is there easy access through a Web/FTP portal or RSS feed or only through offline access (mail CD-ROM, phone).
Note (4): Does database process run as root/administrator or unprivileged user? What is default configuration?
Note (5): Is there a separate user to manage special operation like backup (only dump/restore permissions), security officer (audit), administrator (add user/create database), etc.? Is it default or optional?
Note (6): Common Criteria certified product list.[ 183]
Note (7): FirebirdSQL seems to only have SYSDBA user and DB owner. There are no separate roles for backup operator and security administrator.
Note (8): User can define a dedicated backup user but nothing particular in default install.[ 184]
Note (9): Authentication methods.[ 185]
Note (10): Informix Dynamic Server supports PAM and other configurable authentication. By default uses OS authentication.
Note (11): Authentication methods.[ 186]
Note (12): With the use of Pervasive AuditMaster.
Note (13): User-based security is optional in Polyhedra, but when enabled can be enhanced to a role-based model with auditing.[ 187]
Databases vs schemas (terminology)
The SQL specification defines what an "SQL schema" is; however, databases implement it differently. To compound this confusion the functionality can overlap with that of a parent database. An SQL schema is simply a namespace within a database; things within this namespace are addressed using the member operator dot ". ". This seems to be a universal among all of the implementations.
A true fully (database, schema, and table) qualified query is exemplified as such: SELECT * FROM database . schema . table
Both a schema and a database can be used to isolate one table, "foo", from another like-named table "foo". The following is pseudo code:
SELECT * FROM database1 . foo
vs. SELECT * FROM database2 . foo
(no explicit schema between database and table)
SELECT * FROM [ database1 .] default . foo
vs. SELECT * FROM [ database1 .] alternate . foo
(no explicit database prefix)
The problem that arises is that former MySQL users will create multiple databases for one project. In this context, MySQL databases are analogous in function to PostgreSQL-schemas, insomuch as PostgreSQL deliberately lacks off-the-shelf cross-database functionality (preferring multi-tenancy) that MySQL has. Conversely, PostgreSQL has applied more of the specification implementing cross-table, cross-schema, and then left room for future cross-database functionality.
MySQL aliases schema with database behind the scenes, such that CREATE SCHEMA
and CREATE DATABASE
are analogs. It can therefore be said that MySQL has implemented cross-database functionality, skipped schema functionality entirely, and provided similar functionality into their implementation of a database. In summary, PostgreSQL fully supports schemas and multi-tenancy by strictly separating databases from each other and thus lacks some functionality MySQL has with databases, while MySQL does not even attempt to support standard schemas.
Oracle has its own spin where creating a user is synonymous with creating a schema. Thus a database administrator can create a user called PROJECT and then create a table PROJECT.TABLE. Users can exist without schema objects, but an object is always associated with an owner (though that owner may not have privileges to connect to the database). With the 'shared-everything' Oracle RAC architecture, the same database can be opened by multiple servers concurrently. This is independent of replication, which can also be used, whereby the data is copied for use by different servers. In the Oracle implementation, a 'database' is a set of files which contains the data while the 'instance' is a set of processes (and memory) through which a database is accessed.
Informix supports multiple databases in a server instance like MySQL. It supports the CREATE SCHEMA
syntax as a way to group DDL statements into a single unit creating all objects created as a part of the schema as a single owner. Informix supports a database mode called ANSI mode which supports creating objects with the same name but owned by different users.
PostgreSQL and some other databases have support for foreign schemas, which is the ability to import schemas from other servers as defined in ISO/IEC 9075-9 (published as part of SQL:2008 ). This appears like any other schema in the database according to the SQL specification while accessing data stored either in a different database or a different server instance. The import can be made either as an entire foreign schema or merely certain tables belonging to that foreign schema.[ 188] While support for ISO/IEC 9075-9 bridges the gap between the two competing philosophies surrounding schemas, MySQL and Informix maintain an implicit association between databases while ISO/IEC 9075-9 requires that any such linkages be explicit in nature.
See also
References
^ "Product Release Life Cycle" . 10 January 2020.
^ "Apache Derby: Downloads" . Retrieved 2024-03-18 .
^ "- ASF JIRA" . issues.apache.org .
^ "cockroachdb Issue tracker" . GitHub . Archived from the original on 2021-05-06. Retrieved 2021-05-03 .
^ "Issue Navigator - CUBRID Bug Tracking System" . jira.cubrid.org .
^ Stevens, O. (Oct–Dec 2009). "The History of Datacom/DB". Annals of the History of Computing . 31 (4). IEEE: 87– 91. doi :10.1109/MAHC.2009.108 . ISSN 1058-6180 . S2CID 16803811 .
^ "CA Datacom - CA Technologies" . Archived from the original on 2016-02-14. Retrieved 2014-07-06 .
^ "Datacom Product Sheet" (PDF) .
^ "IBM unveils Db2 12.1" . 21 October 2024. Retrieved 6 December 2024 .
^ "Release 5.0.2" . 12 February 2025. Retrieved 20 February 2025 .
^ IPL , Firebird SQL
^ IDPL , Firebird SQL
^ "Firebird RDBMS Issue Tracker" . Archived from the original on 2008-08-28. Retrieved 2017-11-01 .
^ "HyperSQL Database Engine (HSQLDB) / Bugs" . sourceforge.net .
^ "Issues · h2database/h2database" . GitHub .
^ "Actian X & Ingres - Lifecycle Dates" .
^ "Linter Techsupport" . Archived from the original on 2019-03-27. Retrieved 2019-04-04 .
^ "Release 11.7.2" . 13 February 2025. Retrieved 25 February 2025 .
^ "MariaDB licenses" .
^ "- Jira" . jira.mariadb.org .
^ "MaxDB PTS - Problem Tracking" . maxdb.sap.com .
^ "Explore SQL Server 2022 capabilities" . Retrieved 6 January 2023 .
^ "MonetDB Foundation" . 4 April 2023.
^ "MonetDB Latest Release" . 27 March 2025.
^ MonetDB License MPL2.0 , MonetDB Foundation, 8 February 2022
^ "MonetDB Issues" . GitHub . Retrieved 2025-05-01 .
^ mSQL , Products, AU: Hughes, archived from the original on 2009-10-15, retrieved 2009-09-13
^ "Changes in MySQL 8.0.38 (2024-07-01, General Availability)" . 1 July 2024. Retrieved 1 July 2024 .
^ "MySQL Bugs" . bugs.mysql.com .
^ "Issues · openlink/virtuoso-opensource · GitHub" . GitHub . Archived from the original on 2020-12-23. Retrieved 2017-11-01 .
^ "Oracle Database 23c: The Next Long Term Support Release" .
^ "Oracle Rdb Product Family Compatibility Matrix" . oracle.com .
^ Polyhedra Lite In-Memory Relational Database System Freeware Available Now from Enea , Press Release, EECatalog .
^ "PostgreSQL 17.4, 16.8, 15.12, 14.17, and 13.20 Released!" . PostgreSQL . The PostgreSQL Global Development Group. 2025-02-20. Retrieved 2025-02-21 .
^ "PostgreSQL: License" . www.postgresql.org .
^ "A bug tracker for PostgreSQL? [LWN.net]" . lwn.net .
^ "SQLite Release 3.49.2 On 2025-05-07" . 7 May 2025. Retrieved 7 May 2025 .
^ "SQLite: Ticket Main Menu" . www.sqlite.org .
^ SQream DB Version 2.1 SQL Reference Guide , SQream Technologies, archived from the original on 2018-02-12, retrieved 2018-02-12
^ "Bug Reports" .
^ "Release 8.5.1" . 17 January 2025. Retrieved 30 January 2025 .
^ "Issues · pingcap/Tidb" . GitHub .
^ "yugabyte/yugabyte-db" . github.com .
^ "Issues · yugabyte/Yugabyte-db" . GitHub .
^ "Firebird: The true open source database for Windows, Linux, Mac OS X and more" .
^ "Ingres 11.0 Documentation" . docs.actian.com .
^ "Building MariaDB on Mac OS X using Homebrew" . AskMonty KnowledgeBase . Archived from the original on October 20, 2011. Retrieved September 30, 2011 .
^ https://play.google.com/store/apps/details?id=com.esminis.server.mariadb&hl=de MariaDB Android Version by Tautvydas Andrikys
^ "Announcing SQL Server on Linux" . 7 March 2016.
^ "Mimer SQL is now available for OpenVMS on x86" . 31 March 2023.
^ http://techotv.com/run-apache-mysql-php-http-web-server-android-os-phone-tablet/ Run Apache, Mysql, Php – Web server on Android mobile or Tablet
^ "Aminet - dev/Gg/Postgresql632-mos-bin.lha" . Archived from the original on 2017-03-14. Retrieved 2017-03-14 .
^ "PostgreSQL - Oss4zos" . Archived from the original on 2015-05-27. Retrieved 2013-08-15 .
^ "Lock granularity" . db.apache.org .
^ "DB2 for Linux UNIX and Windows 9.7.0>Fundamentos de DB2>Performance tuning>Factors affecting performance>Application design>Concurrency issues>Isolation levels" . Archived from the original on 2014-04-15. Retrieved 2014-04-14 .
^ "Advanced" .
^ a b c d "Transactional DDL in PostgreSQL: A Competitive Analysis - PostgreSQL wiki" . wiki.postgresql.org .
^ "[MDEV-4259] transactional DDL - Jira" . jira.mariadb.org .
^ "SQL Server Transaction Locking and Row Versioning Guide" .
^ "MySQL :: MySQL 5.6 Reference Manual :: 8.10.1 Internal Locking Methods" . Archived from the original on 2018-03-06. Retrieved 2018-03-05 .
^ "dba-oracle.com" .
^ "Polyhedra 8.7 new headline feature: locking" .
^ "PostgreSQL: Documentation: Explicit Locking : Row-Level Locks" . Archived from the original on 2021-05-13. Retrieved 2021-05-13 .
^ Lane, Tom (April 13, 2011). "Re: BUG #5974: UNION construct type cast gives poor error message" . PostgreSQL Mailing List Archives .
^ "SAP Help Portal" . help.sap.com .
^ "SAP Help Portal" . help.sap.com .
^ "SAP Help Portal" . help.sap.com .
^ "File Locking And Concurrency In SQLite Version 3" . www.sqlite.org .
^ SQLite Full Unicode support is optional and not installed by default in most systems (like Android , Debian ...)
^ "TiDB Features" . docs.pingcap.com .
^ "MySQL - The InnoDB Storage Engine" .
^ "InnoDB - Oracle Wiki" .
^ "MySQL 5.6 Reference Manual" .
^ "Identifier Names" . MariaDB KnowledgeBase. Retrieved 26 September 2014 .
^ "PostgreSQL Limits" . Retrieved 2021-05-13 .
^ "Large Objects: Introduction" . Retrieved 2021-05-13 .
^ "Date/Time Types" . Retrieved 2021-05-13 .
^ "SAP Help Portal" . help.sap.com .
^
Technical Specifications , Guide, Firebird SQL, archived from the original on 2010-06-15, retrieved 2008-03-30
^ Library , MSDN, Microsoft, 21 May 2024
^ a b "Column count limit" , Reference Manual , MySQL 5.1 Documentation, Oracle
^ "Row-Overflow Considerations" , TechNet Library , SQL Server Documentation, Microsoft, 2012
^ "Date functions" , Language , SQLite
^ Online books , Sybase, archived from the original on 2005-10-23
^ Informix Performance Guide , Info Centre, IBM
^ Dynamic Materialized Views in MySQL , Pure, Red Noize, 2005, archived from the original on 2006-04-23
^ "Derby" , Full Text Indexing, Search , Issues, Apache
^ a b c "CUBRID 9.0 release" . Archived from the original on 2013-02-14. Retrieved 2013-02-05 .
^ Full-text search with Db2 Text Search , Developer Works, IBM
^ Does Firebird support full-text search? , Firebird FAQ
^ Fulltext Search , Tutorial, H2 Database
^ Create Spatial Index , Grammar, H2 Database
^ Informix 15.0.0 online documentation , IBM, 19 November 2024
^
Full Text Search Functions (PDF) , Documentation, RU: Linter, archived from the original (PDF) on 2011-08-20, retrieved 2010-06-06
^ a b SPATIAL INDEX , MariaDB, mariadb.com, retrieved 24 September 2017
^ "Storage Engine Index Types" . mariadb.com. Retrieved 25 April 2016 .
^ Virtual Columns - MariaDB Knowledge Base
^ "Fulltext Index Overview" . mariadb.com. Retrieved 25 April 2016 .
^ Does Microsoft Access have Full Text Search? , Questions, Stack Overflow
^ "Microsoft SQL Server Full-Text Search" , Library , MSDN, Microsoft
^ "Spatial Indexing Overview" , Library , Tech Net, Microsoft, 4 October 2012
^ "Microsoft SQL Server Compact Full-text search is not available" , Forums , MSDN, Microsoft
^ Index Types Per Storage Engine , MySQL, Oracle, retrieved 24 September 2017
^ "Feature request #4990: Functional Indexes" , Bugs , MySQL, Oracle
^ "Feature request #13979: InnoDB engine doesn't support FULLTEXT" , Bugs , MySQL, Oracle
^ "MySQL v5.6.4 Release Notes" , Release Notes , MySQL, Oracle
^ Creating Spatial Indexes , MySQL, Oracle
^ Changes in MySQL 5.7.5 , Oracle
^ Does Oracle support full text search? , Questions, Stack Overflow
^ "Location Features for Database 11g" , Spatial & Locator , Tech Network, Oracle
^ "Oracle / PLSQL: ORA-01408 Error Message" . www.techonthenet.com .
^ Index Types , Documentation, PostgreSQL community, 11 November 2021
^ Full Text Search , Documentation, PostgreSQL community, 11 November 2021
^ Building Spatial Indexes , PostGIS Manual, The PostGIS Development Group, archived from the original on 2021-05-03, retrieved 2021-05-13
^ "The SQLite R*Tree Module" . www.sqlite.org .
^ "Indexes On Expressions" . sqlite.org .
^ "SQLite FTS5 Extension" . www.sqlite.org .
^ SpatiaLite , IT: Gaia GIS 2.3.1, archived from the original on 2011-07-22, retrieved 2010-12-06
^ Full-Text Search , Online Publications, Teradata
^ geospatial
^ UDF , Ad Hoc Data, archived from the original on 2019-09-14, retrieved 2007-01-11
^ "Create DB" , Library , MSDN, Microsoft
^ "SQL" , Library , MSDN, Microsoft
^ Petkovic, Dusan (2005). Microsoft SQL Server 2005: A Beginner's Guide . McGraw-Hill Professional. p. 300. ISBN 978-0-07-226093-9 .
^ "InnoDB adaptive Hash" , Reference manual 5.0 , Development documentation, Oracle
^ = "Forest of Trees" , Informix 15.0 online documentation , Development documentation, IBM
^ "Article" , Library , Developer Works, IBM
^ a b c d e f "What's new in MariaDB 10.3" .
^ a b "HyperSQL 2.5 New Features" . hsqldb.org .
^ "Advanced" . h2database.com .
^ "Functions" . www.h2database.com .
^ Clay, David (January 1, 1993). "Informix parallel data query (PDQ)" . IEEE Computer Society Press. pp. 71– 73 – via ACM Digital Library.
^ "Ingres" .
^ "Ingres" .
^ "Ingres" .
^ "INTERSECT" . mariadb.com .
^ "EXCEPT" . mariadb.com .
^ "CTE implemented in 10.2.2" . mariadb.org. Retrieved 26 July 2017 .
^ "Window Functions Overview" . mariadb.com. Retrieved 25 April 2016 .
^ a b "Feature request #1542: Parallel query" , Bugs , MySQL, Oracle
^ Only very limited functions available before SQL Server 2012 , Microsoft
^ "SQL Server Parallel Query Processing" , Library , MSDN, Microsoft, 4 October 2012
^ "INTERSECT" . mysql.com .
^ "EXCEPT" . mysql.com .
^ "Feature request #16244: SQL-99 Derived table WITH clause (CTE)" , Bugs , MySQL, Oracle
^ Window Functions , mysql.com, retrieved 20 July 2021
^ Parallel Query , Wiki, Ora FAQ
^ "New Features Oracle 12.1.0.1" . Archived from the original on 2020-10-25.
^ Parallel Query , PostgreSQL, 11 August 2022
^ "SQLite Release 3.43.0 On 2023-08-24" . sqlite.org .
^ "The WITH Clause" . sqlite.org .
^ "Window Functions" . sqlite.org .
^ "Data Types" , General Reference , HDB, Altibase
^ a b "10. Data Types" , Reference manual , MySQL 5.0, Oracle
^ "Data Types" , CUBRID SQL Guide , Reference Manual, CUBRID[permanent dead link ]
^ "FileMaker 14 Tech Specs" . FileMaker=May 12, 2015.
^ "Migration from MS-SQL to Firebird" . Firebird Project. Retrieved April 12, 2015 .
^ "General: HSQLDB data types" , Guide , 2.0 Documents, HSQLDB
^ "IBM Informix Guide to SQL: Reference, v11.50 (SC23-7750-04)" . Publications. IBM. 20 August 2001. Retrieved August 7, 2013 .
^ "3: Understanding SQL Data Types" , SQL 9.3 Reference Guide , Documents, Ingres, archived from the original on 2011-07-13, retrieved 2009-11-16
^ "Data Types" . mariadb.com. Retrieved 25 April 2016 .
^ "SQL Server Data Types" , Library , MSDN, Microsoft, 21 May 2024
^ "SQL Server Compact Data Types" , Library , MSDN, Microsoft, 24 March 2011
^ "Datatypes" , SQL Reference , OpenLink Software
^ "Data Types" , SQL 11.2 Reference , Server documents, Oracle, archived from the original on 2010-03-14, retrieved 2009-09-21
^ "Data Types" , Pervasive PSQL Supported Data Types , Product documentation, Pervasive
^
Polyhedra SQL Reference Manual , Product documentation, Enea AB, archived from the original on 2013-10-04, retrieved 2013-04-23
^ "Data Types" , Manual , PostgreSQL 10 Documentation, PostgreSQL community, 11 August 2022
^ Datatypes , SQLite 3
^ SQream SQL Reference Guide , SQream Technologies
^ "Constraint" . mariadb.com .
^ Support , Downloads, Sybase, retrieved 2008-09-07 [dead link ]
^ "Release" , Engine , Development, Firebird SQL 2.0
^ Files , Firebird SQL
^ "Trace and Audit Services" . Firebird Project. Retrieved April 12, 2015 .
^ "cracklib_password_check" . mariadb.com. Retrieved 9 December 2014 .
^ "simple_password_check" . mariadb.com. Retrieved 9 December 2014 .
^ "Security Vulnerabilities Fixed in MariaDB" . mariadb.com. Retrieved 25 April 2016 .
^ "Downloads" , Development , MySQL, Oracle
^ Security , Support, PostgreSQL community, archived from the original on 2011-11-01, retrieved 2018-03-05
^ Open Source PostgreSQL Audit Logging , September 2022
^ Download , SQLite
^
DB , Products, Common Criteria Portal, retrieved 2021-05-13
^
Backup MySQL , How to, Gentoo wiki, archived from the original on 2008-09-02, retrieved 2008-09-07
^ Authentication methods , 8.1 Documents, PostgreSQL community, 24 July 2014
^ Common Criteria (CC, ISO15408) , Microsoft, archived from the original on 2014-02-13
^ Adding audit trails to a Polyhedra IMDB database , White paper, Enea AB
^ "PostgreSQL: Documentation: IMPORT FOREIGN SCHEMA" . www.postgresql.org . Retrieved 2016-06-11 .
External links
Types Concepts Objects Components Functions Related topics