Porównanie systemów zarządzania relacyjnymi bazami danych - Comparison of relational database management systems
Poniższe tabele porównują informacje ogólne i techniczne dotyczące wielu systemów zarządzania relacyjnymi bazami danych . Więcej informacji można znaleźć w artykułach dotyczących poszczególnych produktów. O ile nie zaznaczono inaczej w przypisach, porównania są oparte na stabilnych wersjach bez żadnych dodatków, rozszerzeń czy programów zewnętrznych.
Informacje ogólne
Opiekun | Data pierwszej publicznej premiery | Najnowsza stabilna wersja | Najnowsza data wydania | Licencja | Lista spraw publicznych | |
---|---|---|---|---|---|---|
4D (4. wymiar) | SAS 4D | 1984 | v16.0 | 2017-01-10 | Prawnie zastrzeżony | Nie |
ADABAS | Oprogramowanie AG | 1970 | 8.1 | 2013-06 | Prawnie zastrzeżony | Nie |
Adaptive Server Enterprise | SAP AG | 1987 | 16.0 SP03 PL07 | 2019-06-10 | Prawnie zastrzeżony | Nie |
Serwer bazy danych Advantage (ADS) | SAP AG | 1992 | 12,0 | 2015 | Prawnie zastrzeżony | Nie |
Altibase | Altibase Corp. | 2000 | 7.1.0.1.2 | 2018-03-02 | GNU-AGPLv3; GNU-LGPLv3 (dla bibliotek klienckich) | Nie |
Apache Derby | Apache | 2004 | 10.15.1.3 | 2019-03-11 | Licencja Apache | tak |
ClustrixDB | MariaDB Corporation | 2010 | v7.0 | 2015-08-19 | Prawnie zastrzeżony | Nie |
KaraluchDB | Laboratoria karaluchów | 2015 | v20.2.8 | 2021-04-23 | BSL, CCL, MIT, BSD | tak |
CUBRYD | CUBRYD | 2008-11 | 10.2.1 | 2020-06-01 | GPL v2 lub nowsza, licencja BSD na API i narzędzia GUI | tak |
Datacom | CA, Inc. | Wczesne lata 70. | 14 | 2012 | Prawnie zastrzeżony | Nie |
Db2 | IBM | 1983 | 11,5 | 2019-06-27; 2 lata temu | Prawnie zastrzeżony | Nie |
Wbudowana baza danych Empress | Cesarzowa Software Inc | 1979 | 10.20 | 2010-03 | Prawnie zastrzeżony | Nie |
Exasol | EXASOL AG | 2004 | 7.1.1 | 2021-09-15; 31 dni temu | Prawnie zastrzeżony | Nie |
FileMaker | FileMaker, Inc., filia Apple | 1985-04 | 19 | 2020-05-20 | Prawnie zastrzeżony | Nie |
ognisty Ptak | Projekt Firebird | 2000-07-25 | 4.0 | 2021-06-01; 4 miesiące temu | IPL i IDPL | tak |
GPUdb | Federalny GIS | 2014 | 3.2.5 | 2015-01-14 | Prawnie zastrzeżony | Nie |
HSQLDB | Grupa programistów HSQL | 2001 | 2.4.1 | 2018-05-20 | BSD | tak |
H2 | Oprogramowanie H2 | 2005 | 1.4.200 | 2019-10-14 | EPL i zmodyfikowany MPL | tak |
Dynamiczny serwer Informix | IBM | 1980 | 14.10.xC4W1 | 2020-06-22 | Prawnie zastrzeżony | Nie |
Ingres | Ingres Corp. | 1974 | 11,0 | 2017-03-21 | GPL i prawa zastrzeżone | Nie |
InterBase | Embarcadero | 1984 | XE7 v12.0.4.357 | 2015-08-12 | Prawnie zastrzeżony | Nie |
RDBMS Linter SQL | Grupa RELEX | 1990 | 6.0.17.53 | 2018-02-15 | Prawnie zastrzeżony | tak |
LucidDB | Projekt Eigenbase | 2007-01 | 0.9.4 | 2012-01-05 | GPL v2 | Nie |
MariaDB | Społeczność MariaDB | 2010-02-01 | 10.6.4 | 2021-08-06; 2 miesiące temu | GPL v2, LGPL (dla bibliotek klienckich) | tak |
MaxDB | SAP AG | 2003-05 | 7.9.0.8 | 2014 | Prawnie zastrzeżony | tak |
SingleStore (dawniej MemSQL) | Pojedynczy sklep | 2012-06 | 7.1.11 | 2020-10-12 | Prawnie zastrzeżony | Nie |
Microsoft Access (JET) | Microsoft | 1992 | 16 (2016) | 2015-09-22 | Prawnie zastrzeżony | Nie |
Microsoft Visual Foxpro | Microsoft | 1984 | 9 (2005) | 2007-10-11 | Prawnie zastrzeżony | Nie |
Microsoft SQL Server | Microsoft | 1989 | 2019 | 2019-11-04; 23 miesiące temu | Prawnie zastrzeżony | Nie |
Microsoft SQL Server Compact (wbudowana baza danych) | Microsoft | 2000 | 2011 (wersja 4.0) | Prawnie zastrzeżony | Nie | |
Mimer SQL | Technologia informacyjna Mimer | 1978 | 11.0.5A | 2021-03-01 | Prawnie zastrzeżony | Nie |
MonetDB | Zespół MonetDB / CWI | 2004 | Lipiec 2021-SP1 | 2021-10-05 | Licencja publiczna Mozilli w wersji 2.0 | tak |
mSQL | Hughes Technologies | 1994 | 4.1 | 2017-06-30 | Prawnie zastrzeżony | Nie |
MySQL | Korporacja Oracle | 1995-11 | 8.0.26 | 2021-07-20; 2 miesiące temu | GPL v2 lub zastrzeżona | tak |
NexusDB | NexusDB Pty Ltd | 2003 | 4.00.14 | 2015-06-25 | Prawnie zastrzeżony | Nie |
HP NonStop SQL | Hewlett Packard | 1987 | SQL/MX 3.4 | Prawnie zastrzeżony | Nie | |
NuoDB | NuoDB | 2013 | 4.1 | Sierpień 2020 | Prawnie zastrzeżony | Nie |
Studio Omnis | TigerLogic Inc | 1982-07 | 6.1.3 Wydanie 1nie | 2015-12 | Prawnie zastrzeżony | Nie |
OpenEdge | Progress Software Corporation | 1984 | 11.6.3 | 2016-08-19 | Prawnie zastrzeżony | Nie |
Wirtuoz OpenLink | Oprogramowanie OpenLink | 1998 | 7.2.5.1 | 2018-08-15 | GPL v2 lub zastrzeżona | tak |
Baza danych Oracle | Korporacja Oracle | 1979-11 | 19c | 13.02.2019; 2 lata temu | Prawnie zastrzeżony | Nie |
Oracle Rdb | Korporacja Oracle | 1984 | 7.4.1.1 | 2021-04-21 [±] | Prawnie zastrzeżony | Nie |
Paradoks | Corel Corporation | 1985 | 11 | 2009-09-07 | Prawnie zastrzeżony | Nie |
Serwer Percona dla MySQL | Percona | 2006 | 8.0.25-15 | 2021-07-13 [±] | GPL v2 | tak |
Wszechobecny PSQL | Wszechobecne oprogramowanie | 1982 | v12 | 2015 | Prawnie zastrzeżony | Nie |
Wielościany DBMS | ENEA AB | 1993 | 9,0 | 2015-06-24 | Zastrzeżony , z Polyhedra Lite dostępnym jako Freeware | Nie |
PostgreSQL | Globalna grupa programistyczna PostgreSQL | 1989-06 | 14,0 | 2021-09-30; 16 dni temu | Licencja Postgres | Nie |
R:Podstawa | Technologie R:BASE | 1982 | 10,0 | 2016-05-26 | Prawnie zastrzeżony | Nie |
Menedżer bazy danych Raima | Raima Inc. | 1984 | 15,0 | 2021-06-10 | Prawnie zastrzeżony | Nie |
Serwer RDM | Raima Inc. | 1993 | 8.4 | 2012-10-31 | Prawnie zastrzeżony | Nie |
SAP HANA | SAP AG | 2010 | 2.0 SPS04 | 2019-08-08 | Prawnie zastrzeżony | Nie |
solidDB | UNICOM Global | 1992 | 7.0.0.10 | 2014-04-29 | Prawnie zastrzeżony | Nie |
SQL w dowolnym miejscu | SAP AG | 1992 | 17.0.0.48 | 2019-07-26 | Prawnie zastrzeżony | Nie |
Baza SQL | Zunifikuj Corp. | 1982 | 11,5 | 2008-11 | Prawnie zastrzeżony | Nie |
SQLite | D. Richard Hipp | 2000-09-12 | 3.36.0 | 2021-06-18; 3 miesiące temu | Domena publiczna | tak |
SQream DB | Technologie SQream | 2014 | 2,1 | 2018-01-15 | Prawnie zastrzeżony | Nie |
Superbaza | Superbaza | 1984 | Klasyczny | 2003 | Prawnie zastrzeżony | Nie |
Superbaza NG | Superbaza NG | 2002 | Superbaza NG 2,10 | 2017 | Prawnie zastrzeżony | tak |
Teradata | Teradata | 1984 | 15 | 2014-04 | Prawnie zastrzeżony | Nie |
Tybero | TmaxSoft | 1992 | 6.0 FS07_CS_2005 | 2021-03 | Prawnie zastrzeżony | Nie |
TiDB | Apache | 2016 | 5.0.1 | 2021-04-23; 5 miesięcy temu | Licencja Apache | tak |
UniData | Oprogramowanie rakietowe | 1988 | 8.2.1 | 2017-07 | Prawnie zastrzeżony | Nie |
YugabyteDB | Apache | 2018 | 2.7.2.0 | 2021-07-29 [±] | Licencja Apache | tak |
Opiekun | Data pierwszej publicznej premiery | Najnowsza stabilna wersja | Najnowsza data wydania | Licencja | Lista spraw publicznych |
Obsługa systemu operacyjnego
Te systemy operacyjne że RDBMS typu może działać dalej.
Okna | System operacyjny Mac | Linux | BSD | UNIX | AmigaOS | z/OS | iOS | Android | OpenVMS | |
---|---|---|---|---|---|---|---|---|---|---|
4. Wymiar | tak | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
ADABAS | tak | Nie | tak | Nie | tak | Nie | tak | Nie | Nie | Nie |
Adaptive Server Enterprise | tak | Nie | tak | tak | tak | Nie | Nie | Nie | Nie | Nie |
Zaleta serwera bazy danych | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Altibase | tak | Nie | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie |
Apache Derby | tak | tak | tak | tak | tak | Nie | tak | ? | Nie | Nie |
ClustrixDB | Nie | Nie | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie |
KaraluchDB | tak | tak | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
CUBRYD | tak | Częściowy | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
DB2 | tak | Tak ( Ekspres C ) | tak | Nie | tak | Nie | tak | tak | Nie | Nie |
Wbudowana baza danych Empress | tak | tak | tak | tak | tak | Nie | Nie | Nie | tak | Nie |
EXASRozwiązanie | Nie | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
FileMaker | tak | tak | tak | Nie | Nie | Nie | Nie | tak | Nie | Nie |
ognisty Ptak | tak | tak | tak | tak | tak | Nie | Być może | Nie | tak | Nie |
HSQLDB | tak | tak | tak | tak | tak | Nie | tak | ? | ? | Nie |
H2 | tak | tak | tak | tak | tak | Nie | tak | ? | tak | Nie |
Dynamiczny serwer Informix | tak | tak | tak | tak | tak | Nie | Nie | Nie | Nie | Nie |
Ingres | tak | tak | tak | tak | tak | Nie | Częściowy | Nie | Nie | tak |
InterBase | tak | tak | tak | Nie | Tak ( Solaris ) | Nie | Nie | tak | tak | Nie |
RDBMS Linter SQL | tak | tak | tak | tak | tak | Nie | W systemie Linux na IBM Z | tak | tak | tak |
LucidDB | tak | tak | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
MariaDB | tak | tak | tak | tak | tak | Nie | Nie | ? | tak | Nie |
MaxDB | tak | Nie | tak | Nie | tak | Nie | Być może | Nie | Nie | Nie |
Microsoft Access (JET) | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Microsoft Visual Foxpro | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Microsoft SQL Server | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Microsoft SQL Server Compact (wbudowana baza danych) | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Mimer SQL | tak | tak | tak | Nie | tak | Nie | Nie | Nie | tak | tak |
MonetDB | tak | tak | tak | tak | tak | Nie | Nie | Nie | Nie | Nie |
MySQL | tak | tak | tak | tak | tak | tak | tak | ? | tak | Nie |
Studio Omnis | tak | tak | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
OpenEdge | tak | Nie | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie |
Wirtuoz OpenLink | tak | tak | tak | tak | tak | Nie | Nie | Nie | Nie | Nie |
Wyrocznia | tak | tak | tak | Nie | tak | Nie | tak | Nie | Nie | tak |
Oracle Rdb | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | tak |
Wszechobecny PSQL | tak | Tak (tylko OEM) | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Wielościany | tak | Nie | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie |
PostgreSQL | tak | tak | tak | tak | tak | Tak ( MorphOS ) | W systemie Linux na IBM Z | Nie | tak | Nie |
R:Podstawa | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Menedżer bazy danych Raima | tak | tak | tak | tak | tak | Nie | Nie | tak | tak | Nie |
Serwer RDM | tak | tak | tak | tak | tak | Nie | Nie | Nie | Nie | Nie |
SAP HANA | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
solidDB | tak | Nie | tak | Nie | tak | Nie | W systemie Linux na IBM Z | Nie | Nie | Nie |
SQL w dowolnym miejscu | tak | tak | tak | Nie | tak | Nie | Nie | Nie | tak | Nie |
Baza SQL | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
SQLite | tak | tak | tak | tak | tak | tak | Być może | tak | tak | Nie |
SQream DB | Nie | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Superbaza | tak | Nie | Nie | Nie | Nie | tak | Nie | Nie | Nie | Nie |
Superbaza NG | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Teradata | tak | Nie | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie |
Tybero | tak | Nie | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie |
UniData | tak | Nie | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie |
Wszechświat | tak | Nie | tak | Nie | tak | Nie | Nie | Nie | Nie | Nie |
YugabyteDB | tak | tak | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Okna | System operacyjny Mac | Linux | BSD | UNIX | AmigaOS | z/OS | iOS | Android | OpenVMS |
Podstawowe cechy
Informacje o tym, jakie podstawowe funkcje RDBMS są zaimplementowane natywnie.
Nazwa bazy danych | KWAS | Więzy integralności | Transakcje | Blokowanie drobnoziarniste | Kontrola współbieżności wielu wersji | Unicode | Berło | Wnioskowanie o typie |
---|---|---|---|---|---|---|---|---|
4. Wymiar | tak | tak | tak | ? | ? | tak | GUI i SQL | tak |
ADABAS | tak | Nie | tak | ? | ? | tak | własne połączenie bezpośrednie i SQL (przez 3rd party) | tak |
Adaptive Server Enterprise | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | tak | tak | API & GUI & SQL | tak |
Zaleta serwera bazy danych | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | ? | Tak 4 | API i SQL | tak |
Altibase | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | ? | tak | API & GUI & SQL | tak |
Apache Derby | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | ? | tak | SQL | tak |
ClustrixDB | tak | tak | tak | tak | tak | tak | SQL | tak |
KaraluchDB | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | tak | tak | SQL | Nie |
CUBRYD | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | ? | tak | GUI i SQL | tak |
DB2 | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | ? | tak | GUI i SQL | tak |
Wbudowana baza danych Empress | tak | tak | tak | ? | ? | tak | API i SQL | tak |
EXASRozwiązanie | tak | tak | tak | ? | ? | tak | API & GUI & SQL | tak |
ognisty Ptak | tak | tak | tak | ? | tak | tak | API i SQL | tak |
HSQLDB | tak | tak | tak | ? | tak | tak | SQL | tak |
H2 | tak | tak | tak | ? | tak | tak | SQL | tak |
Dynamiczny serwer Informix | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | tak | tak | SQL , REST i JSON | tak |
Ingres | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | tak | tak | SQL & QUEL | tak |
InterBase | tak | tak | tak | ? | ? | tak | SQL | tak |
RDBMS Linter SQL | tak | tak | Tak (z wyjątkiem DDL ) | Tak (blokowanie na poziomie rzędu) | ? | tak | API & GUI & SQL | tak |
LucidDB | tak | Nie | Nie | ? | ? | tak | SQL | tak |
MariaDB | Tak 2 | tak | Tak 2 z wyjątkiem DDL | Tak (blokowanie na poziomie rzędu) | tak | tak | SQL | tak |
MaxDB | tak | tak | tak | ? | ? | tak | SQL | tak |
Microsoft Access (JET) | tak | tak | tak | ? | ? | tak | GUI i SQL | tak |
Microsoft Visual FoxPro | tak | tak | tak | Tak (blokada SMB2 na poziomie rzędu) | tak | Nie | GUI i SQL | tak |
Microsoft SQL Server | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | tak | tak | GUI i SQL | tak |
Microsoft SQL Server Compact (wbudowana baza danych) | tak | tak | tak | ? | ? | tak | GUI i SQL | tak |
Mimer SQL | tak | tak | tak | Tak ( optymistyczne blokowanie ) | tak | tak | API & GUI & SQL | tak |
MonetDB | tak | tak | tak | ? | ? | tak | API & SQL & MAL | tak |
MySQL | Tak 2 | Tak 3 | Tak 2 z wyjątkiem DDL | Tak (blokowanie na poziomie rzędu) | tak | tak | GUI 5 i SQL | tak |
OpenEdge | tak | Tak 6 | tak | Tak (blokowanie na poziomie rzędu) | ? | tak | GUI i SQL | tak |
Wirtuoz OpenLink | tak | tak | tak | ? | ? | tak | API & GUI & SQL | tak |
Wyrocznia | tak | tak | Tak, z wyjątkiem DDL | Tak (blokowanie na poziomie rzędu) | tak | tak | API & GUI & SQL | tak |
Oracle Rdb | tak | tak | tak | ? | ? | tak | SQL | tak |
Wszechobecny PSQL | tak | tak | tak | ? | ? | tak | API & GUI & SQL | tak |
Wielościany DBMS | tak | tak | tak | Tak (optymistyczne i pesymistyczne blokowanie na poziomie komórek) | ? | tak | API i SQL | tak |
PostgreSQL | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | tak | tak | API & GUI & SQL | Nie |
Menedżer bazy danych Raima | tak | tak | tak | ? | tak | tak | SQL i API | tak |
Serwer RDM | tak | tak | tak | ? | ? | tak | SQL i API | tak |
SAP HANA | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | tak | tak | API & GUI & SQL | tak |
solidDB | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | ? | tak | API i SQL | tak |
SQL w dowolnym miejscu | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | tak | tak | API & GUI & HTTP(S) (REST & SOAP) & SQL | tak |
Baza SQL | tak | tak | tak | ? | ? | tak | API & GUI & SQL | tak |
SQLite | tak | tak | tak | Nie (blokowanie na poziomie bazy danych) | Nie | Opcjonalny | API i SQL | tak |
Superbaza NG | ? | ? | ? | Tak (blokowanie na poziomie rekordu) | ? | tak | GUI & Propietary & ODBC | tak |
Teradata | tak | tak | tak | Tak (hasz i partycja) | ? | tak | SQL | tak |
Tybero | tak | tak | tak | Tak (blokowanie na poziomie rzędu) | tak | tak | API & GUI & SQL | tak |
UniData | tak | Nie | tak | ? | ? | tak | Wiele | tak |
Wszechświat | tak | Nie | tak | ? | ? | tak | Wiele | tak |
Nazwa bazy danych | KWAS | Więzy integralności | Transakcje | Blokowanie drobnoziarniste | Kontrola współbieżności wielu wersji | Unicode | Berło | Wnioskowanie o typie |
Uwaga (1): obecnie obsługuje tylko izolację niezatwierdzonych transakcji odczytu. Wersja 1.9 dodaje serializowalną izolację, a wersja 2.0 będzie w pełni zgodna z ACID.
Uwaga (2): MariaDB i MySQL zapewniają zgodność z ACID dzięki domyślnemu silnikowi pamięci masowej InnoDB.
Uwaga (3): "Dla innych niż InnoDB silników pamięci masowej MySQL Server analizuje i ignoruje składnię FOREIGN KEY i REFERENCES w instrukcjach CREATE TABLE. Klauzula CHECK jest analizowana, ale ignorowana przez wszystkie silniki pamięci masowej."
Uwaga (4): Obsługa Unicode jest nowa w wersji 10.0.
Uwaga (5): MySQL zapewnia interfejs GUI poprzez MySQL Workbench .
Uwaga (6): Silnik bazy danych OpenEdge SQL wykorzystuje integralność referencyjną, silnik bazy danych OpenEdge ABL nie i jest obsługiwany przez wyzwalacze bazy danych.
Limity
Informacje o limitach rozmiaru danych.
Maksymalny rozmiar DB | Maksymalny rozmiar stołu | Maksymalny rozmiar wiersza | Maks. kolumny w rzędzie | Maksymalny rozmiar plamy / plamy | Maksymalny rozmiar CHAR | Maks. NUMBER rozmiar | Minimalna wartość DATE | Maksymalna wartość DATE | Maksymalny rozmiar nazwy kolumny | |
---|---|---|---|---|---|---|---|---|---|---|
4. Wymiar | Ograniczony | ? | ? | 65 135 | 200 GB (2 GiB Unicode ) | 200 GB (2 GiB Unicode ) | 64 bity | ? | ? | ? |
Zaleta serwera bazy danych | Nieograniczony | 16 EiB | 65 530 mld zł | 65 135 / (10+ średnia długość nazwy pola) | 4 GiB | ? | 64 bity | ? | ? | 128 |
Apache Derby | Nieograniczony | Nieograniczony | Nieograniczony | 1012 (5000 w odsłonach) | 2 147 483 647 znaków | 254 ( VARCHAR : 32,672)
|
64 bity | 0001-01-01 | 9999-12-31 | 128 |
ClustrixDB | Nieograniczony | Nieograniczony | 64 MB na urządzeniu, 4 MB na AWS | ? | 64 MB | 64 MB | 64 MB | 0001-01-01 | 9999-12-31 | 254 |
CUBRYD | 2 EB | 2 EB | Nieograniczony | Nieograniczony | Nieograniczony | 1 GB | 64 bity | 0001-01-01 | 9999-12-31 | 254 |
DB2 | Nieograniczony | 2 ZB | 1 048 319 mld zł | 1,012 | 2 GB | 32 KiB | 64 bity | 0001-01-01 | 9999-12-31 | 128 |
Wbudowana baza danych Empress | Nieograniczony | 2 63 -1 bajtów | 2 GB | 32 767 | 2 GB | 2 GB | 64 bity | 0000-01-01 | 9999-12-31 | 32 |
EXASRozwiązanie | Nieograniczony | Nieograniczony | Nieograniczony | 10 000 | Nie dotyczy | 2 MB | 128 bitów | 0001-01-01 | 9999-12-31 | 256 |
FileMaker | 8 TB | 8 TB | 8 TB | 256 000 000 | 4 GB | 10 000 000 | 1 miliard znaków, 10^-400 do 10^400, +- | 0001-01-01 | 4000-12-31 | 100 |
ognisty Ptak | Nieograniczony 1 | ~32 TB | 65 536 mld | Zależy od używanych typów danych | 32 GB | 32 767 mld | 64 bity | 100 | 32768 | 31 |
HSQLDB | 64 TB | Nieograniczony 8 | Nieograniczony 8 | Nieograniczony 8 | 64 TB 7 | Nieograniczony 8 | Nieograniczony 8 | 0001-01-01 | 9999-12-31 | 128 |
H2 | 64 TB | Nieograniczony 8 | Nieograniczony 8 | Nieograniczony 8 | 64 TB 7 | Nieograniczony 8 | 64 bity | -9999999 | 99999999 | Nieograniczony 8 |
Maksymalny rozmiar DB | Maksymalny rozmiar stołu | Maksymalny rozmiar wiersza | Maks. kolumny w rzędzie | Maksymalny rozmiar plamy / plamy | Maksymalny rozmiar CHAR | Maks. NUMBER rozmiar | Minimalna wartość DATE | Maksymalna wartość DATE | Maksymalny rozmiar nazwy kolumny | |
Dynamiczny serwer Informix | ~128 PB 12 | ~128 PB 12 | 32 765 bajtów (bez dużych obiektów) | 32 765 | 4 TB | 32 765 | 10 32 | 01.01.2001 10 | 12/31/9999 | 128 bajtów |
Ingres | Nieograniczony | Nieograniczony | 256 KB | 1024 | 2 GB | 32 000 mld | 64 bity | 0001 | 9999 | 256 |
InterBase | Nieograniczony 1 | ~32 TB | 65 536 mld | Zależy od używanych typów danych | 2 GB | 32 767 mld | 64 bity | 100 | 32768 | 31 |
RDBMS Linter SQL | Nieograniczony | 2 30 rzędów | 64 KB (bez obiektów BLOB), 2 GB (każda wartość BLOB) | 250 | 2 GB | 4000 mld | 64 bity | 0001-01-01 | 9999-12-31 | 66 |
MariaDB | Nieograniczony | Limity pamięci MyISAM: 256 TB; Limity pamięci Innodb: 64 TB; Limity przechowywania Arii: ??? | 64 KB 3 | 4096 4 | 4 GB (długi tekst, długi blok) | 64 KB (tekst) | 64 bity | 1000 | 9999 | 64 |
Microsoft Access (JET) | 2 GB | 2 GB | 16 MB | 255 | 64 KB (pole noty), 1 GB (pole „Obiekt OLE”) | 255 B (pole tekstowe) | 32 bity | 0100 | 9999 | 64 |
Microsoft Visual Foxpro | Nieograniczony | 2 GB | 65 500 mld | 255 | 2 GB | 16 MB | 32 bity | 0001 | 9999 | 10 |
Microsoft SQL Server | 524 272 TB (32 767 plików * maksymalny rozmiar pliku 16 TB)
16 ZB za instancję |
524 272 TB | 8060 bajtów/2TB 6 | 1,024/30 000 (z rzadkimi kolumnami) | 2 GB/bez ograniczeń (przy użyciu obiektu RBS/FILESTREAM) | 2 GB 6 | 126 bitów 2 | 0001 | 9999 | 128 |
Microsoft SQL Server Compact (wbudowana baza danych) | 4 GB | 4 GB | 8060 bajtów | 1024 | 2 GB | 4000 | 154 bity | 0001 | 9999 | 128 |
Mimer SQL | Nieograniczony | Nieograniczony | 16000 (+dane lob) | 252 | Nieograniczony | 15000 | 45 cyfr | 0001-01-01 | 9999-12-31 | 128 |
MonetDB | Nieograniczony | Nieograniczony | Nieograniczony | Nieograniczony | 2 GB | 2 GB | 128 bitów | -9999-01-01 | 9999-12-31 | 1024 |
MySQL | Nieograniczony | Limity pamięci MyISAM: 256 TB; Limity pamięci Innodb: 64 TB | 64 KB 3 | 4096 4 | 4 GB (długi tekst, długi blok) | 64 KB (tekst) | 64 bity | 1000 | 9999 | 64 |
Wirtuoz OpenLink | 32 TB na instancję (bez ograniczeń przez klaster elastyczny) | Rozmiar DB (lub 32 TB) | 4 KB | 200 | 2 GB | 2 GB | 2 31 | 0 | 9999 | 100 |
Wyrocznia | 2PB (ze standardowym blokiem 8k)
8PB (z blokiem max 32k) 8EB (z blokiem max 32k i opcją BIGFILE) |
4 GB * rozmiar bloku (z przestrzenią tabel BIGFILE) | 8 KB | 1000 | 128 TB | 32 767 B 11 | 126 bitów | −4712 | 9999 | 128 |
Maksymalny rozmiar DB | Maksymalny rozmiar stołu | Maksymalny rozmiar wiersza | Maks. kolumny w rzędzie | Maksymalny rozmiar plamy / plamy | Maksymalny rozmiar CHAR | Maks. NUMBER rozmiar | Minimalna wartość DATE | Maksymalna wartość DATE | Maksymalny rozmiar nazwy kolumny | |
Wszechobecny PSQL | 4 miliardy obiektów | 256 GB | 2 GB | 1536 | 2 GB | 8000 bajtów | 64 bity | 01-01-0001 | 12-31-9999 | 128 bajtów |
Wielościany | Ograniczona dostępną pamięcią RAM, przestrzenią adresową | 2 32 rzędy | Nieograniczony | 65 536 | 4 GB (z zastrzeżeniem pamięci RAM) | 4 GB (z zastrzeżeniem pamięci RAM) | 64 bity | 0001-01-01 | 8000-12-31 | 255 |
PostgreSQL | Nieograniczony | 32 TB | 1,6 TB | 250–1600 w zależności od typu | 1 GB (tekst, bajt) przechowywane w trybie inline lub 4 TB przy użyciu pg_largeobject
|
1 GB | Nieograniczony | -4 713
|
5 874 897 | 63 |
Menedżer bazy danych Raima | Nieograniczony | 2 48 -1 rzędów | 32 KB | 1000 | 4 GB | znak: 256, varchar: 4 KB | 64 bity | 0001-01-01 | 11758978-12-31 | 31 |
Serwer RDM | Nieograniczony | 2 64 -1 rzędów | 32 KB | 32 768 | Nieograniczony | 32 KB | 64 bity | 0001-01-01 | 11758978-12-31 | 32 |
SAP HANA | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
solidDB | 256 TB | 256 TB | 32 KB + dane BLOB | Ograniczona rozmiarem wiersza | 4 GB | 4 GB | 64 bity | -32768-01-01 | 32767-12-31 | 254 |
SQL w dowolnym miejscu | 104 TB (13 plików, każdy plik do 8 TB (strony 32 KB)) | Ograniczone przez rozmiar pliku | Ograniczone przez rozmiar pliku | 45 000 | 2 GB | 2 GB | 64 bity | 0001-01-01 | 9999-12-31 | 128 bajtów |
SQLite | 128 TB (2 31 stron * 64 KB maks. rozmiar strony) | Ograniczone przez rozmiar pliku | Ograniczone przez rozmiar pliku | 32 767 | 2 GB | 2 GB | 64 bity | Brak DATY typ 9 | Brak DATY typ 9 | Nieograniczony |
Teradata | Nieograniczony | Nieograniczony | 64000 wo/loby (64 GB w/loby) | 2048 | 2 GB | 64 000 | 38 cyfr | 0001-01-01 | 9999-12-31 | 128 |
Wszechświat | Nieograniczony | Nieograniczony | Nieograniczony | Nieograniczony | Nieograniczony | Nieograniczony | Nieograniczony | Nieograniczony | Nieograniczony | Nieograniczony |
Maksymalny rozmiar DB | Maksymalny rozmiar stołu | Maksymalny rozmiar wiersza | Maks. kolumny w rzędzie | Maksymalny rozmiar plamy / plamy | Maksymalny rozmiar CHAR | Maks. NUMBER rozmiar | Minimalna wartość DATE | Maksymalna wartość DATE | Maksymalny rozmiar nazwy kolumny |
Uwaga (1): Maksymalny rozmiar bazy danych Firebird 2.x jest praktycznie nieograniczony przy największym znanym rozmiarze bazy danych >980 GB. Maksymalny rozmiar bazy danych Firebird 1.5.x: 32 TB.
Uwaga (2): Limit to 10 38 przy użyciuDECIMAL
typu danych.
Uwaga (3): InnoDB jest ograniczona do 8000 bajtów (z wyjątkiemVARBINARY
,VARCHAR
,BLOB
lubTEXT
kolumnami).
Uwaga (4): InnoDB jest ograniczone do 1017 kolumn.
Uwaga (6): UżywanieVARCHAR (MAX)
w SQL 2005 i nowszych.
Uwaga (7): W przypadku korzystania z rozmiaru strony 32 KB oraz gdy dane BLOB/CLOB są przechowywane w pliku bazy danych.
Uwaga (8): Obowiązujelimit rozmiaru tablicy Java wynoszący 2 147 483 648 (2 31 ) obiektów na tablicę. Ten limit dotyczy liczby znaków w nazwach, wierszy na tabelę, kolumn na tabelę i znaków naCHAR
/VARCHAR
.
Uwaga (9): Pomimo braku typu danych, SQLite zawiera funkcje daty i czasu, które działają dla znaczników czasu między 24 listopada 4714 pne a 1 listopada 5352.
Uwaga (10): Typ Informix DATETIME ma regulowany zakres od YEAR tylko do 1/10000 sekundy. Zakres dat DATETIME to 0001-01-01 00:00:00.00000 do 9999-12-31 23:59:59.99999.
Uwaga (11): Od wersji 12c. Wcześniejsze wersje obsługują do 4000 B.
Uwaga (12): Limit 128 PB odnosi się do limitu pamięci pojedynczej instancji serwera Informix. Informix 12.10 i nowsze wersje obsługują użycie technik fragmentowania w celu rozmieszczenia tabeli na wielu instancjach serwera. Rozproszona baza danych Informix nie ma górnego limitu rozmiaru tabeli lub bazy danych.
Tabele i widoki
Informacje o tym, jakie tabele i widoki (inne niż podstawowe) są obsługiwane natywnie.
Stół tymczasowy | Zmaterializowany widok | |
---|---|---|
4. Wymiar | tak | Nie |
ADABAS | ? | ? |
Adaptive Server Enterprise | Tak 1 | Tak – zobacz wstępnie obliczone zestawy wyników |
Zaleta serwera bazy danych | tak | Nie (tylko wspólne widoki) |
Altibase | tak | Nie (tylko wspólne widoki) |
Apache Derby | tak | Nie |
ClustrixDB | tak | Nie |
CUBRYD | Nie | Nie |
DB2 | tak | tak |
Wbudowana baza danych Empress | tak | tak |
EXASRozwiązanie | tak | Nie |
ognisty Ptak | tak | Nie (tylko wspólne widoki) |
HSQLDB | tak | Nie |
H2 | tak | Nie (tylko wspólne widoki) |
Dynamiczny serwer Informix | tak | Nie 2 |
Ingres | tak | Nie |
InterBase | tak | Nie |
RDBMS Linter SQL | tak | tak |
LucidDB | Nie | Nie |
MariaDB | tak | Nie 4 |
MaxDB | tak | Nie |
Microsoft Access (JET) | Nie | Nie |
Microsoft Visual Foxpro | tak | tak |
Microsoft SQL Server | tak | tak |
Microsoft SQL Server Compact (wbudowana baza danych) | tak | Nie |
Mimer SQL | Nie | Nie |
MonetDB | tak | Nie (tylko wspólne widoki) |
MySQL | tak | Nie 4 |
Wyrocznia | tak | tak |
Oracle Rdb | tak | tak |
Wirtuoz OpenLink | tak | tak |
Wszechobecny PSQL | tak | Nie |
Wielościany DBMS | Nie | Nie (tylko wspólne widoki) |
PostgreSQL | tak | tak |
Menedżer bazy danych Raima | tak | Nie |
Serwer RDM | tak | Nie |
SAP HANA | tak | ? |
solidDB | tak | Nie (tylko wspólne widoki) |
SQL w dowolnym miejscu | tak | tak |
SQLite | tak | Nie |
Superbaza | tak | tak |
Teradata | tak | tak |
UniData | tak | Nie |
Wszechświat | tak | Nie |
Stół tymczasowy | Zmaterializowany widok |
Uwaga (1): Serwer udostępnia bazę danych tempdb, która może być używana do publicznych i prywatnych (sesyjnych) tabel tymczasowych.
Uwaga (2): widoki zmaterializowane nie są obsługiwane w programie Informix; termin ten jest używany w dokumentacji IBM w odniesieniu do tabeli tymczasowej utworzonej w celu uruchomienia zapytania widoku, gdy jest on zbyt złożony, ale nie można na przykład zdefiniować sposobu jego odświeżania ani zbudować na nim indeksu. Termin został zdefiniowany w przewodniku Informix Performance Guide.
Uwaga (4): widoki zmaterializowane można emulować przy użyciu procedur składowanych i wyzwalaczy.
Indeksy
Informacje o tym, jakie indeksy (inne niż podstawowe indeksy drzewa B- / B+ ) są obsługiwane natywnie.
Drzewo R- / R+ | Haszysz | Wyrażenie | Częściowy | Odwrócić | Mapa bitowa | Sens | GIN | Pełny tekst | Przestrzenny | FOT | Zapobieganie zduplikowanym indeksom | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
4. Wymiar | ? | Grupa | ? | ? | ? | ? | ? | ? | tak | ? | ? | Nie |
ADABAS | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Nie |
Adaptive Server Enterprise | Nie | Nie | tak | Nie | tak | Nie | Nie | Nie | tak | ? | ? | Nie |
Zaleta serwera bazy danych | Nie | Nie | tak | Nie | tak | tak | Nie | Nie | tak | ? | ? | Nie |
Apache Derby | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | ? | ? | Nie |
ClustrixDB | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | ? | Nie |
CUBRYD | Nie | Nie | tak | tak | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
DB2 | tak | tak | tak | Nie | tak | tak | Nie | Nie | tak | ? | ? | Nie |
Wbudowana baza danych Empress | tak | Nie | Nie | tak | Nie | tak | Nie | Nie | Nie | ? | ? | Nie |
EXASRozwiązanie | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie | ? | ? | Nie |
ognisty Ptak | Nie | Nie | tak | Nie | tak | Nie | Nie | Nie | Nie | ? | ? | Nie |
HSQLDB | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | ? | ? | Nie |
H2 | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | tak | tak | ? | Nie |
Dynamiczny serwer Informix | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak |
Ingres | tak | tak | Ingres v10 | Nie | Nie | Ingres v10 | Nie | Nie | Nie | ? | ? | Nie |
InterBase | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | ? | ? | Nie |
Linter SQL RDBMS 10 | Nie | Tak tymczasowe indeksy dla złączeń równościowych | Tak dla niektórych funkcji skalarnych, takich jak LOWER i UPPER | Nie | Nie | Nie | Nie | Nie | tak | Nie | Nie | tak |
LucidDB | Nie | Nie | Nie | Nie | Nie | tak | Nie | Nie | Nie | ? | ? | Nie |
MariaDB | Tabele Aria i MyISAM, a od wersji 10.2.2 tylko tabele InnoDB | MEMORY, InnoDB, tylko 5 tabel | Tylko TRWAŁE kolumny wirtualne | Nie | Nie | Nie | Nie | Nie | tak | Tabele Aria i MyISAM, a od wersji 10.2.2 tylko tabele InnoDB | ? | Nie |
MaxDB | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | ? | ? | Nie |
Microsoft Access (JET) | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | ? | ? | Nie |
Microsoft Visual Foxpro | Nie | Nie | tak | tak | Tak 2 | tak | Nie | Nie | Nie | ? | ? | Nie |
Microsoft SQL Server | Indeksy przestrzenne | Tak 4 | Tak 3 | tak | na kolumnach obliczeniowych 3 | Indeks filtra bitmapy dla zapytania Star Join Query | Nie | Nie | tak | tak | ? | Nie |
Microsoft SQL Server Compact (wbudowana baza danych) | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | ? | ? | Nie |
Mimer SQL | Nie | Nie | Nie | Nie | tak | Nie | Nie | Nie | tak | tak | Nie | Nie |
MonetDB | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
MySQL | Indeksy przestrzenne | MEMORY, Cluster (NDB), InnoDB, tylko 5 tabel | Nie | Nie | Nie | Nie | Nie | Nie | Tabele MyISAM, a od wersji 5.6.4 tabele InnoDB | Tabele MyISAM, a od wersji 5.7.5 tabele InnoDB | ? | Nie |
Wirtuoz OpenLink | tak | Grupa | tak | tak | Nie | tak | Nie | Nie | tak | Tak (tylko komercyjne) | Nie | Nie |
Wyrocznia | Tak 11 | Tabele klastrowe | tak | Tak 6 | tak | tak | Nie | Nie | tak | tak | ? | tak |
Oracle Rdb | Nie | tak | ? | Nie | Nie | ? | Nie | Nie | ? | ? | ? | Nie |
Wszechobecny PSQL | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
Wielościany DBMS | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie | Nie | ? | Nie |
PostgreSQL | tak | tak | tak | tak | Tak 7 | tak | tak | tak | tak | PocztaGIS | Nie | Nie |
Menedżer bazy danych Raima | tak | tak | Nie | tak | tak | Nie | Nie | Nie | Nie | tak | Nie | Nie |
Serwer RDM | Nie | Nie | Nie | tak | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
SAP HANA | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Nie |
solidDB | Nie | Nie | Nie | Nie | tak | Nie | Nie | Nie | Nie | Nie | Nie | Nie |
SQL w dowolnym miejscu | Nie | Nie | tak | Nie | Nie | Nie | Nie | Nie | tak | tak | ? | tak |
SQLite | tak | Nie | tak | tak | Nie | Nie | Nie | Nie | tak | SpatiaLite | ? | Nie |
SQream DB | ? | ? | ? | ? | tak | ? | ? | ? | ? | ? | ? | Nie |
Teradata | Nie | tak | tak | tak | Nie | tak | Nie | Nie | ? | ? | ? | Nie |
Wszechświat | tak | tak | Tak 3 | Tak 3 | Tak 3 | Nie | Nie | Nie | ? | tak | ? | Nie |
Drzewo R- / R+ | Haszysz | Wyrażenie | Częściowy | Odwrócić | Mapa bitowa | Sens | GIN | Pełny tekst | Przestrzenny | FOT | Zapobieganie zduplikowanym indeksom |
Uwaga (1): Użytkownicy muszą korzystać z funkcji z biblioteki freeAdhocUDF lub podobnej.
Uwaga (2): Można zaimplementować dla większości typów danych przy użyciu indeksów opartych na wyrażeniach.
Uwaga (3): Można emulować, indeksując kolumnę wyliczoną (nie można jej łatwo zaktualizować) lub używając „Widoku indeksowanego” (właściwa nazwa nie działa tylko w każdym widoku).
Uwaga (4): Używany dla indeksu InMemory ColumnStore, tymczasowego indeksu mieszającego dla łączenia mieszającego, współczynnika Non/Cluster & Fill.
Uwaga (5): InnoDB automatycznie generuje adaptacyjne wpisy indeksu skrótu w razie potrzeby.
Uwaga (6): Można zaimplementować przy użyciu indeksów opartych na funkcjach w Oracle 8i i nowszych, ale funkcja musi być użyta w sql, aby indeks mógł być używany.
Uwaga (7): Indeks funkcjonalny PostgreSQL może być użyty do odwrócenia kolejności pól.
Uwaga (10): na razie tylko drzewo B+ i pełny tekst.
Uwaga (11): Indeksowanie R-Tree dostępne w wersji podstawowej z Lokalizatorem, ale niektóre funkcje wymagają wersji Personal Edition lub Enterprise Edition z opcją Spatial.
Możliwości bazy danych
Unia | Przecinać | Z wyjątkiem | Połączenia wewnętrzne | Połączenia zewnętrzne | Wewnętrzna selekcja | Łączenie złączeń | Plamy i CLOB | Wspólne wyrażenia tabelowe | Funkcje okienek | Zapytanie równoległe | Tabele w wersji systemowej | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
4. Wymiar | tak | tak | tak | tak | tak | Nie | Nie | tak | ? | ? | ? | ? |
ADABAS | tak | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Adaptive Server Enterprise | tak | ? | ? | tak | tak | tak | tak | tak | ? | ? | tak | ? |
Zaleta serwera bazy danych | tak | Nie | Nie | tak | tak | tak | tak | tak | ? | Nie | ? | ? |
Altibase | tak | tak | Tak, przez MINUS | tak | tak | tak | tak | tak | Nie | Nie | Nie | ? |
Apache Derby | tak | tak | tak | tak | tak | tak | ? | tak | Nie | Nie | ? | ? |
ClustrixDB | tak | Nie | Nie | tak | tak | tak | Nie | tak | tak | tak | tak | ? |
CUBRYD | tak | tak | tak | tak | tak | tak | tak | tak | Nie | tak | ? | ? |
DB2 | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak |
Wbudowana baza danych Empress | tak | tak | tak | tak | tak | tak | tak | tak | ? | ? | ? | ? |
EXASRozwiązanie | tak | tak | tak | tak | tak | tak | tak | Nie | tak | tak | tak | ? |
ognisty Ptak | tak | Nie | Nie | tak | tak | tak | tak | tak | tak | tak | ? | ? |
HSQLDB | tak | tak | tak | tak | tak | tak | tak | tak | tak | Nie | tak | ? |
H2 | tak | tak | tak | tak | tak | tak | Nie | tak | eksperymentalny | tak | ? | ? |
Dynamiczny serwer Informix | tak | tak | Tak, przez MINUS | tak | tak | tak | tak | tak | tak | tak | tak | ? |
Ingres | tak | Nie | Nie | tak | tak | tak | tak | tak | Nie | Nie | ? | ? |
InterBase | tak | ? | ? | tak | tak | ? | ? | tak | ? | ? | ? | ? |
RDBMS Linter SQL | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | Nie | Nie |
LucidDB | tak | tak | tak | tak | tak | tak | tak | Nie | ? | ? | ? | ? |
MariaDB | tak | 10.3+ | 10.3+ | tak | tak | tak | Nie | tak | tak | tak | Nie | tak |
MaxDB | tak | ? | ? | tak | tak | tak | Nie | tak | ? | ? | ? | ? |
Microsoft Access (JET) | tak | Nie | Nie | tak | tak | tak | Nie | tak | Nie | Nie | ? | ? |
Microsoft Visual Foxpro | tak | ? | ? | tak | tak | tak | ? | tak | ? | ? | ? | ? |
Microsoft SQL Server | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak |
Microsoft SQL Server Compact (wbudowana baza danych) | tak | Nie | Nie | tak | tak | ? | Nie | tak | Nie | Nie | ? | ? |
Mimer SQL | tak | tak | tak | tak | tak | tak | ? | tak | tak | Nie | Nie | ? |
MonetDB | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | Nie |
MySQL | tak | Nie | Nie | tak | tak | tak | Nie | tak | 8+ | 8+ | Nie | Nie |
OpenBase SQL | Nie | Nie | Nie | tak | tak | tak | tak | tak | ? | ? | ? | ? |
Wirtuoz OpenLink | tak | tak | tak | tak | tak | tak | ? | tak | ? | ? | tak | ? |
Wyrocznia | tak | tak | Tak, przez MINUS | tak | tak | tak | tak | tak | Tak 1 | tak | tak | tak |
Oracle Rdb | tak | tak | tak | tak | tak | tak | tak | tak | ? | ? | ? | ? |
Wszechobecny PSQL | tak | Nie | Nie | tak | tak | ? | ? | tak | Nie | Nie | Nie | ? |
Wielościany DBMS | tak | tak | tak | tak | tak | Nie | Nie | tak | Nie | Nie | Nie | ? |
PostgreSQL | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | Nie |
Menedżer bazy danych Raima | Nie | Nie | Nie | tak | tak | Nie | Nie | tak | Nie | Nie | Nie | ? |
Serwer RDM | tak | Nie | Nie | tak | tak | tak | Nie | tak | Nie | Nie | Nie | ? |
SAP HANA | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
solidDB | tak | tak | tak | tak | tak | tak | tak | tak | tak | Nie | Nie | ? |
SQL w dowolnym miejscu | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | ? |
SQLite | tak | tak | tak | tak | Tylko W LEWO | tak | Nie | tak | 3.8.3+ | 3.25+ | Nie | Nie |
SQream DB | Tylko WSZYSTKIE | Nie | Nie | tak | tak | tak | tak | Nie | tak | tak | Nie | ? |
Teradata | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | tak | ? |
Wszechświat | tak | tak | tak | tak | tak | tak | tak | Nie | Nie | Nie | ? | ? |
Unia | Przecinać | Z wyjątkiem | Połączenia wewnętrzne | Połączenia zewnętrzne | Wewnętrzna selekcja | Łączenie złączeń | Plamy i CLOB | Wspólne wyrażenia tabelowe | Funkcje okienek | Zapytanie równoległe | Tabele w wersji systemowej |
Uwaga (1): Rekurencyjne CTE wprowadzone w 11gR2 zastępują podobną konstrukcję o nazwie CONNECT BY.
Typy danych
Wpisz system | Liczba całkowita | zmiennoprzecinkowy | Dziesiętny | Strunowy | Dwójkowy | Data/godzina | Boole'a | Inne | |
---|---|---|---|---|---|---|---|---|---|
4. Wymiar | Statyczny | UUID (16-bitowy), SMALLINT (16-bitowy), INT (32-bitowy), BIGINT (64-bitowy), NUMERYCZNY (64-bitowy) | PRAWDZIWE, PŁYWAJĄCE | PRAWDZIWE, PŁYWAJĄCE | CLOB, TEKST, VARCHAR | BIT, BIT RÓŻNY, BLOB | CZAS TRWANIA, INTERWAŁ, ZNACZNIK CZASU | BOOLEAN | ZDJĘCIE |
Altibase | Statyczny | SMALLINT (16-bitowy), INTEGER (32-bitowy), BIGINT (64-bitowy) | REAL (32-bitowy), PODWÓJNY (64-bitowy) | DZIESIĘTNY, NUMERYCZNY, LICZBY, FLOAT | CHAR, VARCHAR, NCHAR, NVARCHAR, CLOB | BLOB, bajt, NIBBLE, BIT, VARBIT | DATA | GEOMETRIA | |
ClustrixDB | Statyczny | TINYINT (8-bitowy), SMALLINT (16-bitowy), MEDIUMINT (24-bitowy), INT (32-bitowy), BIGINT (64-bitowy) | FLOAT (32-bitowy), PODWÓJNY | DZIESIĘTNY | CHAR, BINARY, VARCHAR, VARBINARY, TEKST, TINYTEXT, MEDIUMTEXT, LONGTEXT | TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB | DATA CZAS, DATA, ZNACZNIK CZASU, ROK | BIT(1), BOOLEAN | ENUM, ZESTAW, |
CUBRYD | Statyczny | SMALLINT (16-bitowy), INTEGER (32-bitowy), BIGINT (64-bitowy) | FLOAT, REAL (32-bitowy), PODWÓJNY (64-bitowy) | DZIESIĘTNY, NUMERYCZNY | CHAR, VARCHAR, NCHAR, NVARCHAR, CLOB | KROPELKA | DATA, DATA, GODZINA, GODZINA, ZNACZNIK CZASU | FRAGMENT | MONETARY, BIT ZMIENNY, SET, MULTISET, SEKWENCJA, ENUM |
DB2 | ? | SMALLINT (16-bitowy), INTEGER (32-bitowy), BIGINT (64-bitowy) | DECFLOAT, REAL, DOUBLE | DZIESIĘTNY | CLOB, CHAR, VARCHAR | BINARNY, WARBINARNY, BLOB | DATA, CZAS, ZNACZNIK CZASOWY ZE STREFĄ CZASOWĄ, ZNACZNIK CZASOWY BEZ STREFY CZASOWEJ | BOOLEAN | XML, GRAFIKA, WARGRAFIKA, DBCLOB, ROWID |
Wbudowana baza danych Empress | Statyczny | TINYINT, SQL_TINYINT lub INTEGER8; SMALLINT, SQL_SMALLINT lub INTEGER16; INTEGER, INT, SQL_INTEGER lub INTEGER32; BIGINT, SQL_BIGINT lub INTEGER64 | REAL, SQL_REAL lub FLOAT32; PODWÓJNA PRECYZJA, SQL_DOUBLE lub FLOAT64; FLOAT lub SQL_FLOAT; WYPŁYWAĆ | DECIMAL, DEC, NUMERIC, SQL_DECIMAL lub SQL_NUMERIC; DOLAR | ZNAK, ECHARAKTER, RÓŻNORODNOŚĆ ZNAKU, ZNAK NARODOWY, RÓŻNORODNOŚĆ ZNAKU KRAJOWEGO, NLSCHARACTER, ZNAK DUŻY OBIEKT, TEKST, ZNAK NARODOWY DUŻY OBIEKT, NLSTEXT | DUŻY OBIEKT BINARNY lub BLOB; CIELSKO | DATA, EDATE, CZAS, ETIME, EPOCH_TIME, TIMESTAMP, MICROTIMESTAMP | BOOLEAN | SEKWENCJA 32, SEKWENCJA |
EXASRozwiązanie | Statyczny | MAŁY, MAŁY, CAŁKOWITY, DUŻY, | PRAWDZIWE, PŁYWAJĄCE, PODWÓJNE | DZIESIĘTNY, DZIENNY, NUMERYCZNY, LICZBOWY | CHAR, NCHAR, VARCHAR, VARCHAR2, NVARCHAR, NVARCHAR2, CLOB, NCLOB | Nie dotyczy | DATA, ZNACZNIK CZASU, INTERWAŁ | BOOL, BOOL | GEOMETRIA |
FileMaker | Statyczny | Nieobsługiwany | Nieobsługiwany | NUMER | TEKST | POJEMNIK | ZNAK CZASU | Nieobsługiwany | |
ognisty Ptak | ? | INT64, CAŁKOWITA, MAŁA | PODWÓJNE, PŁYWAJĄCE | DZIESIĘTNY, NUMERYCZNY, DZIESIĘTNY(18, 4), DZIESIĘTNY(10, 4) | BLOB, CHAR, CHAR(x) ZESTAW ZNAKÓW UNICODE_FSS, VARCHAR(x) ZESTAW ZNAKÓW UNICODE_FSS, VARCHAR | TEKST PODTYPU BLOB, BLOB | DATA, CZAS, ZNACZNIK CZASU (bez strefy czasowej) | BOOLEAN | TIMESTAMP, CHAR(38), typy zdefiniowane przez użytkownika (domeny) |
Wpisz system | Liczba całkowita | zmiennoprzecinkowy | Dziesiętny | Strunowy | Dwójkowy | Data/godzina | Boole'a | Inne | |
HSQLDB | Statyczny | TINYINT (8-bitowy), SMALLINT (16-bitowy), INTEGER (32-bitowy), BIGINT (64-bitowy) | PODWÓJNY (64-bitowy) | DZIESIĘTNY, NUMERYCZNY | CHAR, VARCHAR, LONGVARCHAR, CLOB | BINARY, WARBINARY, LONGVARBINARY, BLOB | DATA, CZAS, ZNACZNIK CZASU, INTERWAŁ | BOOLEAN | INNE (obiekt), BIT, BIT RÓŻNY, TABLICA |
Dynamiczny serwer Informix | Statyczny + UDT | SMALLINT (16-bitowy), INT (32-bitowy), INT8 (64-bitowy zastrzeżony), BIGINT (64-bitowy) | SMALLFLOAT (32-bitowy), FLOAT (64-bitowy) | DZIESIĘTNY (32 cyfry zmiennoprzecinkowe/stałe), PIENIĄDZE | CHAR, VARCHAR, NCHAR, NVARCHAR, LVARCHAR, CLOB, TEXT | TEKST, BAJT, BLOB, CLOB | DATA, DATA GODZINA, INTERWAŁ | BOOLEAN | ZESTAW, LISTA, MULTISET, WIERSZ, TIMESERIA, PRZESTRZENNY, GEODEZJA, JSON, BSON, TYPY ZDEFINIOWANE PRZEZ UŻYTKOWNIKA |
Ingres | Statyczny | TINYINT (8-bitowy), SMALLINT (16-bitowy), INTEGER (32-bitowy), BIGINT (64-bitowy) | FLOAT4 (32-bitowy), FLOAT (64-bitowy) | DZIESIĘTNY | C, CHAR, VARCHAR, LONG VARCHAR, NCHAR, NVARCHAR, LONG NVARCHAR, TEKST | bajt, WARBIT, DŁUGI WARBIT (BLOB) | DATA, ANSYDATE, INRESDATE, CZAS, ZNACZNIK CZASOWY, INTERWAŁ | Nie dotyczy | PIENIĄDZE, OBJECT_KEY, TABLE_KEY, TYPY DANYCH ZDEFINIOWANE PRZEZ UŻYTKOWNIKA (przez OME) |
RDBMS Linter SQL | Statyczny + Dynamiczny (w procedurach składowanych) | SMALLINT (16-bitowy), INTEGER (32-bitowy), BIGINT (64-bitowy) | REAL (32-bitowy), PODWÓJNY (64-bitowy) | DZIESIĘTNY, NUMERYCZNY | CHAR, VARCHAR, NCHAR, NVARCHAR, BLOB | BYTE, VARBYTE, BLOB | DATA | BOOLEAN | GEOMETRIA, PLIK ZEWNĘTRZNY |
MariaDB | Statyczny | TINYINT (8-bitowy), SMALLINT (16-bitowy), MEDIUMINT (24-bitowy), INT (32-bitowy), BIGINT (64-bitowy) | FLOAT (32-bitowy), PODWÓJNY (inaczej REAL) (64-bitowy) | DZIESIĘTNY | CHAR, BINARY, VARCHAR, VARBINARY, TEKST, TINYTEXT, MEDIUMTEXT, LONGTEXT | TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB | DATA CZAS, DATA, ZNACZNIK CZASU, ROK | BIT(1), BOOLEAN (aka BOOL) = synonim TINYINT | ENUM, SET, typy danych GIS (Geometria, Punkt, Krzywa, LineString, Powierzchnia, Wielokąt, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon) |
Microsoft SQL Server | Statyczny | MAŁY, MAŁY, WEWNĘTRZNY, WIELKI | PŁYWAJĄCY, PRAWDZIWY | NUMERYCZNY, DZIESIĘTNY, MAŁY PIENIĄDZE, PIENIĄDZE | CHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, NTEXT | BINARNY, VARBINARY, OBRAZ, FILESTREAM, FILETABLE | DATA, DATA GODZINA OFFSET, DATA GODZINA2, MAŁA DATA GODZINA, DATA GODZINA, GODZINA | FRAGMENT | CURSOR, TIMESTAMP, HIERARCHYID, UNIQUEIDENTIFIER, SQL_VARIANT, XML, TABLE, Geometria, Geografia, Niestandardowe typy danych .NET |
Microsoft SQL Server Compact (wbudowana baza danych) | Statyczny | MAŁY, MAŁY, WEWNĘTRZNY, WIELKI | PŁYWAJĄCY, PRAWDZIWY | NUMERYCZNE, DZIESIĘTNE, PIENIĄDZE | NCHAR, NVARCHAR, NTEXT | BINARNY, WARBINARNY, OBRAZOWY | DATA GODZINA | FRAGMENT | ZNACZNIK CZASOWY, WERSJA ROW, UNIKALNY IDENTYFIKATOR, TOŻSAMOŚĆ, ROWGUIDCOL |
Mimer SQL | Statyczny | MAŁE, INT, DUŻE, CAŁKOWITA (n) | PŁYWAJĄCY, REAL, PODWÓJNY, PŁYWAJĄCY(n) | NUMERYCZNY, DZIESIĘTNY | CHAR, VARCHAR, NCHAR, NVARCHAR, CLOB, NCLOB | BINARNY, WARBINARNY, BLOB | DATA, CZAS, ZNACZNIK CZASU, INTERWAŁ | BOOLEAN | DOMENY, TYPY ZDEFINIOWANE PRZEZ UŻYTKOWNIKA (w tym wstępnie zdefiniowane typy danych przestrzennych lokalizacja, szerokość, długość i współrzędna oraz UUID) |
MonetDB | Statyczny, rozszerzalny | TINYINT, SMALLINT, INT, INTEGER, BIGINT, HUGEINT, SERIAL, BIGSERIAL | FLOAT, FLOAT(n), REAL, PODWÓJNA, PODWÓJNA PRECYZJA | DZIESIĘTNY, NUMERYCZNY | CHAR, CHAR(n), VARCHAR(n), CLOB, CLOB(n), TEXT, STRING | BLOB, BLOB(n) | DATA, CZAS, CZAS ZE STREFĄ CZASOWĄ, ZNACZNIK CZASOWY, ZNACZNIK CZASOWY ZE STREFĄ CZASOWĄ, PRZERWA MIESIĄC, PRZERWA DZIEŃ, PRZEDZIAŁ SEKUNDA | BOOLEAN | JSON, JSON(n), URL, URL(n), INET, UUID, typy danych GIS (Geometria, Punkt, Krzywa, LineString, Powierzchnia, Wielokąt, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon), typy zdefiniowane przez użytkownika |
MySQL | Statyczny | TINYINT (8-bitowy), SMALLINT (16-bitowy), MEDIUMINT (24-bitowy), INT (32-bitowy), BIGINT (64-bitowy) | FLOAT (32-bitowy), PODWÓJNY (inaczej REAL) (64-bitowy) | DZIESIĘTNY | CHAR, BINARY, VARCHAR, VARBINARY, TEKST, TINYTEXT, MEDIUMTEXT, LONGTEXT | TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB | DATA CZAS, DATA, ZNACZNIK CZASU, ROK | BIT(1), BOOLEAN (aka BOOL) = synonim TINYINT | ENUM, SET, typy danych GIS (Geometria, Punkt, Krzywa, LineString, Powierzchnia, Wielokąt, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon) |
Wirtuoz OpenLink | Statyczny + Dynamiczny | CAŁKOWITA, CAŁKOWITA, MAŁA | REAL, PODWÓJNA PRECYZJA, FLOAT, FLOAT'('INTNUM')' | DECIMAL, DECIMAL'('INTNUM')', DECIMAL'('INTNUM', 'INTNUM')', NUMERIC, NUMERIC'('INTNUM')', NUMERIC'('INTNUM', 'INTNUM')' | CHARACTER, CHAR'('INTNUM')', VARCHAR, VARCHAR'('INTNUM')', NVARCHAR, NVARCHAR'('INTNUM')' | KROPELKA | CZAS, DATA, GODZINA, GODZINA, DATA | nie dotyczy | DOWOLNY, REFERENCYJNY (IRI, URI), UDT (Typ zdefiniowany przez użytkownika), GEOMETRIA (BOX, BOX2D, BOX3D, BOXM, BOXZ, BOXZM, CIRCULARSTRING, COMPOUNDCURVE, CURVEPOLYGON, EMPTY, GEOMETRYCOLLECTION, GEOMETRYCOLLECTIONCELLECTIONM, GEOMETRYCOLLECTION COLLECTIONZ, GEOMETRY LINESTRINGZ, LINESTRINGZM, MULTICURVE, MULTILINESTRING, MULTILINESTRINGM, MULTILINESTRINGZ, MULTILINESTRINGZM, MULTIPOINT, MULTIPOINTM, MULTIPOINTZ, MULTIPOINTZM, MULTIPOLYGON, MULTIPOLYGONM, MULTIPOLYGONZ, MULTIPOLYGONZM, POINT, POLYZGONZ, POINT, POLYZGON, POINT, RING, RINGM, RINGZ, RINGZM) |
Wpisz system | Liczba całkowita | zmiennoprzecinkowy | Dziesiętny | Strunowy | Dwójkowy | Data/godzina | Boole'a | Inne | |
Wyrocznia | Statyczne + Dynamiczne (poprzez ANYDATA) | NUMER | BINARY_FLOAT, BINARY_DOUBLE | NUMER | CHAR, VARCHAR2, CLOB, NCLOB, NVARCHAR2, NCHAR, LONG (przestarzałe) | BLOB, RAW, LONG RAW (przestarzałe), BFILE | DATA, ZNACZNIK CZASOWY (z/bez STREFY CZASOWEJ), INTERWAŁ | Nie dotyczy | PRZESTRZENNY, OBRAZ, AUDIO, WIDEO, DICOM, XMLType, UDT, JSON |
Wszechobecny PSQL | Statyczny | BIGINT, INTEGER, SMALLINT, TINYINT, UBIGINT, UINTEGER, USMALLINT, UTINYINT | BFLOAT4, BFLOAT8, PODWÓJNY, PŁYWAJĄCY | DZIESIĘTNY, NUMERYCZNY, NUMERYCZNY, NUMERYCZNY, NUMERYCZNYLB, NUMERYCZNYLS, NUMERYCZNY TB, NUMERYCZNY | CHAR, LONGVARCHAR, VARCHAR | BINARNY, LONGVARBINARY, VARBINARY | DATA, DATA, GODZINA, GODZINA | FRAGMENT | WALUTA, TOŻSAMOŚĆ, MAŁA TOŻSAMOŚĆ, ZNACZNIK CZASOWY, UNIKALNY IDENTYFIKATOR |
Wielościany | Statyczny | INTEGER8 (8-bitów), INTEGER (16-bitów), INTEGER (32-bitów), INTEGER64 (64-bitów) | FLOAT32 (32-bitowy), FLOAT (inaczej REAL; 64-bitowy) | Nie dotyczy | VARCHAR, DUŻY VARCHAR (znany również jako DUŻY OBIEKT POSTACI) | DUŻY BINARNY (znany również jako DUŻY OBIEKT BINARNY) | DATA GODZINA | BOOLEAN | Nie dotyczy |
PostgreSQL | Statyczny | SMALLINT (16-bitowy), INTEGER (32-bitowy), BIGINT (64-bitowy) | REAL (32-bit), PODWÓJNA PRECYZJA (64-bit) | DZIESIĘTNY, NUMERYCZNY | CHAR, VARCHAR, TEKST | BYTEA | DATA, CZAS (ze/bez STREFY CZASOWEJ), ZNACZNIK CZASOWY (z/bez STREFY CZASOWEJ), INTERWAŁ | BOOLEAN | ENUM, PUNKT, LINIA, LSEG, BOX, ŚCIEŻKA, POLYGON, CIRCLE, CIDR, INET, MACADDR, BIT, UUID, XML, JSON, JSONB, tablice, kompozyty, zakresy, niestandardowe |
Menedżer bazy danych Raima | Statyczny | tinyint, smallint, liczba całkowita, bigint | prawdziwy, pływający, podwójny | Nie dotyczy | char, varchar, wchar, varwchar, długi varchar, długi varwchar | binarny, varbinary, długi varbinary | data, godzina, znacznik czasu | fragment | Nie dotyczy |
Serwer RDM | Statyczny | tinyint, smallint, liczba całkowita, bigint | prawdziwy, pływający, podwójny | dziesiętny, numeryczny | char, varchar, wchar, varwchar, długi varchar, długi varwchar | binarny, varbinary, długi varbinary | data, godzina, znacznik czasu | fragment | rowid |
SAP HANA | Statyczny | MAŁY, MAŁY, CAŁKOWITY, WIELKI | MAŁY DECIMAL, REAL, PODWÓJNY, PŁYWAJĄCY, PŁYWAJĄCY (n) | DZIESIĘTNY | VARCHAR, NVARCHAR, ALPHANUM, SKRÓT | VARBINARY, BINTEXT, BLOB | DATA, CZAS, DRUGA DRUGA, ZNACZNIK CZASU | BOOLEAN | CLOB, NCLOB, TEKST, ARRAY, ST_GEOMETRY, ST_POINT, ST_MULTIPOINT, ST_LINESTRING, ST_MULTILINESTRING, ST_POLYGON, ST_MULTIPOLYGON, ST_GEOMETRYCOLLECTION, ST_CIRCULARSTRING |
solidDB | Statyczny | TINYINT (8-bitowy), SMALLINT (16-bitowy), INTEGER (32-bitowy), BIGINT (64-bitowy) | REAL (32-bit), PODWÓJNY (64-bit), FLOAT (64-bit) | DZIESIĘTNY, NUMERYCZNY (51 cyfr) | CHAR, VARCHAR, LONG VARCHAR, WCHAR, WVARCHAR, LONG WVARCHAR | BINARNY, WARBINARY, DŁUGI WARBINARY | DATA, GODZINA, ZNACZNIK CZASU | ||
SQLite | Dynamiczny | CAŁKOWITA (64-bitowa) | REAL (aka FLOAT, DOUBLE) (64-bitowy) | Nie dotyczy | TEKST (znany również jako CHAR, CLOB) | KROPELKA | Nie dotyczy | Nie dotyczy | Nie dotyczy |
SQream DB | Statyczny | TINYINT (8-bitowy), SMALLINT (16-bitowy), INTEGER (32-bitowy), BIGINT (64-bitowy) | REAL (32-bitowy), PODWÓJNY (aka FLOAT) (64-bitowy) | Nie dotyczy | CHAR, VARCHAR, NVARCHAR | Nie dotyczy | DATA, DATA CZAS (aka TIMESTAMP) | BOOL | Nie dotyczy |
Wpisz system | Liczba całkowita | zmiennoprzecinkowy | Dziesiętny | Strunowy | Dwójkowy | Data/godzina | Boole'a | Inne | |
Teradata | Statyczny | BYTEINT (8-bitowy), SMALLINT (16-bitowy), INTEGER (32-bitowy), BIGINT (64-bitowy) | FLOAT (64-bitowy) | DZIESIĘTNY, NUMERYCZNY (38 cyfr) | CHAR, VARCHAR, CLOB | BYTE, VARBYTE, BLOB | DATA, CZAS, ZNACZNIK CZASOWY (bez STREFY CZASOWEJ) | OKRES, INTERWAŁ, GEOMETRIA, XML, JSON, UDT (typ zdefiniowany przez użytkownika) | |
UniData | Dynamiczny | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy |
Wszechświat | Dynamiczny | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy | Nie dotyczy |
Wpisz system | Liczba całkowita | zmiennoprzecinkowy | Dziesiętny | Strunowy | Dwójkowy | Data/godzina | Boole'a | Inne |
Inne przedmioty
Informacje o tym, jakie inne obiekty są obsługiwane natywnie.
Domena danych | Kursor | Cyngiel | Funkcja 1 | Procedura 1 | Procedura zewnętrzna 1 | |
---|---|---|---|---|---|---|
4. Wymiar | tak | Nie | tak | tak | tak | tak |
ADABAS | ? | tak | ? | Tak? | Tak? | tak |
Adaptive Server Enterprise | tak | tak | tak | tak | tak | tak |
Zaleta serwera bazy danych | tak | tak | tak | tak | tak | tak |
Altibase | tak | tak | tak | tak | tak | tak |
Apache Derby | Nie | tak | tak | Tak 2 | Tak 2 | Tak 2 |
ClustrixDB | Nie | tak | Nie | tak | tak | tak |
CUBRYD | tak | tak | tak | tak | Tak 2 | tak |
Wbudowana baza danych Empress | Tak przez RANGE CHECK | tak | tak | tak | tak | tak |
EXASRozwiązanie | tak | Nie | Nie | tak | tak | tak |
DB2 | Tak przez SPRAWDŹ OGRANICZENIE | tak | tak | tak | tak | tak |
ognisty Ptak | tak | tak | tak | tak | tak | tak |
HSQLDB | tak | Nie | tak | tak | tak | tak |
H2 | tak | Nie | Tak 2 | Tak 2 | Tak 2 | tak |
Dynamiczny serwer Informix | Tak przez CZEK | tak | tak | tak | tak | Tak 5 |
Ingres | tak | tak | tak | tak | tak | tak |
InterBase | tak | tak | tak | tak | tak | tak |
RDBMS Linter SQL | Nie | tak | tak | tak | tak | Nie |
LucidDB | Nie | tak | Nie | Tak 2 | Tak 2 | Tak 2 |
MariaDB | tak | tak | tak | tak | tak | tak |
MaxDB | tak | tak | tak | tak | tak | ? |
Microsoft Access (JET) | tak | Nie | Nie | Nie | Tak, ale pojedyncza operacja DML/DDL | tak |
Microsoft Visual Foxpro | Nie | tak | tak | tak | tak | tak |
Microsoft SQL Server | tak | tak | tak | tak | tak | tak |
Microsoft SQL Server Compact (wbudowana baza danych) | Nie | tak | Nie | Nie | Nie | Nie |
Mimer SQL | tak | tak | tak | tak | tak | Nie |
MonetDB | Nie | Nie | tak | tak | tak | tak |
MySQL | Nie 3 | tak | tak | tak | tak | tak |
OpenBase SQL | tak | tak | tak | tak | tak | tak |
Wyrocznia | tak | tak | tak | tak | tak | tak |
Oracle Rdb | tak | tak | tak | tak | tak | tak |
Wirtuoz OpenLink | tak | tak | tak | tak | tak | tak |
Wszechobecny PSQL | tak | tak | tak | tak | tak | Nie |
Wielościany DBMS | Nie | Nie | tak | tak | tak | tak |
PostgreSQL | tak | tak | tak | tak | tak | tak |
Menedżer bazy danych Raima | Nie | tak | Nie | Nie | tak | tak |
Serwer RDM | Nie | tak | tak | Nie | tak | tak |
SAP HANA | ? | ? | ? | ? | ? | ? |
solidDB | tak | tak | tak | tak | tak | tak |
SQL w dowolnym miejscu | tak | tak | tak | tak | tak | tak |
SQLite | Nie | Nie | tak | Nie | Nie | tak |
Teradata | Nie | tak | tak | tak | tak | tak |
UniData | Nie | Nie | tak | tak | tak | tak |
Wszechświat | Nie | Nie | tak | tak | tak | tak |
Domena danych | Kursor | Cyngiel | Funkcja 1 | Procedura 1 | Procedura zewnętrzna 1 |
Uwaga (1): Zarówno funkcja, jak i procedura odnoszą się do procedur wewnętrznych napisanych w SQL i/lub języku proceduralnym, takim jak PL/SQL . Procedura zewnętrzna odnosi się do procedury napisanej w językach hosta, takich jak C, Java, Cobol, itp. „ Procedura składowana ” jest powszechnie używanym terminem dla tych typów procedur. Jednak jego definicja różni się u różnych dostawców baz danych.
Uwaga (2): W Derby, H2, LucidDB i CUBRID użytkownicy kodują funkcje i procedury w Javie.
Uwaga (3): istnieje typ danych ENUM. Klauzula CHECK jest analizowana, ale nie jest wymuszana w czasie wykonywania.
Uwaga (5): Informix obsługuje funkcje zewnętrzne napisane w językach Java, C i C++.
Partycjonowanie
Informacje o tym, jakie metody partycjonowania są obsługiwane natywnie.
Zasięg | Haszysz | Złożony (zakres + hasz) | Lista | Wyrażenie | Okrągły Robin | |
---|---|---|---|---|---|---|
4. Wymiar | ? | ? | ? | ? | ? | ? |
ADABAS | ? | ? | ? | ? | ? | ? |
Adaptive Server Enterprise | tak | tak | Nie | tak | ? | ? |
Zaleta serwera bazy danych | Nie | Nie | Nie | Nie | ? | ? |
Altibase | tak | tak | Nie | tak | ? | ? |
Apache Derby | Nie | Nie | Nie | Nie | ? | ? |
ClustrixDB | tak | Nie | Nie | Nie | Nie | ? |
CUBRYD | tak | tak | Nie | tak | ? | ? |
IBM DB2 | tak | tak | tak | tak | tak | ? |
Wbudowana baza danych Empress | Nie | Nie | Nie | Nie | ? | ? |
EXASRozwiązanie | Nie | tak | Nie | Nie | Nie | ? |
ognisty Ptak | Nie | Nie | Nie | Nie | ? | ? |
HSQLDB | Nie | Nie | Nie | Nie | ? | ? |
H2 | Nie | Nie | Nie | Nie | ? | ? |
Dynamiczny serwer Informix | tak | tak | tak | tak | tak | tak |
Ingres | tak | tak | tak | tak | ? | ? |
InterBase | Nie | Nie | Nie | Nie | ? | ? |
RDBMS Linter SQL | Nie | Nie | Nie | Nie | Nie | ? |
MariaDB | tak | tak | tak | tak | ? | ? |
MaxDB | Nie | Nie | Nie | Nie | ? | ? |
Microsoft Access (JET) | Nie | Nie | Nie | Nie | ? | ? |
Microsoft Visual Foxpro | Nie | Nie | Nie | Nie | ? | ? |
Microsoft SQL Server | tak | przez kolumnę obliczeniową | przez kolumnę obliczeniową | tak | przez kolumnę obliczeniową | ? |
Microsoft SQL Server Compact (wbudowana baza danych) | Nie | Nie | Nie | Nie | ? | ? |
Mimer SQL | Nie | Nie | Nie | Nie | Nie | ? |
MonetDB | tak | Nie | Nie | Nie | tak | ? |
MySQL | tak | tak | tak | tak | ? | ? |
OpenBase SQL | ? | ? | ? | ? | ? | ? |
Wyrocznia | tak | tak | tak | tak | za pośrednictwem wirtualnych kolumn | ? |
Oracle Rdb | tak | tak | ? | ? | ? | ? |
Wirtuoz OpenLink | tak | tak | tak | tak | tak | ? |
Wszechobecny PSQL | Nie | Nie | Nie | Nie | Nie | ? |
Wielościany DBMS | Nie | Nie | Nie | Nie | Nie | ? |
PostgreSQL | tak | tak | tak | tak | tak | ? |
Menedżer bazy danych Raima | Tak 1 | Tak 1 | Tak 1 | Nie | ? | ? |
Serwer RDM | Nie | Nie | Nie | Nie | ? | ? |
SAP HANA | tak | tak | tak | tak | tak | ? |
solidDB | tak | Nie | Nie | Nie | ? | ? |
SQL w dowolnym miejscu | Nie | Nie | Nie | Nie | ? | ? |
SQLite | Nie | Nie | Nie | Nie | ? | ? |
Teradata | tak | tak | tak | tak | ? | ? |
Wszechświat | tak | tak | tak | tak | ? | ? |
Zasięg | Haszysz | Złożony (zakres + hasz) | Lista | Wyrażenie | Okrągły Robin |
Uwaga (1): Raima Database Manager 14.0 wymaga, aby programy użytkowe podczas dodawania danych wybierały prawidłową partycję (przy użyciu technik zakresów, skrótów lub technik kompozytowych), alefunkcja unii baz danych umożliwia odczytywanie wszystkich partycji jako pojedynczej bazy danych.
Kontrola dostępu
Informacje o funkcjonalnościach kontroli dostępu.
Natywne szyfrowanie sieci 1 | Ochrona przed brutalną siłą | Kompatybilność katalogu korporacyjnego | Zasady złożoności hasła 2 | Dostęp do poprawek 3 | Biegnij nieuprzywilejowany 4 | Rewizja | Limit zasobów | Rozdział obowiązków ( RBAC ) 5 | Certyfikacja bezpieczeństwa | Kontrola dostępu oparta na atrybutach (ABAC) | |
---|---|---|---|---|---|---|---|---|---|---|---|
4D | Tak (z SSL) | ? | tak | ? | tak | tak | ? | ? | ? | ? | ? |
Adaptive Server Enterprise | Tak (opcjonalnie; do zapłaty) | tak | Tak (opcjonalnie?) | tak | Częściowa (konieczność rejestracji; zależy od produktu) | tak | tak | tak | tak | Tak (EAL4+ 1 ) | ? |
Zaleta serwera bazy danych | tak | Nie | Nie | Nie | tak | tak | Nie | Nie | tak | ? | ? |
DB2 | tak | ? | Tak (LDAP, Kerberos...) | tak | ? | tak | tak | tak | tak | Tak (EAL4+ 6 ) | ? |
Wbudowana baza danych Empress | ? | ? | Nie | Nie | tak | tak | tak | Nie | tak | Nie | ? |
EXASRozwiązanie | Nie | Nie | Tak (LDAP) | Nie | tak | tak | tak | tak | tak | Nie | ? |
ognisty Ptak | tak | tak | Tak (zaufane uwierzytelnianie systemu Windows) | Tak (przez niestandardową wtyczkę) | Tak (bez strony bezpieczeństwa) | tak | tak | tak | Nie 7 | ? | ? |
HSQLDB | tak | Nie | tak | tak | tak | tak | Nie | Nie | tak | Nie | ? |
H2 | tak | tak | ? | Nie | ? | tak | ? | tak | tak | Nie | ? |
Dynamiczny serwer Informix | tak | ? | Tak 10 | ? 10 | tak | tak | tak | tak | tak | ? | tak |
RDBMS Linter SQL | Tak (z SSL) | tak | tak | Tak (tylko długość) | tak | tak | tak | tak | tak | tak | tak |
MariaDB | Tak (SSL) | Nie | Tak (w wersji 5.2, ale nie na serwerach Windows) | tak | tak | tak | ? | ? | ? 8 | Nie | ? |
Microsoft SQL Server | tak | ? | Tak (Microsoft Active Directory) | tak | tak | tak | Tak (od 2008) | tak | tak | Tak (EAL4+ 11 ) | ? |
Microsoft SQL Server Compact (wbudowana baza danych) | Nie (nie dotyczy, tylko uprawnienia do plików) | Nie (nie dotyczy) | Nie (nie dotyczy) | Nie (nie dotyczy) | tak | Tak (dostęp do plików) | tak | tak | Nie | ? | ? |
Mimer SQL | tak | ? | ? | ? | tak | Tak (w zależności od systemu operacyjnego) | tak | ? | tak | ? | tak |
MySQL | Tak (SSL z 4.0) | Nie | Tak (z 5.5, ale tylko w wersji komercyjnej) | Nie | Częściowo (bez strony bezpieczeństwa) | tak | ? | ? | ? 8 | tak | ? |
OpenBase SQL | tak | ? | Tak (otwarty katalog, LDAP) | Nie | ? | ? | ? | ? | ? | ? | ? |
Wirtuoz OpenLink | tak | tak | tak | Tak (opcjonalnie) | Tak (opcjonalnie) | tak | Tak (opcjonalnie) | Tak (opcjonalnie) | tak | Nie | Tak (opcjonalnie) |
Wyrocznia | tak | tak | tak | tak | ? | tak | tak | tak | tak | Tak (EAL2 1 ) | ? |
Wszechobecny PSQL | tak | ? | Nie | Nie | tak | tak | Tak 12 | Nie | Nie | Nie | ? |
Wielościany DBMS | Tak (z SSL. Opcjonalnie) | Nie | Nie | Nie | Nie | tak | Tak 13 | tak | Tak 13 | Nie | ? |
PostgreSQL | tak | tak | Tak (LDAP, Kerberos... 9 ) | Tak (z modułem sprawdzania hasła) | tak | tak | Tak (z rozszerzeniem pgaudit) | tak | tak | Tak (EAL2+ 1 ) | ? |
Menedżer bazy danych Raima | Nie | Nie | Nie | Nie | Nie | tak | Nie | Nie | Nie | Nie | ? |
Serwer RDM | tak | Nie | Nie | Nie | Nie | tak | tak | Nie | tak | Nie | ? |
SAP HANA | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
solidDB | Nie | Nie | tak | Nie | Nie | tak | tak | Nie | Nie | Nie | Nie |
SQL w dowolnym miejscu | tak | ? | Tak (Kerber) | tak | ? | tak | tak | Nie | tak | Tak (EAL2+ 1 jako Adaptive Server Anywhere) | ? |
SQLite | Nie (nie dotyczy, tylko uprawnienia do plików) | Nie (nie dotyczy) | Nie (nie dotyczy) | Nie (nie dotyczy) | Częściowo (bez strony bezpieczeństwa) | Tak (dostęp do plików) | tak | tak | Nie | Nie | ? |
Teradata | tak | Nie | Tak (LDAP, Kerberos...) | tak | ? | tak | tak | tak | tak | tak | tak |
Natywne szyfrowanie sieci 1 | Ochrona przed brutalną siłą | Kompatybilność katalogu korporacyjnego | Zasady złożoności hasła 2 | Dostęp do poprawek 3 | Biegnij nieuprzywilejowany 4 | Rewizja | Limit zasobów | Rozdział obowiązków ( RBAC ) 5 | Certyfikacja bezpieczeństwa | Kontrola dostępu oparta na atrybutach (ABAC) |
Uwaga (1): Ruch sieciowy może być przesyłany w bezpieczny sposób (nie w postaci zwykłego tekstu, ogólnie szyfrowanie SSL). Dokładne, czy opcja jest domyślna, dołączona opcja lub dodatkowe moduły do kupienia.
Uwaga (2): Dostępne są opcje, aby ustawić minimalny rozmiar hasła, uwzględniając złożoność, taką jak obecność cyfr lub znaków specjalnych.
Uwaga (3): Jak uzyskać aktualizacje zabezpieczeń? Czy jest to bezpłatny dostęp, czy potrzebujesz loginu czy do zapłaty? Czy istnieje łatwy dostęp przez portal WWW/FTP lub kanał RSS, czy tylko w trybie offline (poczta CD-ROM, telefon).
Uwaga (4): Czy proces bazy danych działa jako root/administrator lub użytkownik nieuprzywilejowany? Co to jest konfiguracja domyślna?
Uwaga (5): Czy istnieje oddzielny użytkownik do zarządzania operacjami specjalnymi, takimi jak tworzenie kopii zapasowej (tylko uprawnienia do zrzutu/przywracania), kierownik ds. bezpieczeństwa (audyt), administrator (dodawanie użytkownika/tworzenie bazy danych) itp.? Czy jest to ustawienie domyślne czy opcjonalne?
Uwaga (6): Lista produktów z certyfikatem Common Criteria.
Uwaga (7): Wydaje się, że FirebirdSQL ma tylko użytkownika SYSDBA i właściciela bazy danych. Nie ma oddzielnych ról dla operatora kopii zapasowej i administratora bezpieczeństwa.
Uwaga (8): Użytkownik może zdefiniować dedykowanego użytkownika kopii zapasowej, ale nic szczególnego w domyślnej instalacji.
Uwaga (9): Metody uwierzytelniania.
Uwaga (10): Informix Dynamic Server obsługuje PAM i inne konfigurowalne uwierzytelnianie. Domyślnie używa uwierzytelniania systemu operacyjnego.
Uwaga (11): Metody uwierzytelniania.
Uwaga (12): Z wykorzystaniem Pervasive AuditMaster.
Uwaga (13): Zabezpieczenia oparte na użytkownikach są opcjonalne w Polyhedra, ale po włączeniu można je rozszerzyć do modelu opartego na rolach z inspekcją.
Bazy danych a schematy (terminologia)
Specyfikacja SQL definiuje, czym jest „schemat SQL”; jednak bazy danych implementują to inaczej. Aby zwiększyć to zamieszanie, funkcjonalność może pokrywać się z funkcjonalnością nadrzędnej bazy danych. Schemat SQL to po prostu przestrzeń nazw w bazie danych; rzeczy w tej przestrzeni nazw są adresowane za pomocą operatora członkowskiego kropka " .
". To wydaje się być uniwersalne wśród wszystkich wdrożeń.
Prawdziwa w pełni kwalifikowana kwerenda (baza danych, schemat i tabela) jest zilustrowana w następujący sposób:SELECT * FROM database.schema.table
Zarówno schemat, jak i baza danych mogą służyć do oddzielenia jednej tabeli „foo” od innej tabeli o podobnej nazwie „foo”. Poniżej znajduje się pseudokod:
-
SELECT * FROM database1.foo
vs.SELECT * FROM database2.foo
(brak wyraźnego schematu między bazą danych a tabelą) -
SELECT * FROM [database1.]default.foo
vs.SELECT * FROM [database1.]alternate.foo
(bez wyraźnego prefiksu bazy danych)
Powstający problem polega na tym, że dawni użytkownicy MySQL będą tworzyć wiele baz danych dla jednego projektu. W tym kontekście bazy danych MySQL działają analogicznie do schematów PostgreSQL, ponieważ w PostgreSQL brakuje gotowej funkcjonalności między bazami danych, którą posiada MySQL. I odwrotnie, PostgreSQL zastosował więcej specyfikacji implementujących cross-table, cross-schema, a następnie pozostawił miejsce na przyszłe funkcje cross-database.
MySQL aliasy schematu z bazą danych za kulisami, takie jak CREATE SCHEMA
i CREATE DATABASE
są analogami. Można zatem powiedzieć, że MySQL zaimplementował funkcjonalność między bazami danych, całkowicie pominął funkcjonalność schematu i dostarczył podobną funkcjonalność do implementacji bazy danych. Podsumowując, PostgreSQL w pełni obsługuje schematy, ale brakuje mu pewnych funkcji, jakie MySQL ma z bazami danych, podczas gdy MySQL nie próbuje nawet wspierać standardowych schematów.
Oracle ma swój własny spin, w którym tworzenie użytkownika jest równoznaczne z tworzeniem schematu. W ten sposób administrator bazy danych może utworzyć użytkownika o nazwie PROJECT, a następnie utworzyć tabelę PROJECT.TABLE. Użytkownicy mogą istnieć bez obiektów schematu, ale obiekt jest zawsze powiązany z właścicielem (chociaż ten właściciel może nie mieć uprawnień do łączenia się z bazą danych). Dzięki architekturze „shared-everything” Oracle RAC ta sama baza danych może być otwierana przez wiele serwerów jednocześnie. Jest to niezależne od replikacji, która może być również wykorzystywana, dzięki czemu dane są kopiowane do użytku przez różne serwery. W implementacji Oracle „baza danych” jest zbiorem plików, które zawierają dane, podczas gdy „instancja” jest zbiorem procesów (i pamięci), przez które uzyskuje się dostęp do bazy danych.
Informix obsługuje wiele baz danych w instancji serwera, takiej jak MySQL. Obsługuje CREATE SCHEMA
składnię jako sposób grupowania instrukcji DDL w jedną jednostkę, tworząc wszystkie obiekty utworzone jako część schematu jako jeden właściciel. Informix obsługuje tryb bazy danych zwany trybem ANSI, który obsługuje tworzenie obiektów o tej samej nazwie, ale należących do różnych użytkowników.
PostgreSQL i niektóre inne bazy danych obsługują schematy obce, co oznacza możliwość importowania schematów z innych serwerów zgodnie z definicją w ISO/IEC 9075-9 (opublikowaną jako część SQL:2008 ). Wygląda to jak każdy inny schemat w bazie danych zgodnie ze specyfikacją SQL podczas uzyskiwania dostępu do danych przechowywanych w innej bazie danych lub innej instancji serwera. Import może być wykonany jako cały schemat obcy lub tylko niektóre tabele należące do tego schematu obcego. Podczas gdy wsparcie dla normy ISO/IEC 9075-9 wypełnia lukę między dwiema konkurującymi filozofiami otaczającymi schematy, MySQL i Informix utrzymują niejawne powiązania między bazami danych, podczas gdy ISO/IEC 9075-9 wymaga, aby wszelkie takie powiązania miały wyraźny charakter.
Zobacz też
- System zarządzania relacyjną bazą danych (obejmuje dane dotyczące udziału w rynku)
- Lista systemów zarządzania relacyjnymi bazami danych
- Porównanie systemów zarządzania obiektowo-relacyjnymi bazami danych
- Porównanie narzędzi bazodanowych
- Zgodność z SQL
- Obiektowa baza danych – niektóre z nich posiadają interfejsy relacyjne (SQL/ODBC).
- IBM Business System 12 – historyczny RDBMS i powiązany język zapytań.
Bibliografia
Zewnętrzne linki
- Porównanie różnych implementacji SQL ze standardami SQL . Obejmuje Oracle, DB2, Microsoft SQL Server, MySQL i PostgreSQL. (8 czerwca 2007)
- Standard SQL92
- Porównanie DMBS według SQL Workbench