Comparison of relational database management systems: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: website, s2cid, date, title. Changed bare reference to CS1/2. | Use this bot. Report bugs. | Suggested by BrownHairedGirl | Linked from User:BrownHairedGirl/Articles_with_bare_links | #UCB_webform_linked 739/2198
Latest Mimer SQL release is v11.0.9D.
 
(156 intermediate revisions by 62 users not shown)
Line 1:
{{short description|Wikimedia list articlenone}}
The following tables compare general and technical information for a number of [[relational database management system]]s. 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.
 
Line 5:
{| class="wikitable sortable"
|-
!
! Maintainer
! First public release date
Line 50:
| 7.1.0.1.2
| 2018-03-02
| {{Proprietary}}
| GNU-AGPLv3; GNU-LGPLv3(for client-libraries)
| {{No}}
|-
Line 56:
| [[Apache Software Foundation|Apache]]
| 2004
| 10.1517.1.30<ref>{{cite web
| title = Apache Derby: Downloads
| url = http://db.apache.org/derby/derby_downloads.html
| access-date = 20192024-03-1118
}}</ref>
| 2019-032023-11-14
| {{free|[[Apache license|Apache License]]}}
| {{Yes}}<ref>[{{Cite web|url=https://issues.apache.org/jira/projects/DERBY Derby |title=- ASF JIRA]|website=issues.apache.org}}</ref>
|-
! [[Clustrix|ClustrixDB]]DB
| [[MariaDB|MariaDB Corporation]]
| 2010
Line 76:
| Cockroach Labs
| 2015
| v20v24.21.80
| 20212024-0405-2320
| {{free|BSL,CCL,MIT,BSD}}
| {{Yes}}<ref>[{{Cite web |url=https://github.com/cockroachdb/cockroach/issues |title=cockroachdb Issue tracker |website=[[GitHub]] |access-date=2021-05-03 |archive-date=2021-05-06 |archive-url=https://web.archive.org/web/20210506023814/https://github.com/cockroachdb/cockroach/issues |url-status=dead }}</ref>
|-
! [[CUBRID]]
| CUBRID
| 2008-11
| 1011.2.13
| 2020-062023-01-31
| {{free|[[GNUApache General Publiclicense|Apache License|GPL]] v2 or later2.0, BSD license for APIs and GUI tools}}
| {{Yes}}<ref>[{{Cite web|url=http://jira.cubrid.org/browse/TOOLS-4308?jql=|title=Issue CUBRIDNavigator /- JiraCUBRID IssueBug trackerTracking for CUBRID]System|website=jira.cubrid.org}}</ref>
|-
! [[CA Datacom|Datacom]]
Line 107:
| 14<ref>{{cite web
| title = CA Datacom - CA Technologies
| url = http://www.ca.com/us/opscenter/ca-datacom.aspx
| access-date = 2014-07-06
| archive-date = 2016-02-14
| archive-url = https://web.archive.org/web/20160214142439/http://www.ca.com/us/opscenter/ca-datacom.aspx
| url-status = dead
}}</ref>
| 2012<ref>{{cite web
Line 116 ⟶ 120:
| {{No}}
|-
! [[IBM Db2 Family|Db2]]
| [[IBM]]
| 1983
Line 162 ⟶ 166:
| publisher = Firebird SQL
}}</ref>}}
| {{Yes}}<ref>[{{Cite web |url=http://tracker.firebirdsql.org/ |title=Firebird RDBMS Issue Tracker] |access-date=2017-11-01 |archive-date=2008-08-28 |archive-url=https://web.archive.org/web/20080828140502/http://tracker.firebirdsql.org/ |url-status=dead }}</ref>
|-
! [[GPUdb]]
Line 175 ⟶ 179:
| HSQL Development Group
| 2001
| 2.46.1
| 20182021-0510-2021
| {{free|[[BSD license|BSD]]}}
| {{Yes}}<ref>[{{Cite web|url=https://sourceforge.net/p/hsqldb/bugs/ |title=HyperSQL Database Engine (HSQLDB) / Bugs]|website=sourceforge.net}}</ref>
|-
! [[H2 (DBMS)|H2]]
| H2 Software
| 2005
| 12.43.200232
| 20192024-1008-1412
| {{free|[[Eclipse Public License|EPL]] and modified [[Mozilla Public License|MPL]]}}
| {{Yes}}<ref>[{{Cite web|url=https://github.com/h2database/h2database/issues|title=Issues h2database· issues]h2database/h2database|website=GitHub}}</ref>
|-
! [[Informix Dynamic Server]]
| [[IBM]] / [[HCLTech|HCL Technologies]]
| <span style="display:none">1981????</span>1980
| 1415.100.xC4W10.1
| 20202025-0603-2215
| {{Proprietary}}
| {{No}}
|-
! [[Ingres (database)|Ingres]]
| [[Ingres Actian(databaseHCLSoftware)|Ingres Corp.]]
| 1974
| 12.0.0<ref>{{cite web
| 11.0
| title = Actian X & Ingres - Lifecycle Dates
| 2017-03-21
| url = https://communities.actian.com/s/supportservices/lifecycle-dates/actian-x-ingres
| {{partial|[[GNU General Public License|GPL]] and [[Proprietary software|Proprietary]]}}
}}</ref>
| 2024-05-06
| {{Proprietary}}
| {{No}}
|-
! [[InterBase]]
| [[InterBase|Embarcadero Technologies]]
| 1984
| XE7 v12.0.4.357
Line 218 ⟶ 225:
| 2018-02-15
| {{Proprietary}}
| {{Yes}}<ref>[{{Cite web |url=https://www.linter.ru/ru/support/technical-support/ |title=Linter Techsupport] |access-date=2019-04-04 |archive-date=2019-03-27 |archive-url=https://web.archive.org/web/20190327183921/https://www.linter.ru/ru/support/technical-support/ |url-status=dead }}</ref>
|-
! [[LucidDB]]
Line 231 ⟶ 238:
| [[MariaDB|MariaDB Community]]
| 2010-02-01
| {{wikidata|property|reference|edit|Q787177|P348|P548=Q2804309}}
| {{wikidata|qualifier|raw|Q787177|P348|P577|P548=Q2804309}}; {{Time ago|{{wikidata|qualifier|raw|Q787177|P348|P577|P548=Q2804309}}}}
| {{free|[[GNU General Public License|GPL]] v2, [[GNU Lesser General Public License|LGPL]] (for client-libraries)<ref name="MariaDB licenses">{{cite web
| url = https://mariadb.com/kb/en/mariadb-license/
| title = MariaDB licenses
}}</ref>}}
| {{Yes}}<ref>[{{Cite web|url=https://jira.mariadb.org/projects/MDEV/issues MariaDB |title=- JIRA]Jira|website=jira.mariadb.org}}</ref>
|-
! [[MaxDB]]
Line 245 ⟶ 252:
| 2014
| {{Proprietary}}
| {{Yes}}<ref>[http{{Cite web|url=https://maxdb.sap.com/webpts /|title=MaxDB PTS - Problem Tracking]|website=maxdb.sap.com}}</ref>
|-
![[SingleStore|SingleStore (formerly MemSQL)]]
Line 290 ⟶ 297:
| Mimer Information Technology
| 1978
| 11.0.5A9D
| 20212025-0307-0116
| {{Proprietary}}
| {{No}}
|-
! [[MonetDB]]
| MonetDB Foundation <ref>{{Cite web|url=https://www.monetdb.org/about-us/monetdb-foundation//|title = MonetDB Foundation| date=4 April 2023 }}</ref>
| The [[MonetDB]] Team / [[Centrum Wiskunde & Informatica|CWI]]
| 2004
| Mar2025 <ref>{{Cite web|url=https://www.monetdb.org/release-notes/|title = MonetDB Latest Release| date=27 March 2025 }}</ref>
| Jul2021-SP1
| 20212025-1003-0527
| {{free|Mozilla Public License, version 2.0<ref>{{Citation
| url = https://www.monetdb.org/AboutUsabout-us/privacy-and-legals/MonetDBLicense_MPL2.0
| publisher = MonetDB B.V.Foundation
| title = MonetDB License MPL2.0
| date = 8 February 2022
}}</ref>}}
}}</ref>}}
| {{Yes}}<ref>[https://github.com/MonetDB/MonetDB/issues MonetDB Issues]</ref>
| {{Yes}}<ref>{{Cite web |url=https://github.com/MonetDB/MonetDB/issues |title=MonetDB Issues |website=[[GitHub]] |access-date=2025-05-01 }}</ref>
|-
! [[mSQL]]
Line 311 ⟶ 319:
| 1994
| 4.1<ref>{{Citation
|url | url = http://www.hughes.com.au/products/msql/
|publisher | publisher = Hughes
|___location | ___location = AU
|series | series = Products
|title | title = mSQL
|access-date = 2009-09-13
}}</ref>
|archive-date = 2009-10-15
|archive-url = https://web.archive.org/web/20091015100648/http://www.hughes.com.au/products/msql/
|url-status = dead
}}</ref>
| 2017-06-30
| {{Proprietary}}
Line 325 ⟶ 337:
| 1995-11
| {{wikidata|property|reference|edit|Q850|P348}}
| {{wikidata|qualifier|raw|Q850|P548=Q2804309|P348|P577}}; {{Time ago|{{wikidata|qualifier|raw|Q850|P548=Q2804309|P348|P577}}}}
| {{partial|[[GNU General Public License|GPL]] v2 or [[Proprietary software|Proprietary]]}}
| {{Yes}}<ref>[{{Cite web|url=https://bugs.mysql.com/ |title=MySQL Bugs]|website=bugs.mysql.com}}</ref>
|-
! [[NexusDB]]
Line 337 ⟶ 349:
| {{No}}
|-
! [[NonstopNonStop sqlSQL|HPHPE NonStop SQL]]
| [[Hewlett- Packard Enterprise]]
| 1987
| SQL/MX 3.4
Line 349 ⟶ 361:
| 2013
| 4.1
| August 2020-08
| {{Proprietary}}
| {{No}}
Line 364 ⟶ 376:
| [[Progress Software Corporation]]
| 1984
| 1112.6.38
| 20162024-08-191
| {{Proprietary}}
| {{No}}
Line 375 ⟶ 387:
| 2018-08-15
| {{partial|[[GNU General Public License|GPL]] v2 or [[Proprietary software|Proprietary]]}}
| {{Yes}}<ref>[{{Cite web |url=https://github.com/openlink/virtuoso-opensource/issues |title=Issues · openlink/virtuoso-opensource · GitHub |website=[[GitHub]] |access-date=2017-11-01 |archive-date=2020-12-23 |archive-url=https://web.archive.org/web/20201223232822/https://github.com/openlink/virtuoso-opensource/issues |url-status=dead }}</ref>
|-
! [[Oracle Database|Oracle DB]]
Line 409 ⟶ 421:
| {{Yes}}
|-
! [[PervasiveActian Zen (PSQL)]]
| [[Pervasive SoftwareActian]]
| 1982
| v12v16
| 2024-06-30
| 2015
| {{Proprietary}}
| {{No}}
Line 426 ⟶ 438:
| series = Press Release
| publisher = EECatalog
| title = Polyhedra® Lite In-Memory Relational Database System Freeware Available Now from Enea
}}.</ref>
| {{No}}
Line 433 ⟶ 445:
| PostgreSQL Global Development Group
| 1989-06
| 17.4
| {{wikidata|property|reference|edit|Q192490|P348}}
| 2025-02-21<ref>{{Cite web
| {{wikidata|qualifier|raw|Q192490|P348|P577}}; {{Time ago|{{wikidata|qualifier|raw|Q192490|P348|P577}}}}
| {{free|[[Postgres License]]}}<ref>[url=https://www.postgresql.org/about/licencenews/ Postgres License]<postgresql-174-168-1512-1417-and-1320-released-3018/ref>
|title=PostgreSQL 17.4, 16.8, 15.12, 14.17, and 13.20 Released!
| {{No}}<ref>[https://lwn.net/Articles/660468/ A bug tracker for PostgreSQL?]</ref>
|publisher=The PostgreSQL Global Development Group
|date=2025-02-20
|website=PostgreSQL
|access-date=2025-02-21}}</ref>
| {{free|[[Postgres License]]}}<ref>{{Cite web|url=https://www.postgresql.org/about/licence/|title=PostgreSQL: License|website=www.postgresql.org}}</ref>
| {{No}}<ref>{{Cite web|url=https://lwn.net/Articles/660468/|title=A bug tracker for PostgreSQL? [LWN.net]|website=lwn.net}}</ref>
|-
! [[R:Base]]
Line 443 ⟶ 461:
| 10.0
| 2016-05-26
| {{Proprietary}}
| {{No}}
|-
! [[Raima Database Manager]]
| Raima Inc.
| 1984
| 15.0
| 2021-06-10
| {{Proprietary}}
| {{No}}
|-
! [[RDM Server]]
| Raima Inc.
| 1993
| 8.4
| 2012-10-31
| {{Proprietary}}
| {{No}}
Line 500 ⟶ 502:
| {{wikidata|qualifier|raw|Q319417|P348|P577}}; {{Time ago|{{wikidata|qualifier|raw|Q319417|P348|P577}}}}
| {{free|[[Public ___domain]]}}
| {{Yes}}<ref>[http{{Cite web|url=https://www.sqlite.org/src/reportlist |title=SQLite: Ticket Main Menu]|website=www.sqlite.org}}</ref>
|-
! [[SQream DB]]
Line 507 ⟶ 509:
| 2.1<ref>{{Citation
| url = http://docs.sqream.com/2.1/manual/sql_reference.html
| publisher = SQream Technologies
| title = SQream DB Version 2.1 SQL Reference Guide
| access-date = 2018-02-12
| archive-date = 2018-02-12
| archive-url = https://web.archive.org/web/20180212201639/http://docs.sqream.com/2.1/manual/sql_reference.html
| url-status = dead
}}</ref>
| 2018-01-15
Line 528 ⟶ 534:
| 2017
| {{Proprietary}}
| {{Yes}}<Refref>{{Cite web|url=https://www.superbase.com/bug-reports/|title = Bug Reports}}</ref>
|-
 
Line 536 ⟶ 542:
| 15
| 2014-04
| {{Proprietary}}
| {{No}}
|-
! [[Tibero]]
| [[TmaxSoft]]
| 1992
| 6.0 FS07_CS_2005
| 2021-03
| {{Proprietary}}
| {{No}}
|-
! [[TiDB]]
| PingCAP Inc.
| [[Apache Software Foundation|Apache]]
| 2016
| {{wikidata|property|reference|edit|Q56375088|P348}}
Line 563 ⟶ 561:
| {{No}}
|-
! [[Actian Vector|Vector]]
! YugabyteDB
| [[Actian(HCLSoftware)]]
| [[Apache Software Foundation|Apache]]
| 2010
| 7.0<ref>{{cite web
| title = Vector - Lifecycle Dates
| url = https://communities.actian.com/s/supportservices/lifecycle-dates/actian-x-ingres
}}</ref>
| 2024-12-17
| {{Proprietary}}
| {{No}}
|-
 
! [[YugabyteDB]]
| Yugabyte, Inc.
| 2018
| {{YugabyteDB version}}
Line 571 ⟶ 581:
| {{Yes}}<ref>{{Cite web|url=https://github.com/YugaByte/yugabyte-db/issues|title=Issues · yugabyte/Yugabyte-db|website=[[GitHub]]}}</ref>
|-
! [[Actian Zen (PSQL)]]
!
| [[Actian]]
| 1982
| v16
| 2024-06-30
| {{Proprietary}}
| {{No}}
|-
 
!
! Maintainer
! First public release date
Line 584 ⟶ 603:
{| class="wikitable sortable"
|-
!
! [[Microsoft Windows|Windows]]
! [[macOS]]
Line 592 ⟶ 611:
! [[AmigaOS]]
! [[z/OS]]
! [[OpenVMS]]
! [[iOS]]
! [[Android (operating system)|Android]]
! [[OpenVMS]]
|-
! [[4th Dimension (Software)|4th Dimension]]
Line 664 ⟶ 683:
| {{no}}
| {{yes}}
| {{dunno}}
| {{no}}
| {{dunno}}
| {{no}}
|-
! [[Clustrix|ClustrixDB]]DB
| {{no}}
| {{no}}
Line 704 ⟶ 723:
| {{no}}
|-
! [[IBM DB2|DB2Db2]]
| {{yes}}
| {{yes}}
| {{yes}} ([[IBM DB2 Express-C|Express C]])
| {{yes}}
| {{no}}
| {{yes}}
| {{no}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}
| {{no}}
|-
Line 725 ⟶ 744:
| {{no}}
| {{no}}
| {{yes}}
| {{no}}
| {{yes}}
|-
! [[EXASOL|EXASolution]]
Line 744 ⟶ 763:
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
Line 750 ⟶ 770:
| {{Yes}}
| {{No}}
| {{no}}
|-
! [[Firebird (database server)|Firebird]]
Line 762 ⟶ 781:
| {{no}}
| {{yes}}<ref>{{Cite web|url=https://www.firebirdsql.org/en/firebird-3-0/|title = Firebird: The true open source database for Windows, Linux, Mac OS X and more}}</ref>
| {{noyes}}
|-
! [[HSQLDB]]
Line 772 ⟶ 791:
| {{no}}
| {{yes}}
| {{no}}
| {{dunno}}
| {{dunno}}
| {{no}}
|-
! [[H2 (DBMS)|H2]]
Line 784 ⟶ 803:
| {{no}}
| {{yes}}
| {{no}}
| {{dunno}}
| {{yes}}
| {{no}}
|-
! [[Informix Dynamic Server]]
| {{yes}}
| {{yesno}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}} ([[AIX (operating system)|AIX]])
| {{no}}
| {{no}}
Line 808 ⟶ 827:
| {{no}}
| {{partial}}
| {{yes}}<ref>{{Cite web|url=https://docs.actian.com/ingres/11.0/index.html#page/Ing_Install/Install_Ingres_for_OpenVMS.htm|title=Ingres 11.0 Documentation|website=docs.actian.com}}</ref>
| {{no}}
| {{no}}
| {{yes}}<ref>{{Cite web|url=http://docs.actian.com/ingres/11.0/index.html#page/Ing_Install%2FB._Installing_Ingres_on_OpenVMS.htm%23ww245951|title=Ingres 11}}</ref>
|-
! [[InterBase]]
Line 818 ⟶ 837:
| {{no}}
| {{yes}} ([[Solaris (operating system)|Solaris]])
| {{no}}
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
| {{no}}
|-
! [[Linter SQL RDBMS]]
Line 862 ⟶ 881:
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{dunno}}
| {{yes}}<ref>https://play.google.com/store/apps/details?id=com.esminis.server.mariadb&hl=de MariaDB Android Version by Tautvydas Andrikys</ref>
| {{no}}
|-
! [[MaxDB]]
Line 936 ⟶ 955:
| {{no}}
| {{no}}
| {{yes}}<ref>{{Cite web|url=https://developer.mimer.com/mimer-sql-is-now-available-for-openvms-on-x86/|title=Mimer SQL is now available for OpenVMS on x86|date=31 March 2023 }}</ref>
| {{no}}
| {{yes}}
| {{yes}}
|-
Line 961 ⟶ 980:
| {{yes}}
| {{yes}}
| {{no}}
| {{dunno}}
| {{yes}}<ref>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</ref>
| {{no}}
|-
! [[Omnis Studio]]
Line 1,008 ⟶ 1,027:
| {{yes}}
| {{no}}
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
| {{yes}}
|-
! [[Oracle Rdb]]
Line 1,021 ⟶ 1,040:
| {{no}}
| {{no}}
| {{yes}}
| {{no}}
| {{no}}
| {{yes}}
|-
! [[PervasiveActian Zen (PSQL)]]
| {{yes}}
| {{yes}} (OEM only)
Line 1,034 ⟶ 1,053:
| {{no}}
| {{no}}
| {{noyes}}
| {{noyes}}
|-
! [[Polyhedra DBMS|Polyhedra]]
Line 1,055 ⟶ 1,074:
| {{yes}}
| {{yes}}
| {{yes}} ([[MorphOS]])<ref>{{Cite web|url=http://aminet.net/package/dev/gg/postgresql632-mos-bin|title=Aminet - dev/Gg/Postgresql632-mos-bin.lha|access-date=2017-03-14|archive-date=2017-03-14|archive-url=https://web.archive.org/web/20170314154720/http://aminet.net/package/dev/gg/postgresql632-mos-bin|url-status=dead}}</ref>
| Under [[Linux on IBM Z]]<ref>{{Cite web |url=http://www.oss4zos.org/mediawiki/index.php?title=PostgreSQL#z.2FOS |title=ArchivedPostgreSQL copy- Oss4zos |access-date=2013-08-15 |archive-url=https://web.archive.org/web/20150527204912/http://www.oss4zos.org/mediawiki/index.php?title=PostgreSQL#z.2FOS |archive-date=2015-05-27 |url-status=dead }}</ref>
| {{no}}
| {{yes}}
| {{no}}
| {{yes}}
|-
! [[R:Base]]
Line 1,067 ⟶ 1,086:
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
|-
! [[Raima Database Manager]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
| {{yes}}
| {{Yes|color=}}
| {{no}}
|-
! [[RDM Server]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
Line 1,130 ⟶ 1,125:
| {{no}}
| {{no}}
| {{yes}}
| {{no}}
| {{yes}}
|-
! [[SQLBase]]
Line 1,153 ⟶ 1,148:
| {{yes}}
| {{partial|Maybe}}
| {{no}}
| {{Yes}}
| {{Yes}}
| {{no}}
|-
! [[SQream DB]]
Line 1,193 ⟶ 1,188:
| {{no}}
|-
 
! [[Teradata]]
| {{yes}}
Line 1,206 ⟶ 1,200:
| {{no}}
|-
! [[TiberoTiDB]]
| {{yes}}
| {{no}}
| {{yes}}
| {{no}}
| {{yes}}
| {{partial}}
| {{no}}
| {{no}}
| {{no}}
Line 1,242 ⟶ 1,236:
| {{no}}
|-
! [[YugabyteDB]]
| {{yes}}
| {{yes}}
Line 1,254 ⟶ 1,248:
| {{no}}
|-
!
! [[Microsoft Windows|Windows]]
! [[macOS]]
Line 1,262 ⟶ 1,256:
! [[AmigaOS]]
! [[z/OS]]
! [[OpenVMS]]
! [[iOS]]
! [[Android (operating system)|Android]]
! [[OpenVMS]]
|}
 
Line 1,306 ⟶ 1,300:
| {{yes}}
| {{yes}}
| {{Yes|Yes|align=|style=|color=}} (Row-level locking)
| {{Yes||align=|style=|color=}}Yes
| {{yes}}
|[[API]] & [[GUI]] & [[SQL]]
Line 1,336 ⟶ 1,330:
| {{yes}}
| {{yes}}
| {{yes}} (Row-level locking) <ref>[{{Cite web|url=https://db.apache.org/derby/docs/10.14/devguide/cdevconcepts23810.html Derby Developer's Guide (10.14)>|title=Lock granularity]|website=db.apache.org}}</ref>
| {{dunno}}
| {{yes}}
Line 1,342 ⟶ 1,336:
| {{Yes}}
|-
! [[Clustrix|ClustrixDB]]DB
| {{yes}}
| {{yes}}
Line 1,367 ⟶ 1,361:
| {{yes}}
| {{yes}} (Row-level locking)
| {{dunnoyes}}
| {{yes}}
| [[graphical user interface|GUI]] & [[SQL]]
| {{Yes}}
|-
! [[IBM DB2|DB2Db2]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}} (Row-level locking)<ref>[{{Cite web |url=http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.perf.doc/doc/c0004121.html |title=DB2 for Linux UNIX and Windows 9.7.0>Fundamentos de DB2>Performance tuning>Factors affecting performance>Application design>Concurrency issues>Isolation levels] |access-date=2014-04-14 |archive-date=2014-04-15 |archive-url=https://web.archive.org/web/20140415071213/http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.perf.doc/doc/c0004121.html |url-status=dead }}</ref>
| {{dunno}}
| {{yes}}
Line 1,439 ⟶ 1,433:
| {{yes}}
| {{yes}}
| [[SQL]], REST, MQ, and [[JSON]]
| {{Yes}}
|-
Line 1,485 ⟶ 1,479:
| {{yes}}<sup id="feat_2_back">[[#feat 2|2]]</sup>
| {{yes}}
| {{yes}}<sup>[[#feat 2|2]]</sup> except for [[Data Definition Language|DDL]]<ref name="Transactional DDL in PostgreSQL">[{{Cite web|url=https://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_Analysis |title=Transactional DDL in PostgreSQL: A Competitive Analysis] - PostgreSQL wiki|website=wiki.postgresql.org}}</ref><ref name="Transactional DDL in MariaDB">[{{Cite web|url=https://jira.mariadb.org/browse/MDEV-4259|title=[MDEV-4259] Transactionaltransactional DDL in- MariaDB]Jira|website=jira.mariadb.org}}</ref>
| {{yes}} (Row-level locking)
| {{yes}}
Line 1,526 ⟶ 1,520:
| {{yes}}
| {{yes}}
| {{yes}} (Row-level locking)<ref>[{{Cite web|url=https://technet.microsoft.com/en-us/library/jj856598.aspx |title=SQL Server Transaction Locking and Row Versioning Guide]}}</ref>
| {{yes}}
| {{yes}}
Line 1,566 ⟶ 1,560:
| {{yes}}<sup id="feat_3_back">[[#feat 3|3]]</sup>
| {{yes}}<sup>[[#feat 2|2]]</sup> except for [[Data Definition Language|DDL]]<ref name="Transactional DDL in PostgreSQL"/>
| {{yes}} (Row-level locking)<ref>[{{Cite web |url=https://dev.mysql.com/doc/refman/5.6/en/internal-locking.html |title=MySQL :: MySQL 5.6 Reference Manual :: 8.10.1 Internal Locking Methods] |access-date=2018-03-05 |archive-date=2018-03-06 |archive-url=https://web.archive.org/web/20180306023025/https://dev.mysql.com/doc/refman/5.6/en/internal-locking.html |url-status=dead }}</ref>
| {{yes}}
| {{yes}}
Line 1,596 ⟶ 1,590:
| {{yes}}
| {{yes}} except for [[Data Definition Language|DDL]]<ref name="Transactional DDL in PostgreSQL" />
| {{yes}} (Row-level locking)<ref>[{{Cite web|url=http://www.dba-oracle.com/t_locks_row_level_locking_update.htm Oracle Row Lock and Row Level Locking]|title=dba-oracle.com}}</ref>
| {{yes}}
| {{yes}}
Line 1,612 ⟶ 1,606:
| {{Yes}}
|-
! [[PervasiveActian Zen (PSQL)]]
| {{yes}}
| {{yes}}
Line 1,636 ⟶ 1,630:
| {{yes}}
| {{yes}}
| {{yes}} (Row-level locking)<ref>[{{Cite web |url=https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING_ROWS |title=PostgreSQL: Documentation: Explicit Locking : Row-Level Locks] |access-date=2021-05-13 |archive-date=2021-05-13 |archive-url=https://web.archive.org/web/20210513151442/https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING_ROWS |url-status=dead }}</ref>
| {{yes}}
| {{yes}}
| [[API]] & [[graphical user interface|GUI]] & [[SQL]]
| {{No}}<ref>[{{Cite news|url=https://www.postgresql.org/message-id/9799.1302719551%40sss.pgh.pa.us|title=Re: BUG #5974: UNION construct type cast gives poor error message]|first=Tom|last=Lane|date=April 13, 2011|website=PostgreSQL Mailing List Archives}}</ref>
|-
! [[Raima Database Manager]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{dunno}}
| {{yes}}
| {{yes}}
| [[SQL]] & [[API]]
| {{Yes}}
|-
! [[RDM Server]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{dunno}}
| {{dunno}}
| {{yes}}
| [[SQL]] & [[API]]
| {{Yes}}
|-
! [[SAP HANA]]
Line 1,686 ⟶ 1,660:
| {{yes}}
| {{yes}}
| {{yes}} (Row-level locking)<ref>{{Cite web|url=https://help.sap.com/viewer/e38b2f6217f24bdb90a3ff8ae57b1dd5/17.0/en-US/3bee03b56c5f1014ab68e3eff32515dd.html | title=SAP SQLHelp Anywhere Reference - Types of LockPortal|website=help.sap.com}}</ref>
| {{yes}}<ref>[{{Cite web|url=https://help.sap.com/viewer/e38b2f6217f24bdb90a3ff8ae57b1dd5/17.0/en-US/3bf0656e6c5f1014bb32fe2f7ce00302.html |title=SAP SQLHelp Anywhere Reference - Snapshot Isolation]Portal|website=help.sap.com}}</ref>
| {{yes}}
| [[API]] & [[graphical user interface|GUI]] & [[HTTP|HTTP(S)]] (REST & SOAP)<ref>{{Cite web|url=https://help.sap.com/viewerdocs/r/98ad9ec940e2465695685d98e308dff5/17.0/en-US/3bd460b56c5f10148922c11d39abc0b3.html | title=SAP SQLHelp Anywhere Reference - HTTP Web ServicesPortal|website=help.sap.com}}</ref> & [[SQL]]
| {{Yes}}
|-
Line 1,706 ⟶ 1,680:
| {{yes}}
| {{yes}}
| {{no}} (Database-level locking)<ref>[{{Cite web|url=https://www.sqlite.org/lockingv3.html |title=File Locking And Concurrency In SQLite Version 3]|website=www.sqlite.org}}</ref>
| {{no}}
| {{optional}}<ref>[http://www.sqlite.org/faq.html#q18 SQLite Full Unicode support is optional and not installed by default in most systems] (like [[Android (operating system)|Android]], [[Debian]]...)</ref>
| [[API]] & [[SQL]]
| {{Yes}}
|-
! [[Superbase database | Superbase NG]]
| {{dunno}}
| {{dunno}}
Line 1,719 ⟶ 1,693:
| {{dunno}}
| {{yes}}
| [[GUI]] & [[PropietaryProprietary software|Proprietary]] & [[ODBC]]
| {{Yes}}
|-
Line 1,732 ⟶ 1,706:
| {{Yes}}
|-
! [[TiberoTiDB]]
| {{yes}}
| {{yes}}
| {{yes}} except for [[Data Definition Language|DDL]]<ref name="Transactional DDL in PostgreSQL"/>
| {{yes}} (Row-level locking)<ref>{{Cite web|url=https://docs.pingcap.com/tidb/stable/basic-features/|title=TiDB Features|website=docs.pingcap.com}}</ref>
| {{yes}}
| {{yes}} (Row-level locking)
| {{yes}}
| [[graphical user interface|GUI]] <sup>[[#feat 5|5]]</sup> & [[SQL]]
| {{yes}}
| [[API]] & [[graphical user interface|GUI]] & [[SQL]]
| {{Yes}}
|-
Line 1,772 ⟶ 1,746:
![[Type inference]]
|}
* <cite id="feat_1">[[Comparison of relational database management systems#feat 1|Note (1):]]</cite> Currently only supports read uncommitted transaction isolation. Version 1.9 adds serializable isolation and version 2.0 will be fully ACID compliant.
 
* <cite id="feat_2">[[#feat 2 back|Note (2):]]</cite> MariaDB and MySQL provide ACID compliance through the default InnoDB storage engine.<ref>{{cite web
<cite id="feat_1">[[Comparison of relational database management systems#feat 1|Note (1):]]</cite> Currently only supports read uncommited transaction isolation. Version 1.9 adds serializable isolation and version 2.0 will be fully ACID compliant.
 
<cite id="feat_2">[[#feat 2 back|Note (2):]]</cite> MariaDB and MySQL provide ACID compliance through the default InnoDB storage engine.<ref>{{cite web
| url = http://dev.mysql.com/doc/refman/5.5/en/innodb-storage-engine.html
| title = MySQL - The InnoDB Storage Engine
Line 1,782 ⟶ 1,754:
| title = InnoDB - Oracle Wiki
}}</ref>
* <cite id="feat_3">[[#feat 3 back|Note (3):]]</cite> "For other than [[InnoDB]] storage engines, MySQL Server parses and ignores the {{mono|FOREIGN KEY}} and {{mono|REFERENCES}} syntax in {{mono|CREATE TABLE}} statements. The {{mono|CHECK}} clause is parsed but ignored by all storage engines."<ref>{{cite web
 
<cite id="feat_3">[[#feat 3 back|Note (3):]]</cite> "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."<ref>{{cite web
| url = http://dev.mysql.com/doc/refman/5.6/en/create-table.html
| title = MySQL 5.6 Reference Manual
}}</ref>
* <cite id="feat_4">[[Comparison of relational database management systems#feat 4|Note (4):]]</cite> Support for Unicode is new in version 10.0.
 
* <cite id="feat_4feat_5">[[Comparison of relational database management systems#feat 45|Note (45):]]</cite> SupportMySQL forprovides UnicodeGUI isinterface newthrough in[[MySQL version 10.0Workbench]].
* <cite id="feat_7">[[#feat 6 back|Note (6):]]</cite> OpenEdge SQL database engine uses Referential Integrity, OpenEdge ABL Database engine does not and is handled via database triggers.
 
<cite id="feat_5">[[Comparison of relational database management systems#feat 5|Note (5):]]</cite> MySQL provides GUI interface through [[MySQL Workbench]].
 
<cite id="feat_7">[[#feat 6 back|Note (6):]]</cite> OpenEdge SQL database engine uses Referential Integrity, OpenEdge ABL Database engine does not and is handled via database triggers.
 
==Limits==
Line 1,825 ⟶ 1,793:
| Unlimited
| 16 [[exbibyte|EiB]]
| {{val|65530|u=B|fmt=commas}}
| 65,530 B
| 65,135 / (10+ AvgFieldNameLength)
| 4 [[gibibyte|GiB]]
Line 1,840 ⟶ 1,808:
| 1,012 (5,000 in views)
| 2,147,483,647 chars
| 254 (<code>{{mono|VARCHAR</code>}}: 32,672)
| 64 bits
| 0001-01-01
Line 1,846 ⟶ 1,814:
| 128
|-
! style="text-align:left" | [[Clustrix|ClustrixDB]]DB
| Unlimited
| Unlimited
Line 1,870 ⟶ 1,838:
| 254
|-
! style="text-align:left" | [[IBM DB2|DB2]]
| Unlimited
| {{val|2 [[zettabyte|u=ZB]]}}
| {{val|1048319|u=B|fmt=commas}}
| 1,048,319 B
| 1,012
| {{val|2 |u=GB}}
| {{val|32 [[kibibyte|u=KiB]]}}
| 64 bits
| 0001-01-01
Line 1,884 ⟶ 1,852:
! style="text-align:left" | [[Empress database|Empress Embedded Database]]
| Unlimited
| 2<sup>63</sup>-1−1 bytes
| 2 GB
| 32,767
Line 1,899 ⟶ 1,867:
| Unlimited
| 10,000
| {{N/A}}
| 2 MB
| 128 bits
Line 1,913 ⟶ 1,881:
| 4 GB
| 10,000,000
| 1 billion characters, {{10^|-400}} to {{10^|400}}, +-±
| 0001-01-01
| 4000-12-31
Line 1,919 ⟶ 1,887:
|-
! style="text-align:left" | [[Firebird (database server)|Firebird]]
| Unlimited<sup id="limit_1_back">[[#limit 1|1]]</sup>
| ~32≈32 TB
| 65,536 B
| Depends on data types used
| 32 GB
| 32,767 B
| 64128 bits
| 100
| 32768
| 3163
|-
! style="text-align:left" | [[HSQLDB]]
Line 1,967 ⟶ 1,935:
|-
! style="text-align:left" | [[Informix Dynamic Server]]
| ~128≈0.5 PBYB<sup id="limit_12_back">[[#limit 12|12]]</sup>
| ~128 PB≈0,5YB<sup id="limit_12_back">[[#limit 12|12]]</sup>
| 32,765 bytes (exclusive of large objects)
| 32,765
| 4 TB
| 32,765<sup id="limit_14_back">[[#limit 14|14]]</sup>
| 32,765
| 10<sup>32125</sup> <sup id="limit_13_back">[[#limit 13|13]]</sup>
| 01/01/0001<sup id="limit_10_back">[[#limit 10|10]]</sup>
| 12/31/9999
Line 1,992 ⟶ 1,960:
! style="text-align:left" | [[InterBase]]
|Unlimited<sup id="limit_1_back">[[#limit 1|1]]</sup>
| ~32≈32 TB
| 65,536 B
| Depends on data types used
Line 2,005 ⟶ 1,973:
| Unlimited
| 2<sup>30</sup> rows
| 64 KB (w/o BLOBs),<br />2GB (each BLOB value)
| 250
| 2 GB
Line 2,016 ⟶ 1,984:
! style="text-align:left" | [[MariaDB]]
| Unlimited
| MyISAM storage limits: 256 TB;<br />Innodb storage limits: 64 TB;<br />Aria storage limits: ???
| 64 KB<sup id="limit_3_back">[[#limit 3|3]]</sup>
| 4,096<sup id="limit_4_back">[[#limit 4|4]]</sup>
Line 2,036 ⟶ 2,004:
| 16 MB
| 255
| 64 KB (memo field),<br />1 GB ("OLE Object" field)
| 255 B (text field)
| 32 bits
Line 2,056 ⟶ 2,024:
|-
! style="text-align:left" | [[Microsoft SQL Server]]
| 524,272 TB (32 767 files *× 16 TB max file size)
16ZB per instance
| 524,272 TB
| 8,060 bytes /2TB 2 TB<sup id="limit_6_back">[[#limit 6|6]]</sup>
| 1,024 / 30,000(with sparse columns)
| 2 GB / Unlimited (using RBS/FILESTREAM object)
| 2 GB<sup id="limit_6_back">[[#limit 6|6]]</sup>
| 126 bits<sup id="limit_2_back">[[#limit 2|2]]</sup>
Line 2,100 ⟶ 2,068:
| 2 GB
| 128 bits
| -99994712-01-01
| 9999-12-31
| 1024
Line 2,117 ⟶ 2,085:
|-
! style="text-align:left" | [[Virtuoso Universal Server|OpenLink Virtuoso]]
| 32 TB per instance<br />(Unlimited via elastic cluster)
| DB size (or 32 TB)
| 4 KB
Line 2,129 ⟶ 2,097:
|-
! style="text-align:left" | [[Oracle Database|Oracle]]
| {{val|2|u=PB}} (with standard 8k block)<br />{{val|8|u=PB}} (with max 32k block)<br />{{val|8|u=EB}} (with max 32k block and BIGFILE option)
| 2PB (with standard 8k block)
| 4 GB × block size<br />(with BIGFILE tablespace)
8PB (with max 32k block)
8EB (with max 32k block and BIGFILE option)
| 4 GB * block size (with BIGFILE tablespace)
| 8 KB
| 1,000
Line 2,154 ⟶ 2,120:
! Max column name size
|-
! style="text-align:left" | [[PervasiveActian Zen (PSQL)]]
| 4 billion objects
| 256&nbsp;GB
Line 2,203 ⟶ 2,169:
| 5,874,897
| 63
|-
! style="text-align:left" | [[Raima Database Manager]]
| Unlimited
| 2<sup>48</sup>-1 rows
| 32&nbsp;KB
| 1,000
| 4&nbsp;GB
| char: 256, varchar: 4 KB
| 64&nbsp;bits
| 0001-01-01
| 11758978-12-31
| 31
|-
! style="text-align:left" | [[RDM Server]]
| Unlimited
| 2<sup>64</sup>-1 rows
| 32&nbsp;KB
| 32,768
| Unlimited
| 32&nbsp;KB
| 64&nbsp;bits
| 0001-01-01
| 11758978-12-31
| 32
|-
! style="text-align:left" | [[SAP HANA]]
Line 2,252 ⟶ 2,194:
| 254
|-
! style="text-align:left" | [[SQL Anywhere]]<ref>{{Cite web|url=https://help.sap.com/viewer/61ecb3d4d8be4baaa07cc4db0ddb5d0a/17.0/en-US/813836f16ce210149e89f219dc353b7e.html | title=SAP SQLHelp Anywhere - Physical limitations on size and number of databasesPortal|website=help.sap.com}}</ref>
| 104 TB (13 files, each file up to 8 TB (32 KB pages))
| Limited by file size
Line 2,265 ⟶ 2,207:
|-
! style="text-align:left" | [[SQLite]]
| 128 TB (2<sup>31</sup> pages *× 64 KB max page size)
| Limited by file size
| Limited by file size
Line 2,279 ⟶ 2,221:
| Unlimited
| Unlimited
| 64000 wo/lobs<br />(64 GB w/lobs)
| 2,048
| 2 GB
Line 2,312 ⟶ 2,254:
! Max column name size
|}
* <cite id="limit_1">[[#limit 1 back|Note (1):]]</cite> Firebird 2.x maximum database size is effectively unlimited with the largest known database size >980 GB.<ref>
 
<cite id="limit_1">[[#limit 1 back|Note (1):]]</cite> Firebird 2.x maximum database size is effectively unlimited with the largest known database size >980 GB.<ref>
{{Citation
| url = http://www.firebirdsql.org/index.php?op=guide&id=techspec
Line 2,325 ⟶ 2,266:
}}
</ref> Firebird 1.5.x maximum database size: 32 TB.
* <cite id="limit_2">[[#limit 2 back|Note (2):]]</cite> Limit is 10<sup>38</sup> using <code>DECIMAL</code> datatype.<ref>{{Citation
 
<cite id="limit_2">[[#limit 2 back|Note (2):]]</cite> Limit is 10<sup>38</sup> using <code>DECIMAL</code> datatype.<ref>{{Citation
| url = http://msdn.microsoft.com/en-us/library/ms187746.aspx
| publisher = Microsoft
| series = MSDN
| title = Library
| date = 21 May 2024
}}</ref>
}}</ref>
 
* <cite id="limit_3">[[#limit 3 back|Note (3):]]</cite> InnoDB is limited to 8,000 bytes (excluding <code>VARBINARY</code>, <code>VARCHAR</code>, <code>BLOB</code>, or <code>TEXT</code> columns).<ref name = "MySQL column count limit">{{Citation
| chapter-url = https://dev.mysql.com/doc/refman/8.0/en/column-count-limit.html
| publisher = Oracle
Line 2,340 ⟶ 2,280:
| chapter = Column count limit
}}</ref>
* <cite id="limit_4">[[#limit 4 back|Note (4):]]</cite> InnoDB is limited to 1,017 columns.<ref name = "MySQL column count limit" />
 
* <cite id="limit_4limit_6">[[#limit 46 back|Note (46):]]</cite> InnoDBUsing is<code>VARCHAR limited(MAX)</code> toin 1,017SQL columns2005 and later.<ref name = "MySQLSQL columnServer countRow-Overflow limit"Data /Exceeding 8 KB">{{Citation
 
<cite id="limit_6">[[#limit 6 back|Note (6):]]</cite> Using <code>VARCHAR (MAX)</code> in SQL 2005 and later.<ref name = "SQL Server Row-Overflow Data Exceeding 8 KB">{{Citation
| chapter-url = https://technet.microsoft.com/en-us/library/ms186981.aspx
| publisher = Microsoft
Line 2,351 ⟶ 2,289:
| chapter = Row-Overflow Considerations
}}</ref>
* <cite id="limit_7">[[#limit 7 back|Note (7):]]</cite> When using a page size of 32 KB, and when BLOB/CLOB data is stored in the database file.
 
* <cite id="limit_7limit_8">[[#limit 78 back|Note (78):]]</cite> WhenJava usingarray asize pagelimit sizeof 2,147,483,648 (2<sup>31</sup>) objects per array applies. This limit applies to number of 32characters in KBnames, androws whenper BLOB/CLOBtable, datacolumns isper storedtable, inand thecharacters databaseper file<code>CHAR</code>/<code>VARCHAR</code>.
* <cite id="limit_9">[[#limit 9 back|Note (9):]]</cite> Despite the lack of a date datatype, SQLite does include date and time functions,<ref>{{Citation
 
<cite id="limit_8">[[#limit 8 back|Note (8):]]</cite> Java array size limit of 2,147,483,648 (2<sup>31</sup>) objects per array applies. This limit applies to number of characters in names, rows per table, columns per table, and characters per <code>CHAR</code>/<code>VARCHAR</code>.
 
<cite id="limit_9">[[#limit 9 back|Note (9):]]</cite> Despite the lack of a date datatype, SQLite does include date and time functions,<ref>{{Citation
| chapter-url = http://www.sqlite.org/lang_datefunc.html
| publisher = SQLite
Line 2,362 ⟶ 2,297:
| chapter = Date functions
}}</ref> which work for timestamps between 24 November 4714 B.C. and 1 November 5352.
* <cite id="limit_10">[[#limit 10 back|Note (10):]]</cite> 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.
 
* <cite id="limit_10limit_11">[[#limit 1011 back|Note (1011):]]</cite> InformixSince DATETIMEversion type has adjustable range from YEAR only through 1/10000th second12c. Earlier DATETIMEversions datesupport rangeup isto 0001-01-01 00:00:00.00000 through 9999-12-31 23:59:59.99999{{val|4000|u=B}}.
* <cite id="limit_12">[[#limit 12 back|Note (12):]]</cite> The {{val|0.5|u=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.
 
* <cite id="limit_11limit_13">[[#limit 1113 back|Note (1113):]]</cite> SinceInformix versionDECIMAL 12c.type Earliersupports versionsup supportto up32 decimal digits of precision with a range of {{10^|-130}} to 4000{{10^|125}}. Fixed and variable precision are Bsupported.
* <cite id="limit_14">[[#limit 14 back|Note (14):]]</cite> The LONGLVARCHAR type supports strings up to 4TB.
 
<cite id="limit_12">[[#limit 12 back|Note (12):]]</cite> The 128PB limit refers to the storage limit of a single Informix server instance. 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.
 
==Tables and views==
Line 2,402 ⟶ 2,336:
| {{no}}
|-
! style="text-align:left" | [[Clustrix|ClustrixDB]]DB
| {{yes}}
| {{no}}
|-
! style="text-align:left" | [[CUBRID]]
| {{noyes}} (only CTE)
| {{no}} (only common views)
|-
! style="text-align:left" | [[IBM DB2|DB2Db2]]
| {{yes}}
| {{yes}}
Line 2,502 ⟶ 2,436:
| {{yes}}
|-
! style="text-align:left" | [[PervasiveActian Zen (PSQL)]]
| {{yes}}
| {{no}}
Line 2,513 ⟶ 2,447:
| {{yes}}
| {{yes}}
|-
! style="text-align:left" | [[Raima Database Manager]]
| {{yes}}
| {{no}}
|-
! style="text-align:left" | [[RDM Server]]
| {{yes}}
| {{no}}
|-
! style="text-align:left" | [[SAP HANA]]
Line 2,538 ⟶ 2,464:
| {{no}}
|-
! style="text-align:left" | [[Superbase database | Superbase]]
| {{yes}}
| {{yes}}
Line 2,558 ⟶ 2,484:
! [[Materialized view]]
|}
* <cite id="tb_1">[[#tb 1 back|Note (1):]]</cite> Server provides tempdb, which can be used for public and private (for the session) temp tables.<ref>{{Citation
 
<cite id="tb_1">[[#tb 1 back|Note (1):]]</cite> Server provides tempdb, which can be used for public and private (for the session) temp tables.<ref>{{Citation
| url = http://sybooks.sybase.com/onlinebooks/group-as/asg1250e/sag/@Generic__BookTextView/3225;
| archive-url = https://web.archive.org/web/20051023153932/http://sybooks.sybase.com/onlinebooks/group-as/asg1250e/sag/@Generic__BookTextView/3225;
Line 2,567 ⟶ 2,492:
| title = Online books
}}</ref>
* <cite id="tb_2">[[#tb 2 back|Note (2):]]</cite> 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.<ref>{{Citation
 
<cite id="tb_2">[[#tb 2 back|Note (2):]]</cite> 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.<ref>{{Citation
| publisher = IBM
| url = http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=/com.ibm.perf.doc/ids_prf_534.htm
Line 2,574 ⟶ 2,498:
| title = Informix Performance Guide
}}</ref>
* <cite id="tb_4">[[#tb 4 back|Note (4):]]</cite> Materialized views can be emulated using [[stored procedure]]s and triggers.<ref>{{Citation
 
<cite id="tb_4">[[#tb 4 back|Note (4):]]</cite> Materialized views can be emulated using [[stored procedure]]s and triggers.<ref>{{Citation
| publisher = Red Noize
| series = Pure
Line 2,601 ⟶ 2,524:
! [[Full text search|Full-text]]
! [[Spatial index|Spatial]]
! [[Forest of Trees|FOT]] Index
! Duplicate index prevention
|-
Line 2,680 ⟶ 2,603:
| {{no}}
|-
! style="text-align:left" | [[Clustrix|ClustrixDB]]DB
| {{no}}
| {{yes}}
Line 2,699 ⟶ 2,622:
| {{yes}}<ref name="CUBRID 9.0 release">{{cite web
| url = http://www.cubrid.org/blog/news/announcing-cubrid-9-0-with-3x-performance-increase-and-sharding-support/
| title = CUBRID 9.0 release
| access-date = 2013-02-05
| archive-date = 2013-02-14
| archive-url = https://web.archive.org/web/20130214205927/http://www.cubrid.org/blog/news/announcing-cubrid-9-0-with-3x-performance-increase-and-sharding-support
| url-status = dead
}}</ref>
| {{yes}}<ref name="CUBRID 9.0 release"/>
Line 2,711 ⟶ 2,638:
| {{no}}
|-
! style="text-align:left" | [[IBM DB2|DB2Db2]]
| {{Yes}}
| {{Yes}}
Line 2,724 ⟶ 2,651:
| publisher = IBM
| series = Developer Works
| title = Full-text search with DB2Db2 Text Search
}}</ref>
| {{dunno}}
Line 2,762 ⟶ 2,689:
| {{no}}
| {{yes}}
| {{noyes}}
| {{yes}}
| {{no}}
Line 2,826 ⟶ 2,753:
| {{yes}}
| {{yes}}<ref>{{Citation
| url = http://publib.boulder.ibm.com/infocenter/idshelp/v117/index.jsp?topic=%2Fcom.ibm.perf.doc%2Fids_prf_763.htm
| publisher = IBM
| url = https://www.ibm.com/docs/en/informix-servers/15.0.0?topic=indexes-forest-trees
| title = Forest of Trees Index
| seriestitle = Informix Infocenter15.0.0 online documentation
| date = 19 November 2024
}}</ref>
| {{yes}}
Line 3,003 ⟶ 2,930:
| title = Library
| chapter = Spatial Indexing Overview
| date = 4 October 2012
}}</ref>
}}</ref>
| {{dunno}}
| {{no}}
Line 3,096 ⟶ 3,024:
}}</ref> and, since v5.7.5, InnoDB tables<ref>{{Citation
| publisher = Oracle
| series = MySQL
| url = https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-5.html#mysqld-5-7-5-spatial-support
| title = Changes in MySQL 5.7.5
Line 3,140 ⟶ 3,067:
}}</ref>
| {{dunno}}
| {{yes}}<ref>[{{Cite web|url=https://www.techonthenet.com/oracle/errors/ora01408.php |title=Oracle / PLSQL: ORA-01408 Error Message]|website=www.techonthenet.com}}</ref>
|-
! style="text-align:left" | [[Oracle Rdb]]
Line 3,156 ⟶ 3,083:
| {{no}}
|-
! style="text-align:left" | [[PervasiveActian Zen (PSQL)]]
| {{no}}
| {{no}}
Line 3,208 ⟶ 3,135:
| style="background:#ffd;"| PostGIS<ref>{{Citation
| publisher = The PostGIS Development Group
| series = PostGIS Manual
| url = https://postgis.net/docs/postgis_usage.html#build-indexes
| title = Building Spatial Indexes
| access-date = 2021-05-13
| archive-date = 2021-05-03
| archive-url = https://web.archive.org/web/20210503205533/https://postgis.net/docs/postgis_usage.html#build-indexes
| url-status = dead
}}</ref>
| {{no}}
| {{no}}
|-
! style="text-align:left" | [[Raima Database Manager]]
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{yes}}
| {{no}}
| {{no}}
|-
! style="text-align:left" | [[RDM Server]]
| {{no}}
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
Line 3,286 ⟶ 3,189:
|-
! style="text-align:left" | [[SQLite]]
| {{yes}}<ref>[{{Cite web|url=http://www.sqlite.org/rtree.html |title=The SQLite R*Tree Module]|website=www.sqlite.org}}</ref>
| {{no}}
| {{yes}}<ref>[http{{Cite web|url=https://sqlite.org/expridx.html|title=Indexes SQLiteOn Expression Indexes]Expressions|website=sqlite.org}}</ref>
| {{yes}}
| {{no}}
Line 3,294 ⟶ 3,197:
| {{no}}
| {{no}}
| {{yes}}<ref>[http{{Cite web|url=https://www.sqlite.org/fts5.html |title=SQLite FTS5 Extension]|website=www.sqlite.org}}</ref>
| style="background:#ffd;"| SpatiaLite<ref>{{Citation
| url = http://www.gaia-gis.it/spatialite/
| publisher = Gaia GIS 2.3.1
| place = IT
| title = SpatiaLite
| access-date = 2010-12-06
| archive-date = 2011-07-22
| archive-url = https://web.archive.org/web/20110722033735/http://www.gaia-gis.it/spatialite/
| url-status = dead
}}</ref>
| {{dunno}}
Line 3,362 ⟶ 3,269:
! [[Full text search|Full-text]]
! [[Spatial index|Spatial]]
! [[Forest of Trees|FOT]] Index
! Duplicate index prevention
|}
* <cite id="idx_1">[[#idx 1 back|Note (1):]]</cite> The users need to use a function from freeAdhocUDF library or similar.<ref>{{Citation
 
<cite id="idx_1">[[#idx 1 back|Note (1):]]</cite> The users need to use a function from freeAdhocUDF library or similar.<ref>{{Citation
| url = http://www.udf.adhoc-data.de/index_eng.html
| publisher = Ad Hoc Data
| title = UDF
| access-date = 2007-01-11
| archive-date = 2019-09-14
| archive-url = https://web.archive.org/web/20190914222246/http://www.udf.adhoc-data.de/index_eng.html
| url-status = dead
}}</ref>
* <cite id="idx_2">[[#idx 2 back|Note (2):]]</cite> Can be implemented for most data types using expression-based indexes.
 
* <cite id="idx_2idx_3">[[#idx 23 back|Note (23):]]</cite> Can be implementedemulated forby mostindexing dataa typescomputed using expression-based indexes.column<ref>{{Citation
 
<cite id="idx_3">[[#idx 3 back|Note (3):]]</cite> Can be emulated by indexing a computed column<ref>{{Citation
| series = MSDN
| chapter-url = http://msdn.microsoft.com/library/default.asp?url=/library/en-us/createdb/cm_8_des_05_8os3.asp
Line 3,395 ⟶ 3,303:
| page = 300
}}</ref>).
* <cite id="idx_4">[[#idx 4 back|Note (4):]]</cite> Used for InMemory ColumnStore index, temporary hash index for hash join, Non/Cluster & fill factor.
 
* <cite id="idx_4idx_5">[[#idx 45 back|Note (45):]]</cite> UsedInnoDB forautomatically InMemorygenerates ColumnStore index, temporaryadaptive hash index for hash join, Non/Cluster & fill factor.<ref>{{Citation
 
<cite id="idx_5">[[#idx 5 back|Note (5):]]</cite> InnoDB automatically generates adaptive hash index<ref>{{Citation
| publisher = Oracle
| chapter-url = http://dev.mysql.com/doc/refman/5.0/en/innodb-adaptive-hash.html
Line 3,405 ⟶ 3,311:
| series = Development documentation
}}</ref> entries as needed.
* <cite id="idx_6">[[#idx 6 back|Note (6):]]</cite> 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.
 
* <cite id="idx_6idx_7">[[#idx 67 back|Note (67):]]</cite> CanA bePostgreSQL implementedfunctional usingindex Function-based Indexes in Oracle 8i and higher, but the function needs tocan be used into the sql forreverse the indexorder toof bea usedfield.
* <cite id="idx_10">[[#idx 10 back|Note (10):]]</cite> B+ tree and full-text only for now.
 
* <cite id="idx_7idx_11">[[#idx 711 back|Note (711):]]</cite> AR-Tree indexing available in base edition with PostgreSQLLocator functionalbut indexsome canfunctionality berequires usedPersonal toEdition reverseor theEnterprise orderEdition ofwith aSpatial fieldoption.
* <cite id="idx_12">[[#idx 12 back|Note (12):]]</cite> 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.<ref>{{Citation
 
| publisher = IBM
<cite id="idx_10">[[#idx 10 back|Note (10):]]</cite> B+ tree and full-text only for now.
| chapter-url =https://www.ibm.com/docs/en/informix-servers/15.0.0?topic=indexes-forest-trees =
 
| title = Informix 15.0 online documentation
<cite id="idx_11">[[#idx 11 back|Note (11):]]</cite> R-Tree indexing available in base edition with Locator but some functionality requires Personal Edition or Enterprise Edition with Spatial option.
| chapter = Forest of Trees
| series = Development documentation
}}</ref>
 
==Database capabilities==
Line 3,419 ⟶ 3,328:
! style="width:16em" |
! [[Union (SQL)|Union]]
! [[Intersect (sqlSQL)|Intersect]]
! [[Except (SQL)|Except]]
! [[Inner join]]s
Line 3,425 ⟶ 3,334:
! Inner selects
! [[Join (SQL)#Merge join|Merge joins]]
! [[Binary large object|Blobs]] and [[Character large object|Clobsclobs]]
! [[Common table expressions|Common Table Expressions]]
! [[Window function (SQL)|Windowing Functionsfunctions]]
! Parallel Queryquery
! [[Temporal database|System-versioned Tablestables]]
|-
! style="text-align:left" | [[4th Dimension (Software)|4th Dimension]]
Line 3,520 ⟶ 3,429:
 
|-
! style="text-align:left" | [[Clustrix|ClustrixDB]]DB
| {{yes}}
| {{no}}
Line 3,544 ⟶ 3,453:
| {{yes}}
| {{yes}}
| {{noyes}}
| {{yes}}<ref name="CUBRID 9.0 release"/>
| {{dunno}}
Line 3,550 ⟶ 3,459:
 
|-
! style="text-align:left" | [[IBM DB2|DB2Db2]]
| {{yes}}
| {{yes}}
Line 3,568 ⟶ 3,477:
| chapter = Article
}}</ref>
| {{yes}}<ref name="system-versioning">{{cite web |url=https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3#3.system-versioned-tables |title = What's new in MariaDB 10.3}}</ref>
|-
! style="text-align:left" | [[Empress database|Empress Embedded Database]]
Line 3,622 ⟶ 3,531:
| {{yes}}
| {{yes}}
| {{yes}}<ref name="New Features in HyperSQL 2.2">[{{Cite web|url=http://hsqldb.org/web/features200.html|title=HyperSQL 2.5 New Features in HyperSQL 2|website=hsqldb.2]org}}</ref>
| {{yes}}
| {{yes}}
Line 3,639 ⟶ 3,548:
| {{no}}
| {{yes}}
| experimental<ref>[{{Cite web|url=http://h2database.com/html/advanced.html#recursive_queries H2 > |title=Advanced > Recursive Queries]|website=h2database.com}}</ref>
| {{yes}}<ref>[{{Cite web|url=https://www.h2database.com/html/functions.html H2 |title=Functions]|website=www.h2database.com}}</ref>
| {{dunno}}
| {{dunno}}
Line 3,656 ⟶ 3,565:
| {{yes}}
| {{yes}}
| {{yes}}<ref>[{{Cite web|url=http://portal.acm.org/citation.cfm?id=382443 |title=Informix parallel data query (PDQ)]|first=David|last=Clay|date=January 1, 1993|publisher=IEEE Computer Society Press|pages=71–73|via=ACM Digital Library}}</ref>
| {{dunno}}
 
Line 3,669 ⟶ 3,578:
| {{yes}}
| {{yes}}
| {{yes}}<ref>{{cite web | url=https://docs.actian.com/ingres/10S/index.html#page/RelSum%2FCommon_Table_Expressions.htm | title=Ingres }}</ref>
| {{no}}
| {{yes}}<ref>{{cite web | url=https://docs.actian.com/ingres/10.2/index.html#page/RelSum%2FWindow_Functions.htm | title=Ingres }}</ref>
| {{no}}
| {{yes}}<ref>{{cite web | url=https://docs.actian.com/ingres/10s/index.html#page/DatabaseAdmin/Parallel_Query_Execution.htm | title=Ingres }}</ref>
| {{dunno}}
| {{dunno}}
 
Line 3,796 ⟶ 3,705:
! style="text-align:left" | [[Microsoft SQL Server]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
Line 3,815 ⟶ 3,724:
| title = Library
| chapter = SQL Server Parallel Query Processing
| date = 4 October 2012
}}</ref>
}}</ref>
| {{yes}}<ref name="system-versioning"/>
 
Line 3,866 ⟶ 3,776:
! style="text-align:left" | [[MySQL]]
| {{yes}}
| {{yes|8+}}<ref name="intersect_in_mysql">{{Cite web |url=https://dev.mysql.com/doc/refman/8.0/en/intersect.html |title=INTERSECT |website=mysql.com}}</ref>
| {{no}}
| {{yes|8+}}<ref name="except_in_mysql">{{Cite web |url=https://dev.mysql.com/doc/refman/8.0/en/except.html |title=EXCEPT |website=mysql.com}}</ref>
| {{no}}
| {{yes}}
| {{yes}}
Line 3,889 ⟶ 3,799:
| {{no}}<ref name="system-versioning"/>
|-
! style="text-align:left" | [[OpenBase|OpenBase SQL]]
| {{no}}
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{dunno}}
| {{dunno}}
| {{dunno}}
| {{dunno}}
 
|-
! style="text-align:left" | [[Virtuoso Universal Server|OpenLink Virtuoso]]
| {{yes}}
Line 3,936 ⟶ 3,832:
| title = Parallel Query
}}</ref>
| {{yes}}<ref>{{Cite web|title=New Features Oracle 12.1.0.1|url=https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Changes-in-This-Release-for-Oracle-Database-SQL-Language-Reference.html#GUID-10675CB5-32F6-4E2B-8D01-A9C6B9649839|url-status=live|archive-url=https://web.archive.org/web/20201025063656/https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Changes-in-This-Release-for-Oracle-Database-SQL-Language-Reference.html |archive-date=2020-10-25 }}</ref>
|-
! style="text-align:left" | [[Oracle Rdb]]
Line 3,953 ⟶ 3,849:
 
|-
! style="text-align:left" | [[PervasiveActian Zen (PSQL)]]
| {{yes}}
| {{no}}
Line 3,998 ⟶ 3,894:
| publisher = PostgreSQL
| title = Parallel Query
| date = 11 August 2022
}}</ref>
}}</ref>
| {{no}}<ref name="system-versioning"/>
 
|-
! style="text-align:left" | [[Raima Database Manager]]
| {{no}}
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{dunno}}
 
|-
! style="text-align:left" | [[RDM Server]]
| {{yes}}
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{dunno}}
 
|-
Line 4,082 ⟶ 3,949:
| {{yes}}
| {{yes}}
| {{yes|3.43.0+}}<ref>{{Cite web|url=https://www.sqlite.org/releaselog/3_43_0.html|title=SQLite Release 3.43.0 On 2023-08-24|website=sqlite.org}}</ref>
| {{Depends|LEFT only}}
| {{yes}}
| {{no}}
| {{yes}}
| {{yes|3.8.3+}}<ref>[http{{Cite web|url=https://sqlite.org/lang_with.html SQLite Query Language:|title=The WITH clause]Clause|website=sqlite.org}}</ref>
| {{yes|3.25+}}<ref>[{{Cite web|url=https://sqlite.org/windowfunctions.html |title=Window Functions]|website=sqlite.org}}</ref>
| {{no}}
| {{no}}<ref name="system-versioning"/>
Line 4,145 ⟶ 4,012:
! Inner selects
! [[Join (SQL)#Merge join|Merge joins]]
! [[Binary large object|Blobs]] and [[Character large object|Clobsclobs]]
! [[Common table expressions|Common Table Expressions]]
! [[Window function (SQL)|Windowing Functionsfunctions]]
! Parallel Queryquery
 
! [[Temporal database|System-versioned Tablestables]]
 
|}
* <cite id="capa_1">[[#capa 1 back|Note (1):]]</cite> Recursive CTEs introduced in 11gR2 supersedes similar construct called CONNECT BY.
 
<cite id="capa_1">[[#capa 1 back|Note (1):]]</cite>
Recursive CTEs introduced in 11gR2 supersedes similar construct called CONNECT BY.
 
==Data types==
Line 4,173 ⟶ 4,038:
! style="text-align:left" | [[4th Dimension (Software)|4th Dimension]]
| Static
| {{mono|UUID}} (16-bit), {{mono|SMALLINT}} (16-bit), {{mono|INT}} (32-bit), {{mono|BIGINT}} (64-bit), {{mono|NUMERIC}} (64-bit)
| {{mono|REAL}}, {{mono|FLOAT}}
| {{mono|REAL}}, {{mono|FLOAT}}
| {{mono|CLOB}}, {{mono|TEXT}}, {{mono|VARCHAR}}
| {{mono|BIT}}, {{mono|BIT}} {{mono|VARYING}}, {{mono|BLOB}}
| {{mono|DURATION}}, {{mono|INTERVAL}}, {{mono|TIMESTAMP}}
| {{mono|BOOLEAN}}
| {{mono|PICTURE}}
|-
! style="text-align:left" | [[Altibase]]<ref name="Altibase-datatypes">{{Citation
| publisher = Altibase
| series = HDB
| chapter-url = http://atc.altibase.com/sub09/611b/html/GeneralReference/ch01s01s01.html
| title = General Reference
| chapter = Data Types
}}</ref>
| Static
| {{mono|SMALLINT}} (16-bit), {{mono|INTEGER}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|REAL}} (32-bit), {{mono|DOUBLE}} (64-bit)
| {{mono|DECIMAL}}, {{mono|NUMERIC}}, {{mono|NUMBER}}, {{mono|FLOAT}}
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|NCHAR}}, {{mono|NVARCHAR}}, {{mono|CLOB}}
| {{mono|BLOB}}, {{mono|BYTE}}, {{mono|NIBBLE}}, {{mono|BIT}}, {{mono|VARBIT}}
| {{mono|DATE}}
|
| {{mono|GEOMETRY}}
|-
! style="text-align:left" | [[Clustrix|ClustrixDB]]DB<ref name="mysql-datatypes"/>
| Static
| {{mono|TINYINT}} (8-bit), {{mono|SMALLINT}} (16-bit), {{mono|MEDIUMINT}} (24-bit), {{mono|INT}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|FLOAT}} (32-bit), {{mono|DOUBLE}}
| {{mono|DECIMAL}}
| {{mono|CHAR}}, {{mono|BINARY}}, {{mono|VARCHAR}}, {{mono|VARBINARY}}, {{mono|TEXT}}, {{mono|TINYTEXT}}, {{mono|MEDIUMTEXT}}, {{mono|LONGTEXT}}
| {{mono|TINYBLOB}}, {{mono|BLOB}}, {{mono|MEDIUMBLOB}}, {{mono|LONGBLOB}}
| {{mono|DATETIME}}, {{mono|DATE}}, {{mono|TIMESTAMP}}, {{mono|YEAR}}
| {{mono|BIT(''1'')}}, {{mono|BOOLEAN}}
| {{mono|ENUM}}, {{mono|SET}},
|-
! style="text-align:left" | [[CUBRID]]<ref name="CUBRID-datatypes">{{Citation
|publisher | publisher = CUBRID
|series | series = Reference Manual
| chapter-url = http://www.cubrid.org/manual/syntax/syntax_datatype_num_def.htm
|title | title = CUBRID SQL Guide
|chapter | chapter = Data Types
}}{{Dead link|date=April 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
}}</ref>
| Static
| {{mono|SMALLINT}} (16-bit), {{mono|INTEGER}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|FLOAT}}, {{mono|REAL}}(32-bit), {{mono|DOUBLE}}(64-bit)
| {{mono|DECIMAL}}, {{mono|NUMERIC}}
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|NCHAR}}, {{mono|NVARCHAR}}, {{mono|CLOB}}
| {{mono|BLOB}}
| {{mono|DATE}}, {{mono|DATETIME}}, {{mono|TIME}}, {{mono|TIMESTAMP}}
| {{mono|BIT}}
| {{mono|MONETARY}}, {{mono|BIT}} {{mono|VARYING}}, {{mono|SET}}, {{mono|MULTISET}}, {{mono|SEQUENCE}}, {{mono|ENUM}}
|-
! style="text-align:left" | [[IBM Db2|DB2]]
| {{dunno}}
| {{mono|SMALLINT}} (16-bit), {{mono|INTEGER}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|DECFLOAT}}, {{mono|REAL}}, {{mono|DOUBLE}}
| {{mono|DECIMAL}}
| {{mono|CLOB}}, {{mono|CHAR}}, {{mono|VARCHAR}}
| {{mono|BINARY}}, {{mono|VARBINARY}}, {{mono|BLOB}}
| {{mono|DATE}}, {{mono|TIME}}, {{mono|TIMESTAMP}} {{mono|WITH}} {{mono|TIME}} {{mono|ZONE}}, {{mono|TIMESTAMP}} {{mono|WITHOUT}} {{mono|TIME}} {{mono|ZONE}}
| {{mono|BOOLEAN}}
| {{mono|XML}}, {{mono|GRAPHIC}}, {{mono|VARGRAPHIC}}, {{mono|DBCLOB}}, {{mono|ROWID}}
|-
! style="text-align:left" | [[Empress database|Empress Embedded Database]]
| Static
| {{mono|TINYINT}}, {{mono|SQL_TINYINT}}, or {{mono|INTEGER8}}; {{mono|SMALLINT}}, {{mono|SQL_SMALLINT}}, or {{mono|INTEGER16}}; {{mono|INTEGER}}, {{mono|INT}}, {{mono|SQL_INTEGER}}, or {{mono|INTEGER32}}; {{mono|BIGINT}}, {{mono|SQL_BIGINT}}, or {{mono|INTEGER64}}
| {{mono|REAL}}, {{mono|SQL_REAL}}, or {{mono|FLOAT32}}; {{mono|DOUBLE}} {{mono|PRECISION}}, {{mono|SQL_DOUBLE}}, or {{mono|FLOAT64}}; {{mono|FLOAT}}, or {{mono|SQL_FLOAT}}; {{mono|EFLOAT}}
| {{mono|DECIMAL}}, {{mono|DEC}}, {{mono|NUMERIC}}, {{mono|SQL_DECIMAL}}, or {{mono|SQL_NUMERIC}}; {{mono|DOLLAR}}
| {{mono|CHARACTER}}, {{mono|ECHARACTER}}, {{mono|CHARACTER}} {{mono|VARYING}}, {{mono|NATIONAL}} {{mono|CHARACTER}}, {{mono|NATIONAL}} {{mono|CHARACTER}} {{mono|VARYING}}, {{mono|NLSCHARACTER}}, {{mono|CHARACTER}} {{mono|LARGE}} {{mono|OBJECT}}, {{mono|TEXT}}, {{mono|NATIONAL}} {{mono|CHARACTER}} {{mono|LARGE}} {{mono|OBJECT}}, {{mono|NLSTEXT}}
| {{mono|BINARY}} {{mono|LARGE}} {{mono|OBJECT}} or {{mono|BLOB}}; {{mono|BULK}}
| {{mono|DATE}}, {{mono|EDATE}}, {{mono|TIME}}, {{mono|ETIME}}, {{mono|EPOCH_TIME}}, {{mono|TIMESTAMP}}, {{mono|MICROTIMESTAMP}}
| {{mono|BOOLEAN}}
| {{mono|SEQUENCE}} 32, {{mono|SEQUENCE}}
|-
! style="text-align:left" | [[EXASOL|EXASolution]]
| Static
| {{mono|TINYINT}}, {{mono|SMALLINT}}, {{mono|INTEGER}}, {{mono|BIGINT}},
| {{mono|REAL}}, {{mono|FLOAT}}, {{mono|DOUBLE}}
| {{mono|DECIMAL}}, {{mono|DEC}}, {{mono|NUMERIC}}, {{mono|NUMBER}}
| {{mono|CHAR}}, {{mono|NCHAR}}, {{mono|VARCHAR}}, {{mono|VARCHAR2}}, {{mono|NVARCHAR}}, {{mono|NVARCHAR2}}, {{mono|CLOB}}, {{mono|NCLOB}}
| {{N/A|N/A}}
| {{mono|DATE}}, {{mono|TIMESTAMP}}, {{mono|INTERVAL}}
| {{mono|BOOLEAN}}, {{mono|BOOL}}
| {{mono|GEOMETRY}}
|-
! style="text-align:left" | [[FileMaker]]<ref>{{cite web
Line 4,266 ⟶ 4,131:
}}</ref>
| Static
| {{N/A|Not Supported}}
| {{N/A|Not Supported}}
| {{mono|NUMBER}}
| {{mono|TEXT}}
| {{mono|CONTAINER}}
| {{mono|TIMESTAMP}}
| {{N/A|Not Supported}}
|
|-
Line 4,282 ⟶ 4,147:
}}</ref>
| {{dunno}}
| {{mono|INT128}}, {{mono|INT64}}, {{mono|INTEGER}}, {{mono|SMALLINT}}
| {{mono|DOUBLE}}, {{mono|FLOAT}}
| {{mono|DECIMAL}}, {{mono|NUMERIC}}, {{mono|DECIMAL}}(1838, 4), {{mono|DECIMAL}}(10, 4)
| {{mono|BLOB}}, {{mono|CHAR}}, {{mono|CHAR(''x'')}} {{mono|CHARACTER}} {{mono|SET}} {{mono|UNICODE_FSS}}, {{mono|VARCHAR(''x'')}} {{mono|CHARACTER}} {{mono|SET}} {{mono|UNICODE_FSS}}, {{mono|VARCHAR}}
| {{mono|BLOB}} {{mono|SUB_TYPE}} {{mono|TEXT}}, {{mono|BLOB}}
| {{mono|DATE}}, {{mono|TIME}}, {{mono|TIMESTAMP}} (without time zone and with time zone)
| {{mono|BOOLEAN}}
| {{mono|TIMESTAMP}}, {{mono|TIMESTAMP WITH TIME ZONE}}, {{mono|CHAR}}(38), User defined types (Domains)
|-
! style="width:16em" |
Line 4,310 ⟶ 4,175:
}}</ref>
| Static
| {{mono|TINYINT}} (8-bit), {{mono|SMALLINT}} (16-bit), {{mono|INTEGER}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|DOUBLE}} (64-bit)
| {{mono|DECIMAL}}, {{mono|NUMERIC}}
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|LONGVARCHAR}}, {{mono|CLOB}}
| {{mono|BINARY}}, {{mono|VARBINARY}}, {{mono|LONGVARBINARY}}, {{mono|BLOB}}
| {{mono|DATE}}, {{mono|TIME}}, {{mono|TIMESTAMP}}, {{mono|INTERVAL}}
| {{mono|BOOLEAN}}
| {{mono|OTHER}} (object), {{mono|BIT}}, {{mono|BIT}} {{mono|VARYING}}, {{mono|ARRAY}}
|-
! style="text-align:left" | [[Informix Dynamic Server]]<ref name="informix-datatypes">{{cite web
Line 4,324 ⟶ 4,189:
| url = http://www-05.ibm.com/e-business/linkweb/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=SC23-7750-04
| title = IBM Informix Guide to SQL: Reference, v11.50 (SC23-7750-04)
| access-date = August20 7,August 20132001
| access-date = August 7, 2013
}}</ref>
| Static + {{mono|UDT}}
| {{mono|SMALLINT}} (16-bit), {{mono|INT}} (32-bit), {{mono|INT8}} (64-bit proprietary), {{mono|BIGINT}} (64-bit)
| {{mono|SMALLFLOAT}} (32-bit), {{mono|FLOAT}} (64-bit)
| {{mono|DECIMAL}} (32 decimal digits float/fixed, range {{10^|130}} to +{{10^|125}}), {{mono|MONEY}}
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|NCHAR}}, {{mono|NVARCHAR}}, {{mono|LVARCHAR}}, {{mono|CLOB}}, {{mono|TEXT}}, {{mono|LONGLVARCHAR}}
| {{mono|TEXT}}, {{mono|BYTE}}, {{mono|BLOB}}, {{mono|CLOB}}
| {{mono|DATE}}, {{mono|DATETIME}}, {{mono|INTERVAL}}
| {{mono|BOOLEAN}}
| {{mono|SET}}, {{mono|LIST}}, {{mono|MULTISET}}, {{mono|ROW}}, {{mono|TIMESERIES}}, {{mono|SPATIAL}}, {{mono|GEODETIC}}, {{mono|NODE}}, {{mono|JSON}}, {{mono|BSON}}, {{mono|USER}} {{mono|DEFINED}} {{mono|TYPES}}
|-
! style="text-align:left" | [[Ingres (database)|Ingres]]<ref name="ingres-datatypes">{{Citation
|publisher | publisher = Ingres
|series | series = Documents
| chapter-url = http://docs.ingres.com/Ingres/9.3/SQL%20Reference%20Guide/understandingsqldatatypes.htm#o3623
|title | title = SQL 9.3 Reference Guide
|chapter | chapter = 3: Understanding SQL Data Types
|access-date = 2009-11-16
}}</ref>
|archive-date = 2011-07-13
|archive-url = https://web.archive.org/web/20110713033627/http://docs.ingres.com/Ingres/9.3/SQL%20Reference%20Guide/understandingsqldatatypes.htm#o3623
|url-status = dead
}}</ref>
| Static
| {{mono|TINYINT}} (8-bit), {{mono|SMALLINT}} (16-bit), {{mono|INTEGER}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|FLOAT4}} (32-bit), {{mono|FLOAT}} (64-bit)
| {{mono|DECIMAL}}
| C, {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|LONG}} {{mono|VARCHAR}}, {{mono|NCHAR}}, {{mono|NVARCHAR}}, {{mono|LONG}} {{mono|NVARCHAR}}, {{mono|TEXT}}
| {{mono|BYTE}}, {{mono|VARBYTE}}, {{mono|LONG}} {{mono|VARBYTE}} ({{mono|BLOB}})
| {{mono|DATE}}, {{mono|ANSIDATE}}, {{mono|INGRESDATE}}, {{mono|TIME}}, {{mono|TIMESTAMP}}, {{mono|INTERVAL}}
| {{N/A|N/A}}
| {{mono|MONEY}}, {{mono|OBJECT_KEY}}, {{mono|TABLE_KEY}}, {{mono|USER}}-{{mono|DEFINED}} {{mono|DATA}} {{mono|TYPES}} (via {{mono|OME}})
|-
! style="text-align:left" | [[Linter SQL RDBMS]]
| Static + Dynamic (in stored procedures)
| {{mono|SMALLINT}} (16-bit), {{mono|INTEGER}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|REAL}}(32-bit), {{mono|DOUBLE}}(64-bit)
| {{mono|DECIMAL}}, {{mono|NUMERIC}}
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|NCHAR}}, {{mono|NVARCHAR}}, {{mono|BLOB}}
| {{mono|BYTE}}, {{mono|VARBYTE}}, {{mono|BLOB}}
| {{mono|DATE}}
| {{mono|BOOLEAN}}
| {{mono|GEOMETRY}}, {{mono|EXTFILE}}
|-
! style="text-align:left" | [[MariaDB]]<ref name="mdb_data_types">{{cite web
Line 4,371 ⟶ 4,241:
}}</ref>
| Static
| {{mono|TINYINT}} (8-bit), {{mono|SMALLINT}} (16-bit), {{mono|MEDIUMINT}} (24-bit), {{mono|INT}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|FLOAT}} (32-bit), {{mono|DOUBLE}} (aka {{mono|REAL}}) (64-bit)
| {{mono|DECIMAL}}
| {{mono|CHAR}}, {{mono|BINARY}}, {{mono|VARCHAR}}, {{mono|VARBINARY}}, {{mono|TEXT}}, {{mono|TINYTEXT}}, {{mono|MEDIUMTEXT}}, {{mono|LONGTEXT}}
| {{mono|TINYBLOB}}, {{mono|BLOB}}, {{mono|MEDIUMBLOB}}, {{mono|LONGBLOB}}
| {{mono|DATETIME}}, {{mono|DATE}}, {{mono|TIMESTAMP}}, {{mono|YEAR}}
| {{mono|BIT(''1'')}}, {{mono|BOOLEAN}} (aka {{mono|BOOL}}) = synonym for {{mono|TINYINT}}
| {{mono|ENUM}}, {{mono|SET}}, {{mono|GIS}} data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon)
|-
! style="text-align:left" | [[Microsoft SQL Server]]<ref name="sql-server-datatypes">{{Citation
Line 4,386 ⟶ 4,256:
| chapter-url = http://msdn.microsoft.com/en-us/library/ms187752.aspx
| chapter = SQL Server Data Types
| date = 21 May 2024
}}</ref>
}}</ref>
| Static
| {{mono|TINYINT}}, {{mono|SMALLINT}}, {{mono|INT}}, {{mono|BIGINT}}
| {{mono|FLOAT}}, {{mono|REAL}}
| {{mono|NUMERIC}}, {{mono|DECIMAL}}, {{mono|SMALLMONEY}}, {{mono|MONEY}}
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|TEXT}}, {{mono|NCHAR}}, {{mono|NVARCHAR}}, {{mono|NTEXT}}
| {{mono|BINARY}}, {{mono|VARBINARY}}, {{mono|IMAGE}}, {{mono|FILESTREAM}}, {{mono|FILETABLE}}
| {{mono|DATE}}, {{mono|DATETIMEOFFSET}}, {{mono|DATETIME2}}, {{mono|SMALLDATETIME}}, {{mono|DATETIME}}, {{mono|TIME}}
| {{mono|BIT}}
| {{mono|CURSOR}}, {{mono|TIMESTAMP}}, {{mono|HIERARCHYID}}, {{mono|UNIQUEIDENTIFIER}}, {{mono|SQL_VARIANT}}, {{mono|XML}}, {{mono|TABLE}}, Geometry, Geography, Custom .NET datatypes
|-
! style="text-align:left" | [[SQL Server Compact|Microsoft SQL Server Compact (Embedded Database)]]<ref name="sqlce-datatypes">{{Citation
Line 4,403 ⟶ 4,274:
| chapter-url = http://msdn.microsoft.com/en-us/library/ms172424.aspx
| chapter = SQL Server Compact Data Types
| date = 24 March 2011
}}</ref>
}}</ref>
| Static
| {{mono|TINYINT}}, {{mono|SMALLINT}}, {{mono|INT}}, {{mono|BIGINT}}
| {{mono|FLOAT}}, {{mono|REAL}}
| {{mono|NUMERIC}}, {{mono|DECIMAL}}, {{mono|MONEY}}
| {{mono|NCHAR}}, {{mono|NVARCHAR}}, {{mono|NTEXT}}
| {{mono|BINARY}}, {{mono|VARBINARY}}, {{mono|IMAGE}}
| {{mono|DATETIME}}
| {{mono|BIT}}
| {{mono|TIMESTAMP}}, {{mono|ROWVERSION}}, {{mono|UNIQUEIDENTIFIER}}, {{mono|IDENTITY}}, {{mono|ROWGUIDCOL}}
|-
! style="text-align:left" | [[Mimer SQL]]
| Static
| {{mono|SMALLINT}}, {{mono|INT}}, {{mono|BIGINT}}, {{mono|INTEGER(''n'')}}
| {{mono|FLOAT}}, {{mono|REAL}}, {{mono|DOUBLE}}, {{mono|FLOAT(''n'')}}
| {{mono|NUMERIC}}, {{mono|DECIMAL}}
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|NCHAR}}, {{mono|NVARCHAR}}, {{mono|CLOB}}, {{mono|NCLOB}}
| {{mono|BINARY}}, {{mono|VARBINARY}}, {{mono|BLOB}}
| {{mono|DATE}}, {{mono|TIME}}, {{mono|TIMESTAMP}}, {{mono|INTERVAL}}
| {{mono|BOOLEAN}}
| {{mono|DOMAINS}}, {{mono|USER-DEFINED TYPES}} (including the pre-defined spatial data types ___location, latitude, longitude and coordinate, and {{mono|UUID}})
|-
! style="text-align:left" | [[MonetDB]]
| Static, extensible
| {{mono|TINYINT}}, {{mono|SMALLINT}}, {{mono|INT}}, {{mono|INTEGER}}, {{mono|BIGINT}}, {{mono|HUGEINT}}, {{mono|SERIAL}}, {{mono|BIGSERIAL}}
| {{mono|FLOAT}}, {{mono|FLOAT(''n'')}}, {{mono|REAL}}, {{mono|DOUBLE}}, {{mono|DOUBLE}} {{mono|PRECISION}}
| {{mono|DECIMAL}}, {{mono|NUMERIC}}
| {{mono|CHAR}}, {{mono|CHAR(''n'')}}, {{mono|VARCHAR}}, {{mono|VARCHAR(''n'')}}, {{mono|CLOB}}, {{mono|CLOB(''n'')}}, {{mono|TEXT}}, {{mono|STRING}}
| {{mono|BLOB}}, {{mono|BLOB(''n'')}}
| {{mono|DATE}}, {{mono|TIME}}, {{mono|TIME}} {{mono|WITH}} {{mono|TIME}} {{mono|ZONE}}, {{mono|TIMESTAMP}}, {{mono|TIMESTAMP}} {{mono|WITH}} {{mono|TIME}} {{mono|ZONE}}, {{mono|INTERVAL}} {{mono|YEAR}}, {{mono|INTERVAL}} {{mono|MONTH}}, {{mono|INTERVAL}} {{mono|DAY}}, {{mono|INTERVAL}} {{mono|HOUR}}, {{mono|INTERVAL}} {{mono|MINUTE}}, {{mono|INTERVAL}} {{mono|SECOND}}
| {{mono|BOOLEAN}}
| {{mono|JSON}}, {{mono|JSON(''n'')}}, {{mono|URL}}, {{mono|URL(''n'')}}, {{mono|INET}}, {{mono|UUID}}, {{mono|GIS}} data types ({{mono|Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon}}), User Defined Types
|-
! style="text-align:left" | [[MySQL]]<ref name="mysql-datatypes">{{Citation
Line 4,444 ⟶ 4,316:
}}</ref>
| Static
| {{mono|TINYINT}} (8-bit), {{mono|SMALLINT}} (16-bit), {{mono|MEDIUMINT}} (24-bit), {{mono|INT}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|FLOAT}} (32-bit), {{mono|DOUBLE}} (aka {{mono|REAL}}) (64-bit)
| {{mono|DECIMAL}}
| {{mono|CHAR}}, {{mono|BINARY}}, {{mono|VARCHAR}}, {{mono|VARBINARY}}, {{mono|TEXT}}, {{mono|TINYTEXT}}, {{mono|MEDIUMTEXT}}, {{mono|LONGTEXT}}
| {{mono|TINYBLOB}}, {{mono|BLOB}}, {{mono|MEDIUMBLOB}}, {{mono|LONGBLOB}}
| {{mono|DATETIME}}, {{mono|DATE}}, {{mono|TIMESTAMP}}, {{mono|YEAR}}
| {{mono|BIT(''1'')}}, {{mono|BOOLEAN}} (aka {{mono|BOOL}}) = synonym for {{mono|TINYINT}}
| {{mono|ENUM}}, {{mono|SET}}, {{mono|GIS}} data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon)
|-
! style="text-align:left" | [[Virtuoso Universal Server|OpenLink Virtuoso]]<ref name="Virtuoso-datatypes">{{Citation
Line 4,460 ⟶ 4,332:
}}</ref>
| Static + Dynamic
| {{mono|INT}}, {{mono|INTEGER}}, {{mono|SMALLINT}}
| {{mono|REAL}}, {{mono|DOUBLE}} {{mono|PRECISION}}, {{mono|FLOAT}}, {{mono|FLOAT'('INTNUM')n'')}}
| {{mono|DECIMAL}}, {{mono|DECIMAL'('INTNUM'n'')'}}, {{mono|DECIMAL'('INTNUM'm, n'INTNUM')'}}, {{mono|NUMERIC}}, {{mono|NUMERIC'('INTNUM')n'')}}, {{mono|NUMERIC'('INTNUM'm, n'INTNUM')'}}
| {{mono|CHARACTER}}, {{mono|CHAR'('INTNUM')n'')}}, {{mono|VARCHAR}}, {{mono|VARCHAR'('INTNUM')n'')}}, {{mono|NVARCHAR}}, {{mono|NVARCHAR'('INTNUM')n'')}}
| {{mono|BLOB}}
| {{mono|TIMESTAMP}}, {{mono|DATETIME}}, {{mono|TIME}}, {{mono|DATE}}
| n{{N/aA|N/A}}
| {{mono|ANY}}, {{mono|REFERENCE}} ({{mono|IRI}}, {{mono|URI}}), {{mono|UDT}} (User Defined Type), {{mono|GEOMETRY}} ({{mono|BOX}}, {{mono|BOX2D}}, {{mono|BOX3D}}, {{mono|BOXM}}, {{mono|BOXZ}}, {{mono|BOXZM}}, {{mono|CIRCULARSTRING}}, {{mono|COMPOUNDCURVE}}, {{mono|CURVEPOLYGON}}, {{mono|EMPTY}}, {{mono|GEOMETRYCOLLECTION}}, {{mono|GEOMETRYCOLLECTIONM}}, {{mono|GEOMETRYCOLLECTIONZ}}, {{mono|GEOMETRYCOLLECTIONZM}}, {{mono|LINESTRING}}, {{mono|LINESTRINGM}}, {{mono|LINESTRINGZ}}, {{mono|LINESTRINGZM}}, {{mono|MULTICURVE}}, {{mono|MULTILINESTRING}}, {{mono|MULTILINESTRINGM}}, {{mono|MULTILINESTRINGZ}}, {{mono|MULTILINESTRINGZM}}, {{mono|MULTIPOINT}}, {{mono|MULTIPOINTM}}, {{mono|MULTIPOINTZ}}, {{mono|MULTIPOINTZM}}, {{mono|MULTIPOLYGON}}, {{mono|MULTIPOLYGONM}}, {{mono|MULTIPOLYGONZ}}, {{mono|MULTIPOLYGONZM}}, {{mono|POINT}}, {{mono|POINTM}}, {{mono|POINTZ}}, {{mono|POINTZM}}, {{mono|POLYGON}}, {{mono|POLYGONM}}, {{mono|POLYGONZ}}, {{mono|POLYGONZM}}, {{mono|POLYLINE}}, {{mono|POLYLINEZ}}, {{mono|RING}}, {{mono|RINGM}}, {{mono|RINGZ}}, {{mono|RINGZM}})
|-
! style="width:16em" |
Line 4,481 ⟶ 4,353:
|-
! style="text-align:left" | [[Oracle Database|Oracle]]<ref name="oracle-datatypes">{{Citation
|publisher | publisher = Oracle
|series | series = Server documents
|title | title = SQL 11.2 Reference
| chapter-url = http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/sql_elements001.htm#i45441
|chapter | chapter = Data Types
|access-date = 2009-09-21
}}</ref>
|archive-date = 2010-03-14
| Static + Dynamic (through ANYDATA)
|archive-url = https://web.archive.org/web/20100314015040/http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/sql_elements001.htm#i45441
| NUMBER
|url-status = dead
| BINARY_FLOAT, BINARY_DOUBLE
}}</ref>
| NUMBER
| Static + Dynamic (through {{mono|ANYDATA}})
| CHAR, VARCHAR2, CLOB, NCLOB, NVARCHAR2, NCHAR, LONG (deprecated)
| {{mono|NUMBER}}
| BLOB, RAW, LONG RAW (deprecated), BFILE
| {{mono|BINARY_FLOAT}}, {{mono|BINARY_DOUBLE}}
| DATE, TIMESTAMP (with/without TIME ZONE), INTERVAL
| {{mono|NUMBER}}
| N/A
| {{mono|CHAR}}, {{mono|VARCHAR2}}, {{mono|CLOB}}, {{mono|NCLOB}}, {{mono|NVARCHAR2}}, {{mono|NCHAR}}, {{mono|LONG}} (deprecated)
| SPATIAL, IMAGE, AUDIO, VIDEO, DICOM, XMLType, UDT, JSON
| {{mono|BLOB}}, {{mono|RAW}}, {{mono|LONG}} {{mono|RAW}} (deprecated), {{mono|BFILE}}
| {{mono|DATE}}, {{mono|TIMESTAMP}} (with/without {{mono|TIME}} {{mono|ZONE}}), {{mono|INTERVAL}}
| {{N/A|N/A}}
| {{mono|SPATIAL}}, {{mono|IMAGE}}, {{mono|AUDIO}}, {{mono|VIDEO}}, {{mono|DICOM}}, XMLType, {{mono|UDT}}, {{mono|JSON}}
|-
! style="text-align:left" | [[PervasiveActian Zen (PSQL)]]<ref name="psql-datatypes">{{Citation
| publisher = Pervasive
| series = Product documentation
Line 4,505 ⟶ 4,381:
}}</ref>
| Static
| {{mono|BIGINT}}, {{mono|INTEGER}}, {{mono|SMALLINT}}, {{mono|TINYINT}}, {{mono|UBIGINT}}, {{mono|UINTEGER}}, {{mono|USMALLINT}}, {{mono|UTINYINT}}
| {{mono|BFLOAT4}}, {{mono|BFLOAT8}}, {{mono|DOUBLE}}, {{mono|FLOAT}}
| {{mono|DECIMAL}}, {{mono|NUMERIC}}, {{mono|NUMERICSA}}, {{mono|NUMERICSLB}}, {{mono|NUMERICSLS}}, {{mono|NUMERICSTB}}, {{mono|NUMERICSTS}}
| {{mono|CHAR}}, {{mono|LONGVARCHAR}}, {{mono|VARCHAR}}
| {{mono|BINARY}}, {{mono|LONGVARBINARY}}, {{mono|VARBINARY}}
| {{mono|DATE}}, {{mono|DATETIME}}, {{mono|TIME}}
| {{mono|BIT}}
| {{mono|CURRENCY}}, {{mono|IDENTITY}}, {{mono|SMALLIDENTITY}}, {{mono|TIMESTAMP}}, {{mono|UNIQUEIDENTIFIER}}
|-
! style="text-align:left" | [[Polyhedra DBMS|Polyhedra]]<ref>
Line 4,527 ⟶ 4,403:
</ref>
| Static
| {{mono|INTEGER8}} (8-bit), {{mono|INTEGER}}(16-bit), {{mono|INTEGER}} (32-bit), {{mono|INTEGER64}} (64-bit)
| {{mono|FLOAT32}} (32-bit), {{mono|FLOAT}} (aka {{mono|REAL}}; 64-bit)
| {{N/A|N/A}}
| {{mono|VARCHAR}}, {{mono|LARGE}} {{mono|VARCHAR}} (aka {{mono|CHARACTER}} {{mono|LARGE}} {{mono|OBJECT}})
| {{mono|LARGE}} {{mono|BINARY}} (aka {{mono|BINARY}} {{mono|LARGE}} {{mono|OBJECT}})
| {{mono|DATETIME}}
| {{mono|BOOLEAN}}
| {{N/A|N/A}}
|-
! style="text-align:left" | [[PostgreSQL]]<ref name="postgresql-datatypes">{{Citation
Line 4,542 ⟶ 4,418:
| title = Manual
| chapter = Data Types
| date = 11 August 2022
}}</ref>
| 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
|-
! style="text-align:left" | [[Raima Database Manager]]<ref>{{Citation
| publisher = Raima
| title = SQL 14.0 Reference
| chapter-url = http://docs.raima.com/rdm/14_0/#DDLUG/DefineDatabase.htm
| chapter = Defining a Database
}}</ref>
| Static
| tinyint, smallint, integer, bigint
| real, float, double
| N/A
| char, varchar, wchar, varwchar, long varchar, long varwchar
| binary, varbinary, long varbinary
| date, time, timestamp
| bit
| N/A
|-
! style="text-align:left" | [[RDM Server]]<ref>{{Citation
| publisher = Raima
| title = SQL 8.3 Reference
| chapter-url = http://docs.raima.com/rdms/8_3/Content/UG/Chapter6.htm#6.3.3.3_Define_Table_Columns
| chapter = Defining Table Columns
}}</ref>
| Static
| {{mono|SMALLINT}} (16-bit), {{mono|INTEGER}} (32-bit), {{mono|BIGINT}} (64-bit)
| tinyint, smallint, integer, bigint
| {{mono|REAL}} (32-bit), {{mono|DOUBLE}} {{mono|PRECISION}} (64-bit)
| real, float, double
| {{mono|DECIMAL}}, {{mono|NUMERIC}}
| decimal, numeric
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|TEXT}}
| char, varchar, wchar, varwchar, long varchar, long varwchar
| {{mono|BYTEA}}
| binary, varbinary, long varbinary
| {{mono|DATE}}, {{mono|TIME}} (with/without {{mono|TIME}} {{mono|ZONE}}), {{mono|TIMESTAMP}} (with/without {{mono|TIME}} {{mono|ZONE}}), {{mono|INTERVAL}}
| date, time, timestamp
| {{mono|BOOLEAN}}
| bit
| {{mono|ENUM}}, {{mono|POINT}}, {{mono|LINE}}, {{mono|LSEG}}, {{mono|BOX}}, {{mono|PATH}}, {{mono|POLYGON}}, {{mono|CIRCLE}}, {{mono|CIDR}}, {{mono|INET}}, {{mono|MACADDR}}, {{mono|BIT}}, {{mono|UUID}}, {{mono|XML}}, {{mono|JSON}}, {{mono|JSONB}}, arrays, composites, ranges, custom
| rowid
|-
! style="text-align:left" | [[SAP HANA]]
| Static
| {{mono|TINYINT}}, {{mono|SMALLINT}}, {{mono|INTEGER}}, {{mono|BIGINT}}
| {{mono|SMALLDECIMAL}}, {{mono|REAL}}, {{mono|DOUBLE}}, {{mono|FLOAT}}, {{mono|FLOAT(''n'')}}
| {{mono|DECIMAL}}
| {{mono|VARCHAR}}, {{mono|NVARCHAR}}, {{mono|ALPHANUM}}, {{mono|SHORTTEXT}}
| {{mono|VARBINARY}}, {{mono|BINTEXT}}, {{mono|BLOB}}
| {{mono|DATE}}, {{mono|TIME}}, {{mono|SECONDDATE}}, {{mono|TIMESTAMP}}
| {{mono|BOOLEAN}}
| {{mono|CLOB}}, {{mono|NCLOB}}, {{mono|TEXT}}, {{mono|ARRAY}}, {{mono|ST_GEOMETRY}}, {{mono|ST_POINT}}, {{mono|ST_MULTIPOINT}}, {{mono|ST_LINESTRING}}, {{mono|ST_MULTILINESTRING}}, {{mono|ST_POLYGON}}, {{mono|ST_MULTIPOLYGON}}, {{mono|ST_GEOMETRYCOLLECTION}}, {{mono|ST_CIRCULARSTRING}}
|-
! style="text-align:left" | [[solidDB]]
| Static
| {{mono|TINYINT}} (8-bit), {{mono|SMALLINT}} (16-bit), {{mono|INTEGER}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|REAL}} (32-bit), {{mono|DOUBLE}} (64-bit), {{mono|FLOAT}} (64-bit)
| {{mono|DECIMAL}}, {{mono|NUMERIC}} (51 digits)
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|LONG}} {{mono|VARCHAR}}, {{mono|WCHAR}}, {{mono|WVARCHAR}}, {{mono|LONG}} {{mono|WVARCHAR}}
| {{mono|BINARY}}, {{mono|VARBINARY}}, {{mono|LONG}} {{mono|VARBINARY}}
| {{mono|DATE}}, {{mono|TIME}}, {{mono|TIMESTAMP}}
|
|
|-
! style="text-align:left" | [[SQLite]]<ref name="sqlite-datatypes">{{Citation
Line 4,613 ⟶ 4,458:
}}</ref>
| Dynamic
| {{mono|INTEGER}} (64-bit)
| {{mono|REAL}} (aka {{mono|FLOAT}}, {{mono|DOUBLE}}) (64-bit)
| {{N/A|N/A}}
| {{mono|TEXT}} (aka {{mono|CHAR}}, {{mono|CLOB}})
| {{mono|BLOB}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
|-
! style="text-align:left" | [[SQream DB]]<ref name="sqreamdb-datatypes">{{Citation
Line 4,628 ⟶ 4,473:
}}</ref>
| Static
| {{mono|TINYINT}} (8-bit), {{mono|SMALLINT}} (16-bit), {{mono|INTEGER}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|REAL}} (32-bit), {{mono|DOUBLE}} (aka {{mono|FLOAT}}) (64-bit)
| {{N/A|N/A}}
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|NVARCHAR}}
| {{N/A|N/A}}
| {{mono|DATE}}, {{mono|DATETIME}} (aka {{mono|TIMESTAMP}})
| {{mono|BOOL}}
| {{N/A|N/A}}
|-
! style="width:16em" |
Line 4,650 ⟶ 4,495:
! style="text-align:left" | [[Teradata]]
| Static
| {{mono|BYTEINT}} (8-bit), {{mono|SMALLINT}} (16-bit), {{mono|INTEGER}} (32-bit), {{mono|BIGINT}} (64-bit)
| {{mono|FLOAT}} (64-bit)
| {{mono|DECIMAL}}, {{mono|NUMERIC}} (38 digits)
| {{mono|CHAR}}, {{mono|VARCHAR}}, {{mono|CLOB}}
| {{mono|BYTE}}, {{mono|VARBYTE}}, {{mono|BLOB}}
| {{mono|DATE}}, {{mono|TIME}}, {{mono|TIMESTAMP}} (w/wo {{mono|TIME}} {{mono|ZONE}})
|
| {{mono|PERIOD}}, {{mono|INTERVAL}}, {{mono|GEOMETRY}}, {{mono|XML}}, {{mono|JSON}}, {{mono|UDT}} (User Defined Type)
|-
! style="text-align:left" | [[UniData]]
| Dynamic
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
|-
! style="text-align:left" | [[UniVerse]]
| Dynamic
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
| {{N/A|N/A}}
|-
! |
Line 4,698 ⟶ 4,543:
|-
! style="width:16em" |
! [[Data Domain___domain]]
! [[Cursor (databases)|Cursor]]
! [[Database trigger|Trigger]]
! [[Function (computer programming)|Function]]&nbsp;<sup id="other_1_back">[[#other 1|1]]</sup>
! [[Subroutine|Procedure]]&nbsp;<sup>[[#other 1|1]]</sup>
! External routine&nbsp;<sup>[[#other 1|1]]</sup>
|-
! style="text-align:left" | [[4th Dimension (Software)|4th Dimension]]
Line 4,749 ⟶ 4,594:
| {{yes}}
| {{yes}}
| {{yes}}&nbsp;<sup id="other_2_back">[[#other 2|2]]</sup>
| {{yes}}&nbsp;<sup>[[#other 2|2]]</sup>
| {{yes}}&nbsp;<sup>[[#other 2|2]]</sup>
|-
! style="text-align:left" | [[Clustrix|ClustrixDB]]DB
| {{no}}
| {{yes}}
Line 4,766 ⟶ 4,611:
| {{yes}}
| {{yes}}
| {{yes}}&nbsp;<sup>[[#other 2|2]]</sup>
| {{yes}}
|-
Line 4,785 ⟶ 4,630:
| {{yes}}
|-
! style="text-align:left" | [[IBM DB2|DB2Db2]]
| {{yes}} via CHECK CONSTRAINT
| {{yes}}
Line 4,812 ⟶ 4,657:
| {{yes}}
| {{no}}
| {{yes}}&nbsp;<sup>[[#other 2|2]]</sup>
| {{yes}}&nbsp;<sup>[[#other 2|2]]</sup>
| {{yes}}&nbsp;<sup>[[#other 2|2]]</sup>
| {{yes}}
|-
Line 4,823 ⟶ 4,668:
| {{yes}}
| {{yes}}
| {{yes}} &nbsp;<sup>[[#other 5|5]]</sup>
|-
! style="text-align:left" | [[Ingres (database)|Ingres]]
Line 4,853 ⟶ 4,698:
| {{yes}}
| {{no}}
| {{yes}}&nbsp;<sup>[[#other 2|2]]</sup>
| {{yes}}&nbsp;<sup>[[#other 2|2]]</sup>
| {{yes}}&nbsp;<sup>[[#other 2|2]]</sup>
|-
! style="text-align:left" | [[MariaDB]]
| {{yes}}<ref name="constraint_in_mariadb">{{Cite web |url=https://mariadb.com/kb/en/library/constraint/#check-constraints |title=CONSTRAINTConstraint |website=mariadb.com}}</ref>
| {{yes}}
| {{yes}}
Line 4,890 ⟶ 4,735:
|-
! style="text-align:left" | [[Microsoft SQL Server]]
| {{yes}}
| {{yes}}
| {{yes}}
Line 4,922 ⟶ 4,767:
|-
! style="text-align:left" | [[MySQL]]
| {{no}} &nbsp;<sup>[[#other 3|3]]</sup>
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
|-
! style="text-align:left" | [[OpenBase|OpenBase SQL]]
| {{yes}}
| {{yes}}
| {{yes}}
Line 4,961 ⟶ 4,798:
| {{yes}}
|-
! style="text-align:left" | [[PervasiveActian Zen (PSQL)]]
| {{yes}}
| {{yes}}
Line 4,982 ⟶ 4,819:
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
|-
! style="text-align:left" | [[Raima Database Manager]]
| {{no}}
| {{yes}}
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
|-
! style="text-align:left" | [[RDM Server]]
| {{no}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}
| {{yes}}
Line 5,058 ⟶ 4,879:
|-
! |
! [[Data Domain___domain]]
! [[Cursor (databases)|Cursor]]
! [[Database trigger|Trigger]]
! [[Function (computer programming)|Function]]&nbsp;<sup id="other_1_back">[[#other 1|1]]</sup>
! [[Subroutine|Procedure]]&nbsp;<sup>[[#other 1|1]]</sup>
! External routine&nbsp;<sup>[[#other 1|1]]</sup>
|}
* <cite id="other_1">[[#other 1 back|Note (1):]]</cite> 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.
 
* <cite id="other_2">[[#other 2 back|Note (2):]]</cite> In Derby, H2, LucidDB, and CUBRID, users code '''functions''' and '''procedures''' in Java.
<cite id="other_1">[[#other 1 back|Note (1):]]</cite> 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.
* <cite id="other_3">[[#other 3 back|Note (3):]]</cite> ENUM datatype exists. CHECK clause is parsed, but not enforced in runtime.
 
* <cite id="other_2other_5">[[#other 25 back|Note (25):]]</cite> InInformix Derby,supports H2,external LucidDB,functions andwritten CUBRIDin Java, usersC, code& '''functions''' and '''procedures''' in JavaC++.
 
<cite id="other_3">[[#other 3 back|Note (3):]]</cite> ENUM datatype exists. CHECK clause is parsed, but not enforced in runtime.
 
<cite id="other_5">[[#other 5 back|Note (5):]]</cite> Informix supports external functions written in Java, C, & C++.
 
==Partitioning==
Line 5,134 ⟶ 4,951:
| {{dunno}}
|-
! style="text-align:left" | [[Clustrix|ClustrixDB]]DB
| {{yes}}
| {{no}}
Line 5,150 ⟶ 4,967:
| {{dunno}}
|-
! style="text-align:left" | [[IBM DB2Db2]]
| {{yes}}
| {{yes}}
Line 5,299 ⟶ 5,116:
| {{yes}}
| {{yes}}
| {{dunno}}
| {{dunno}}
|-
! style="text-align:left" | [[OpenBase|OpenBase SQL]]
| {{dunno}}
| {{dunno}}
| {{dunno}}
| {{dunno}}
| {{dunno}}
| {{dunno}}
Line 5,334 ⟶ 5,143:
| {{dunno}}
|-
! style="text-align:left" | [[PervasiveActian Zen (PSQL)]]
| {{no}}
| {{no}}
Line 5,356 ⟶ 5,165:
| {{yes}}
| {{yes}}
| {{dunno}}
|-
! style="text-align:left" | [[Raima Database Manager]]
| {{yes}}<sup id="raima_1_back">[[#raima 1|1]]</sup>
| {{yes}}<sup>[[#raima 1|1]]</sup>
| {{yes}}<sup>[[#raima 1|1]]</sup>
| {{no}}
| {{dunno}}
| {{dunno}}
|-
! style="text-align:left" | [[RDM Server]]
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{dunno}}
| {{dunno}}
|-
Line 5,430 ⟶ 5,223:
! Round Robin
|}
 
<cite id="raima_1">[[#raima 1 back|Note (1):]]</cite> Raima Database Manager 14.0 requires the application programs to select the correct partition (using range, hash or composite techniques) when adding data, but the ''database union'' functionality allows all partitions to be read as a single database.<ref>{{Citation
| publisher = Raima
| chapter-url = http://docs.raima.com/rdm/14_0/#Glossary/dbname_spec.htm
| title = 14.0 User's Guide
| chapter = Database Unions
}}</ref>
 
==Access control==
Information about access control functionalities.
{{sort-under}}
{| style="text-align: center; width: 95%; font-size: 80%" class="wikitable sortable"
{| style="text-align: center; font-size: 80%" class="wikitable sortable sort-under"
|-
!
! style="width:16em" |
! Native network encryption<sup>[[#ac 1|1]]</sup>
! [[Brute-force attack|Brute-force protection]]
Line 5,450 ⟶ 5,237:
! Run unprivileged<sup>[[#ac 4|4]]</sup>
! Audit
! {{verth|va=middle|Resource limit}}
! {{verth|va=middle|Separation of duties <br/>([[Role-based access control|RBAC]])<sup>[[#ac 5|5]]</sup>}}
! {{verth|va=middle|Security Certification}}
! {{verth|va=middle|[[Attribute-based access control|Attribute-Based Access Control ]]<br/>(ABAC)]]}}
|-
! style="text-align:left" | [[4th Dimension (software)|4D]]
Line 5,500 ⟶ 5,287:
| {{dunno}}
|-
! style="text-align:left" | [[IBM DB2|DB2CUBRID]]
| {{yes}} (with SSL)
| {{dunno}}
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{dunno}}
| {{dunno}}
|-
! style="text-align:left" | [[IBM Db2]]
| {{yes}}
| {{dunno}}
Line 5,528 ⟶ 5,328:
! style="text-align:left" | [[EXASOL|EXASolution]]
| {{no}}
| {{noyes}}
| {{yes}} (LDAP)
| {{noyes}}
| {{yes}}
| {{yes}}
Line 5,703 ⟶ 5,503:
| {{dunno}}<sup id="ac_8_back">[[#ac 8|8]]</sup>
| {{yes}}
| {{dunno}}
|-
! style="text-align:left" | [[OpenBase|OpenBase SQL]]
| {{yes}}
| {{dunno}}
| {{yes}} (Open Directory, LDAP)
| {{no}}
| {{dunno}}
| {{dunno}}
| {{dunno}}
| {{dunno}}
| {{dunno}}
| {{dunno}}
| {{dunno}}
|-
Line 5,744 ⟶ 5,531:
| {{dunno}}
|-
! style="text-align:left" | [[PervasiveActian Zen (PSQL)]]
| {{yes}}
| {{dunno}}
Line 5,789 ⟶ 5,576:
| url = https://github.com/pgaudit/pgaudit/blob/master/README.md
| title = Open Source PostgreSQL Audit Logging
| date = September 2022
}}</ref>
}}</ref>
 
| {{yes}}
| {{yes}}
| {{yes}} (EAL2+<sup>[[#ac 1|1]]</sup>)
| {{dunno}}
|-
! style="text-align:left" | [[Raima Database Manager]]
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{dunno}}
|-
! style="text-align:left" | [[RDM Server]]
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}
| {{no}}
| {{dunno}}
|-
Line 5,840 ⟶ 5,601:
| {{yes}}
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
Line 5,899 ⟶ 5,660:
! Run unprivileged<sup>[[#ac 4|4]]</sup>
! Audit
! {{verth|va=middle|Resource limit}}
! {{verth|va=middle|Separation of duties <br/>([[Role-based access control|RBAC]])<sup>[[#ac 5|5]]</sup>}}
! {{verth|va=middle|Security Certification}}
! {{verth|va=middle|[[Attribute-based access control|Attribute-Based Access Control ]]<br/>(ABAC)]]}}
|}
* <cite id="ac_1">[[Comparison of relational database management systems#ac 1|Note (1):]]</cite> 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.
 
* <cite id="ac_1ac_2">[[Comparison of relational database management systems#ac 12|Note (12):]]</cite> NetworkOptions trafficare couldpresent be transmittedto inset a secureminimum waysize (notfor clear-textpassword, inrespect generalcomplexity SSLlike encryption).presence of Precise if option is default, included optionnumbers or an extra modules tospecial buycharacters.
* <cite id="ac_3">[[Comparison of relational database management systems#ac 3|Note (3):]]</cite> 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).
 
* <cite id="ac_2ac_4">[[Comparison of relational database management systems#ac 24|Note (24):]]</cite> OptionsDoes aredatabase presentprocess torun setas aroot/administrator minimumor sizeunprivileged foruser? password,What respect complexity like presence of numbers oris specialdefault characters.configuration?
* <cite id="ac_5">[[Comparison of relational database management systems#ac 5|Note (5):]]</cite> 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?
 
* <cite id="ac_6">[[#ac 6 back|Note (6):]]</cite> Common Criteria certified product list.<ref>
<cite id="ac_3">[[Comparison of relational database management systems#ac 3|Note (3):]]</cite> 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).
 
<cite id="ac_4">[[Comparison of relational database management systems#ac 4|Note (4):]]</cite> Does database process run as root/administrator or unprivileged user? What is default configuration?
 
<cite id="ac_5">[[Comparison of relational database management systems#ac 5|Note (5):]]</cite> 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?
 
<cite id="ac_6">[[#ac 6 back|Note (6):]]</cite> Common Criteria certified product list.<ref>
{{Citation
| publisher = Common Criteria Portal
Line 5,924 ⟶ 5,679:
}}
</ref>
* <cite id="ac_7">[[#ac 7 back|Note (7):]]</cite> FirebirdSQL seems to only have SYSDBA user and DB owner. There are no separate roles for backup operator and security administrator.
 
* <cite id="ac_7ac_8">[[#ac 78 back|Note (78):]]</cite> FirebirdSQLUser seemscan todefine onlya havededicated SYSDBAbackup user andbut DBnothing owner.particular Therein aredefault no separate roles for backup operator and security administratorinstall.<ref>
 
<cite id="ac_8">[[#ac 8 back|Note (8):]]</cite> User can define a dedicated backup user but nothing particular in default install.<ref>
{{Citation
| url = http://gentoo-wiki.com/HOWTO_Backup_MySQL
Line 5,939 ⟶ 5,692:
}}
</ref>
* <cite id="ac_9">[[#ac 9 back|Note (9):]]</cite> Authentication methods.<ref>{{Citation
 
<cite id="ac_9">[[#ac 9 back|Note (9):]]</cite> Authentication methods.<ref>{{Citation
| url = https://www.postgresql.org/docs/8.4/interactive/auth-methods.html
| publisher = PostgreSQL community
| series = 8.1 Documents
| title = Authentication methods
| date = 24 July 2014
}}</ref>
* <cite id="ac_10">[[#ac 10 back|Note (10):]]</cite> Informix Dynamic Server supports PAM and other configurable authentication. By default uses OS authentication.
 
* <cite id="ac_10ac_11">[[#ac 1011 back|Note (1011):]]</cite> InformixAuthentication Dynamic Server supports PAM and other configurable authentication. By default uses OS authenticationmethods.<ref>{{Citation
 
<cite id="ac_11">[[#ac 11 back|Note (11):]]</cite> Authentication methods.<ref>{{Citation
| url = https://www.microsoft.com/en-us/sqlserver/common-criteria.aspx#tab6
| archive-url = https://web.archive.org/web/20140213221406/https://www.microsoft.com/en-us/sqlserver/common-criteria.aspx
Line 5,956 ⟶ 5,707:
| title = Common Criteria (CC, ISO15408)
}}</ref>
* <cite id="ac_12">[[#ac 12 back|Note (12):]]</cite> With the use of Pervasive AuditMaster.
 
* <cite id="ac_12ac_13">[[#ac 1213 back|Note (1213):]]</cite> WithUser-based thesecurity useis ofoptional Pervasivein AuditMasterPolyhedra, but when enabled can be enhanced to a role-based model with auditing.<ref name="Polyhedra-audit">{{Citation
 
<cite id="ac_13">[[#ac 13 back|Note (13):]]</cite> User-based security is optional in Polyhedra, but when enabled can be enhanced to a role-based model with auditing.<ref name="Polyhedra-audit">{{Citation
| url = http://developer.polyhedra.com/how-to-guides/auditing
| publisher = Enea AB
Line 5,968 ⟶ 5,717:
==Databases vs schemas (terminology)==
{{Original research|section|date=June 2010}}
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 (programming)|operator]] dot "<code>{{char|.</code>}}". This seems to be a universal among all of the implementations.
 
A true [[fully qualified name|fully (database, schema, and table) qualified]] query is exemplified as such: <{{code>|SELECT * FROM database.schema.table</code>|sql}}
 
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:
* {{code|SELECT * FROM database1.foo|sql}} vs. {{code|SELECT * FROM database2.foo|sql}} (no explicit schema between database and table)
* {{code|SELECT * FROM [database1.]default.foo|sql}} vs. {{code|SELECT * FROM [database1.]alternate.foo|sql}} (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.
* <code>SELECT * FROM database1.foo</code> vs. <code>SELECT * FROM database2.foo</code> (no explicit schema between database and table)
* <code>SELECT * FROM [database1.]default.foo</code> vs. <code>SELECT * FROM [database1.]alternate.foo</code> (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 lacks off-the-shelf cross-database functionality 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 <{{code>|CREATE SCHEMA</code>}} and <{{code>|CREATE DATABASE</code>}} 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 butand 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 <{{code>|CREATE SCHEMA</code>}} 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 [[SQL/MED|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.<ref>{{Cite web
Line 5,996 ⟶ 5,744:
* [[List of relational database management systems]]
* [[Comparison of object–relational database management systems]]
* [[Comparison of database administration tools]]
* [[SQL compliance]]
* [[Object database]] – some of which have relational (SQL/ODBC) interfaces.
* [[IBM Business System 12]] – an historical [[RDBMS]] and related query language.
Line 6,006 ⟶ 5,753:
==External links==
{{wikibooks|SQL dialects reference}}
* [http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations against SQL standards]. Includes Oracle, DB2Db2, Microsoft SQL Server, MySQL and PostgreSQL. <small>(8 June 2007)</small>
* [https://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt The SQL92 standard]
* [https://www.sql-workbench.eu/dbms_comparison.html DMBS comparison by SQL Workbench]
Line 6,015 ⟶ 5,762:
[[Category:Database software comparisons|Relational databases]]
[[Category:Relational database management systems]]
[[Category:Database management systems]]