Usporedba sustava za upravljanje relacijskim bazama podataka
U sljedećim tablicama uspoređene su opći i tehnički podatci za brojne sustave za upravljanje relacijskom bazom podataka. Molimo pogledajte pojedinačne proizvode te članke za dodatne informacije. Ovaj članak nije all-inclusive ili nužno up-to-date. Ako nije drugačije navedeno u napomene, usporedbe se temelje na stabilnim verzijama bez ikakvih dodataka, ekstenzija ili vanjskih programa.
Operacijski sustavi koji podržavaju RDBMS određenog proizvođača.
Windows | Mac OS X | Linux | BSD | UNIX | AmigaOS | Symbian | z/OS 1 | |
---|---|---|---|---|---|---|---|---|
4th Dimension | Da | Da | Ne | Ne | Ne | Ne | Ne | Ne |
ADABAS | Da | Ne | Da | Ne | Da | Ne | Ne | Da |
Adaptive Server Enterprise | Da | Da | Da | Da | Da | Ne | Ne | Ne |
Advantage Database Server | Da | Ne | Da | Ne | Ne | Ne | Ne | Ne |
Altibase | Da | Ne | Da | Ne | Da | Ne | Ne | Ne |
Apache Derby 2 | Da | Da | Da | Da | Da | Ne | Ne | Da |
Asql | Da | Da | Da | Da | Da | Možda | Možda | Možda |
DataCom | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Da |
Datawasp | Da | Da | Da | Da | Da | Da | Da | |
DB2 5 | Da | Ne | Da | Ne | Da | Ne | Ne | Da |
Firebird | Da | Da | Da | Da | Da | Ne | Ne | Možda |
HSQLDB 2 | Da | Da | Da | Da | Da | Ne | Ne | Da |
H2 2 | Da | Da | Da | Da | Da | Ne | Ne | Možda |
FileMaker | Da | Da | Ne | Ne | Ne | Ne | Ne | Ne |
Informix | Da | Da | Da | Da | Da | Ne | Ne | Ne |
Ingres | Da | Da | Da | Da | Da | Ne | Ne | Možda |
InterBase | Da | Da | Da | Ne | Da (Solaris) | Ne | Ne | Ne |
LucidDB | Da | Ne | Da | Ne | Ne | Ne | Ne | Ne |
MaxDB | Da | Ne | Da | Ne | Da | Ne | Ne | Možda |
Microsoft Access | Da | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Microsoft Visual Foxpro | Da | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Microsoft SQL Server | Da | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
MonetDB | Da | Da | Da | Ne | Da | Ne | Ne | Ne |
MySQL | Da | Da | Da | Da | Da | Da | Da | Možda |
Omnis Studio | Da | Da | Da | Ne | Ne | Ne | Ne | Ne |
OpenBase SQL | Da | Da | Da | Da | Da | Ne | Ne | Ne |
Oracle 4 | Da | Da | Da | Ne | Da | Ne | Ne | Da |
Oracle Rdb 3 | Ne | Ne | Ne | Ne | Ne | Ne | Ne | |
OpenEdge | Da | Ne | Da | Ne | Da | Ne | Ne | Ne |
OpenLink Virtuoso | Da | Da | Da | Da | Da | Ne | Ne | Da |
Pervasive PSQL | Da | Da (samo OEM) | Da | Ne | Ne | Ne | Ne | Ne |
Polyhedra DBMS | Da | Ne | Da | Ne | Da | Ne | Ne | Ne |
PostgreSQL | Da | Da | Da | Da | Da | Da | Ne | Ne |
Pyrrho DBMS | Da (.NET) | Ne | Da (Mono) | Ne | Ne | Ne | Ne | Ne |
RBase | Da | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
RDM Embedded | Da | Da | Da | Da | Da | Ne | Ne | Ne |
RDM Server | Da | Da | Da | Da | Da | Ne | Ne | Ne |
ScimoreDB | Da | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
SmallSQL 2 | Da | Da | Da | Da | Da | Ne | Ne | Ne |
SQL Anywhere | Da | Da | Da | Ne | Da | Ne | Ne | Ne |
SQLBase | Da | Ne | Da | Ne | Ne | Ne | Ne | Ne |
SQLite | Da | Da | Da | Da | Da | Da | Da | Možda |
Superbase | Da | Ne | Ne | Ne | Ne | Da | Ne | Ne |
Teradata | Da | Ne | Da | Ne | Da | Ne | Ne | Ne |
Valentina | Da | Da | Da | Ne | Ne | Ne | Ne | Ne |
Napomena (1): Open source baze podataka na popisu kompatibilnog UNIX-vjerojatno će kompajlirati i pokrenuti pod z / OS je izgrađen-in UNIX System Services (USS) podsustav. Većina baza podataka na popisu kao linux-kompatibilan može izvoditi usporedo z / OS na istom poslužitelju pomoću Linux na zSeries.
Napomena (2): Dostupnost baze podataka ovisi o Java Virtual Machine, a ne od operacijskog sustava
Napomena (3): Oracle Rdb je izvorno razvijen od DEC, i radi na OpenVMS
Napomena (4):Oracle database 11g se također pokreće na OpenVMS, HP/UX i AIX. Mac OS X je ograničen s 10g na PowerPC. 10g također podržava BS2000/OSD i z/OS (31-bit), ali ta potpora je bila ukinuta s 11g. Ranije verzije 10g bile su dostupne na raznim vrstama platformi.
Napomena (5): DB2 je također dostupan za i5/OS, z/VM, z/VSE. Prethodne verzije su također bile dostupne za OS/2
Informacije o tome koje su fundamentalne RDBMS mogućnosti implementirane u osnovnom obliku.
ACID | Referencijalni integritet | Transactions | Unicode | Sučelje | |
---|---|---|---|---|---|
4th Dimension | Da | Da | Da | Da | GUI & SQL |
ADABAS | ? | ? | ? | ? | ? |
Adaptive Server Enterprise | Da | Da | Da | Da | SQL |
Advantage Database Server | Da | Da | Da | Ne | API & SQL |
Altibase | Da | Da | Da | ? | SQL |
Apache Derby | Da | Da | Da | Da | SQL |
Asql | Da | Ne | Da | Da | API |
Datawasp | Ne | Da | Da | Da | GUI |
SQL/MX | Da | Da | Da | ? | GUI & SQL |
DB2 | Da | Da | Da | Da | GUI & SQL |
Firebird | Da | Da | Da | Da | SQL |
HSQLDB | Ne | Da | Da | Da | SQL |
H2 | Da | Da | Da | Da | SQL |
Informix | Da | Da | Da | Da | ? |
Ingres | Da | Da | Da | Da | SQL & QUEL |
InterBase | Da | Da | Da | Da | SQL |
LucidDB | Da | Ne | Ne | Ne | SQL |
MaxDB | Da | Da | Da | Da | SQL |
Microsoft Access | Ne | Da | Da | Da | GUI & SQL |
Microsoft Visual Foxpro | Ne | Da | Da | Ne | GUI & SQL |
Microsoft SQL Server | Da | Da | Da | Da | GUI & SQL |
MonetDB | Da | Da | Da | Da | ? |
MySQL | Da 1 | Da 1 | Da 1 | djelomično | SQL |
OpenBase SQL | Da | Da | Da | Da | GUI & SQL |
Oracle | Da | Da | Da | Da | SQL |
Oracle Rdb | Da | Da | Da | Da | SQL |
OpenEdge | Da | Ne 2 | Da | Da | OpenEdge ABL & SQL |
OpenLink Virtuoso | Da | Da | Da | Da | ? |
Polyhedra DBMS | Da | Da | Da | Da | SQL |
PostgreSQL | Da | Da | Da | Da | SQL |
Pyrrho DBMS | Da | Da | Da | Da | ? |
RDM Embedded | Da | Da | Da | Da | SQL & API |
RDM Server | Da | Da | Da | Da | SQL & API |
ScimoreDB | Da | Da | Da | djelomično | SQL |
SQL Anywhere | Da | Da | Da | Da | SQL |
SQLBase | Da | Da | Da | Da | API & GUI & SQL |
SQLite | Da | Ne 3 | Basic 3 | Da | SQL |
Teradata | Da | Da | Da | Da | SQL |
Valentina | Ne | Da | Ne | Da | ? |
Napomena (1): Za prijenose i referencijalne integritete koriste se tablice tipa InnoDB; Windows Installer postavlja kao zadanu podršku za transakcije ako je odabrana, i na drugim operativnim sustavima u zadanoj tablici je tip MyISAM. Međutim, čak i tablice tipa InnoDB dopuštaju pohranu vrijednosti koje prelaze raspon podataka, neki kao pregled ove krše Integritet sputavanjem od ACiD-a.
Napomena (2): Strani ključ - ograničenja treba raščlaniti, ali ih se ne provodi. Ugniježđene transakcije nisu podržane. [1]
Napomena (3): Dostupno putem okidača(Triggers).
Informacije o ograničenju baza podataka.
Max DB veličina | Max veličina tablice | Max veličina reda | Max količina stupaca po redu | Max Blob/Clob veličina | Max CHAR veličina | Max NUMBER veličina | Min DATE vrijednosti | Max DATE vrijednosti | Max column name veličina | |
---|---|---|---|---|---|---|---|---|---|---|
4th Dimension | neograničeno | ? | ? | 65135 | 200 GB (2 GiB Unicode) | 200 GB (2 GiB Unicode) | 64 bits | ? | ? | ? |
Advantage Database Server | neograničeno | 16 EB (16 EiB) | 65530 B | 65135/(10+AverageFieldNameLength) | 4 GB (4 GiB) | ? | 64 bits | ? | ? | ? |
Asql | neograničeno | neograničeno | neograničeno | neograničeno | neograničeno | neograničeno | neograničeno | No DATE type | No DATE type | ? |
Datawasp | neograničeno | 2 GB | 32,678 | 256 | 2 GB | text1024/RTF-neograničeno | 64 bits | ? | ? | ? |
DB2 | 512 TB (512 TiB) | 512 TB | 32,677 B | 1012 | 2 GB | 32 KB (32 KiB) | 64 bits | 0001 | 9999 | 128 |
Firebird | Unlimited 1 | ~32 TB | 65,536 B | Ovisi o tipu podataka koji se koriste. | 2 GB | 32,767 B | 64 bits | 100 | 32768 | 31 |
Ingres | neograničeno | neograničeno | 256 KB | 1024 | 2 GB | 32,000 B | 64 bits | 0001 | 9999 | ? |
Microsoft Access | 2 GB | 2 GB | 16 MB | 255 | 64 KB (memo field), 1 GB ("OLE Object" field) | 255 B (text field) | 32 bits | ? | ? | ? |
Microsoft Visual Foxpro | neograničeno | 2 GB | 65,500 B | 255 | 2 GB | 16 MB | 32 bits | 0001 | 9999 | ? |
Microsoft SQL Server | 524,258 TB (32,767 files * 16 TB max file size) | 524,258 TB | neograničeno | 30000 | 2 GB | 2 GB 6 | 126 bits 2 | 0001 | 9999 | 128 |
MySQL 5 | neograničeno | 2 GB (Win32 FAT32) to 16 TB (Solaris) | 64 KB 3 | 4096 4 | 4 GB (longtext, longblob) | 64 KB (text) | 64 bits | 1000 | 9999 | 64 |
Oracle | neograničeno(4 GB * block veličinom po tablespace) | 4 GB * block size (BIGFILE tablespace) | neograničeno | 1000 | neograničeno | 4000 B | 126 bits | -4712 | 9999 | 30 |
OpenEdge | Oko 32 Exabytes | 1 Petabyte | 32Kb | 1000 | 1 GB | 2000 B | 64 bits | ? | ? | ? |
Polyhedra DBMS | Limited only by available RAM, address space | 232 rows | neograničeno | 65536 | 4 GB (subject to RAM) | 4 GB (subject to RAM) | 32 bits | ? | ? | ? |
PostgreSQL | neograničeno | 32 TB | 1.6 TB | 250-1600 depending on type | 1 GB (text, bytea) - stored inline | 1 GB | neograničeno | -4713 | 5874897 | 63 |
ScimoreDB | neograničeno | 16 EB | 8050 B | 255 | 16 TB | 8000 B | 64 bits | ? | ? | ? |
SQL Anywhere | 104 TB (13 dokumenata, svaki dokument do 8 TB (32k stranice)) | Ograničeno veličinom dokumenta | Ograničeno veličinom dokumenta | 45000 | 2 GB | 2 GB | 64 bits | 0001-01-01 | 9999-12-31 | ? |
SQLite | 32 TB (230 pages * 32 KB max page size) | ? | ? | 2000 | 1 GB | 1 GB | 64 bits | No DATE type | No DATE type | ? |
Teradata | Ograničeno veličinom dokumenta | Ograničeno veličinom dokumenta | 64 KB wo/lobs (64 GB w/lobs) | 2048 | 2 GB | 10,000 | 64 bits | ? | 9999-12-31 Select 80991231 (date); | ? |
Napomena (1): Firebird 2.x maksimalne veličine baze podataka se odvija neograničeno s najvećih poznatih veličine baze podataka >980GB [2] Arhivirana inačica izvorne stranice od 15. lipnja 2010. (Wayback Machine). Firebird 1.5.x maksimalne veličine baze podataka 32 TB.
Napomena (2): ograničenje je 1038koristeći decimalne (DECIMAL) tipove podataka[3]
Napomena (3): InnoDB je ograničen s 8000 byte-ova (isključujući VARBINARY, VARCHAR, BLOB, or TEXT kolone)[4]
Napomena (4): InnoDB je ograničen s 1000 kolona[5]
Napomena (6): koristeći VARCHAR(MAX) u SQL 2005 i poslije
Informacije o tome koje su tablice i prikazi podržani (osim osnovnih).
Privremena tablica | Materijalizirani prikaz | |
---|---|---|
4th Dimension | Da | Planirano za isključenje prilikom sljedećeg većeg izdanja |
ADABAS | ? | ? |
Adaptive Server Enterprise | Da 1 | Ne |
Advantage Database Server | Da | Ne (samo osnovni prikazi) |
Altibase | Da | Da |
Apache Derby | Da | Ne |
Asql | Ne | Ne |
Datawasp | Da | Da |
DB2 | Da | Da |
Firebird | Da | Ne (samo osnovni prikazi) |
HSQLDB | Da | Ne |
H2 | Da | Ne |
Informix | Da | Da |
Ingres | Da | Planirano za isključenje prilikom sljedećeg većeg izdanja |
InterBase | Da | Ne |
LucidDB | Ne | Ne |
MaxDB | Da | Ne |
Microsoft Access | Da | Ne |
Microsoft Visual Foxpro | Da | Da |
Microsoft SQL Server | Da | Da 2 |
MonetDB | Da | Ne |
MySQL | Da | Ne 3 |
OpenBase SQL | Da | Da |
Oracle | Da | Da |
Oracle Rdb | Da | Da |
OpenEdge | Da | Ne |
OpenLink Virtuoso | Da | Da |
Polyhedra DBMS | Ne | Ne (samo osnovni prikazi) |
PostgreSQL | Da | Ne 4 |
Pyrrho DBMS | Ne | Ne |
SQL Anywhere | Da | Da |
ScimoreDB | Ne | Ne |
SQLite | Da | Ne |
Teradata | Da | Da |
Valentina | Da | Ne |
Napomena (1): Server pruža tempdb, koji se mogu koristiti za javni i privatni (za sjednicu) privremene tablice[6] Arhivirana inačica izvorne stranice od 30. lipnja 2007. (Wayback Machine)
Napomena (2): Upit optimajzera(Query optimizer) potporu podržava kreator i Enterprise Editions. U drugim verzijama, nagovještaji su obavezni za izravno upućivanje na materijaliziran pogled i upite[7].
Napomena (3): materijalizirani pogledi mogu biti pokazatelji koristeći pohranjene procedure i aktivacije[8] Arhivirana inačica izvorne stranice od 23. travnja 2006. (Wayback Machine).
Napomena (4): materijalizirani pogledi mogu biti pohranjeni s imitiranim procedurama i aktivacijama pomoću PL / pgSQL, PL / Perl, PL / Python, ili drugim proceduralnim jezicima[9].
Infomacije o tome što indeksi (osim osnovnih B-/B+ tree indeksa) prirodno podržavaju.
R-/R+ tree | Hash | Expression | Partial | Reverse | Bitmap | GiST | GIN | |
---|---|---|---|---|---|---|---|---|
4th Dimension | ? | Cluster | ? | ? | ? | ? | ? | ? |
ADABAS | ? | ? | ? | ? | ? | ? | ? | ? |
Adaptive Server Enterprise | Ne | Ne | Ne | Ne | Da | Ne | Ne | Ne |
Apache Derby | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Asql | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
DB2 | Ne | ? | Da | Ne | Da | Da | Ne | Ne |
Firebird | Ne | Ne | Da | Ne | Da 1 | Ne | Ne | Ne |
HSQLDB | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
H2 | Ne | Da | Ne | Ne | Ne | Ne | Ne | Ne |
Informix | Da | Da | Da | Da | Da | Da | Da | Da |
Ingres | Da | Da | Ingres v10 | Ne | Ne | Ingres v10 | Ne | Ne |
InterBase | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
LucidDB | Ne | Ne | Ne | Ne | Ne | Da | Ne | Ne |
MaxDB | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Microsoft Access | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Microsoft Visual Foxpro | Ne | Ne | Da | Da | Da 2 | Da | Ne | Ne |
Microsoft SQL Server | ? | Non/Cluster & fill factor | Da 3 | Da 4 | Ne 3 | Ne | Ne | Ne |
MonetDB | Ne | Da | Ne | Ne | Ne | Ne | Ne | Ne |
MySQL | MyISAM tables only | MEMORY, Cluster (NDB), InnoDB,5 tables only | Ne | Ne | Ne | Ne | Ne | Ne |
Oracle | EE edition only | Cluster Tables | Da | Da 6 | Da | Da | Ne | Ne |
Oracle Rdb | Ne | Da | ? | Ne | Ne | ? | Ne | Ne |
OpenLink Virtuoso | Da | Cluster | Da | Ne | Ne | Da | Ne | Ne |
Polyhedra DBMS | Ne | Da | Ne | Ne | Ne | Ne | Ne | Ne |
PostgreSQL | Da | Da | Da | Da | Da 7 | Da 8 | Da | Da |
Pyrrho DBMS | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
ScimoreDB | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
SQL Anywhere | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
SQLite | Ne | Ne | Ne | Ne | Da | Ne | Ne | Ne |
Teradata | Ne | Da | Da | Da | Ne | Da | Ne | Ne |
Valentina | Ne | Ne | Da | Da 9 | Da | Da | Ne | Ne |
Napomena (1): Korisnici moraju koristiti funkciju iz freeAdhocUDF arhiva ili slično. [10] Arhivirana inačica izvorne stranice od 14. rujna 2019. (Wayback Machine)
Napomena (2): Može biti implementirano za većinu tipova podataka koristeći expression-bazirane indekse (expression-based indexes).
Napomena (3): Može biti eumlirano indexing a computed column (update je složen) ili koristeći "Indexed View" (pravilno ime ne funckionira u svim pogledima[1])
Napomena (4): Može biti implementirano korištenjem index pogleda (indexed view)[11]
Napomena (5): InnoDB automatski generira adaptive hash index unose po potrebi.
Napomena (6): Može biti implementirano koristeći funkcijski-baziranim indeksima u Oracle 8i ili većem, ali se funkcije moraju koristiti u SQL-u.
Napomena (7): PostgreSQL funkcijski indeks može biti korišten i obrnuto od redosljeda polja
Napomena (8): PostgreSQL će podržati on-disk bitmap indekse u verziji 8.4. Verzija 8.2 podžava relacijsku poznatu pod nazivom "in-memory bitmap scans"
Napomena (9): Može biti implementirano koristeći funkcijske indekse u programu Valentina.
Union | Intersect | Except | Inner joins | Outer joins | Inner selects | Merge joins | Blobs and Clobs | Common Table Expressions | Windowing Functions | |
---|---|---|---|---|---|---|---|---|---|---|
4th Dimension | Da | ? | ? | Da | Da | Ne | Ne | Da | ? | ? |
ADABAS | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Adaptive Server Enterprise | Da | ? | ? | Da | Da | Da | Da | Da | ? | ? |
Advantage Database Server | Da | ? | ? | Da | Da | Da | Da | Da | ? | ? |
Altibase | Da | ? | ? | Da | Da | Da | Da | Da | ? | ? |
Apache Derby | Da | Da | Da | Da | Da | ? | ? | Da | Ne | ? |
Asql | Da (preko API) | Da (preko API) | Da (preko API) | Da (preko API) | Da (preko API) | Da (preko API) | Da (preko API) | Da (preko API) | ? | ? |
Datawasp | Da | ? | ? | Da | Da | Da | Da | Da | ? | ? |
DB2 | Da | Da | Da | Da | Da | Da | Da | Da | Da | Da |
Firebird | Da | ? | ? | Da | Da | Da | Da | Da | Da | ? |
Union | Intersect | Except | Inner joins | Outer joins | Inner selects | Merge joins | Blobs and Clobs | Common Table Expressions | Windowing Functions | |
HSQLDB | Da | Da | Da | Da | Da | ? | ? | ? | ? | ? |
H2 | Da | ? | ? | Da | Da | ? | ? | Da | ? | ? |
Informix | Da | ? | ? | Da | Da | Da | Da | Da | ? | ? |
Ingres | Da | ? | ? | Da | Da | Da | Da | Da | ? | ? |
InterBase | Da | ? | ? | Da | Da | ? | ? | Da | ? | ? |
LucidDB | Da | Da | Da | Da | Da | Da | Da | Ne | ? | ? |
MaxDB | Da | ? | ? | Da | Da | Da | Ne | Da | ? | ? |
Microsoft Access | Da | ? | ? | Da | Da | Da | ? | Da | ? | ? |
Microsoft Visual Foxpro | Da | ? | ? | Da | Da | Da | ? | Da | ? | ? |
Microsoft SQL Server | Da | Da (2005 and beyond) | Da (2005 and beyond) | Da | Da | Da | Da | Da | Da | Da |
Union | Intersect | Except | Inner joins | Outer joins | Inner selects | Merge joins | Blobs and Clobs | Common Table Expressions | Windowing Functions | |
MonetDB | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
MySQL | Da | Ne | Ne | Da | Da | Da | Da | Da | Ne | ? |
OpenBase SQL | Ne | Ne | Ne | Da | Da | Da | Da | Da | ? | ? |
Oracle | Da | Da | da, preko MINUS | Da | Da | Da | Da | Da | ? | Da |
Oracle Rdb | Da | ? | ? | Da | Da | Da | Da | Da | ? | ? |
OpenEdge | Da | ? | ? | Da | Da | ? | ? | Da | ? | ? |
OpenLink Virtuoso | Da | ? | ? | Da | Da | Da | ? | Da | ? | ? |
Polyhedra DBMS | Da | Da | Da | Da | Ne | ? | ? | Da | ? | ? |
PostgreSQL | Da | Da | Da | Da | Da | Da | Da | Da | Da | Da |
Pyrrho DBMS | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Union | Intersect | Except | Inner joins | Outer joins | Inner selects | Merge joins | Blobs and Clobs | Common Table Expressions | Windowing Functions | |
ScimoreDB | Da | ? | ? | Da | LEFT only | Da | Da | Da | ? | ? |
SmallSQL | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
SQL Anywhere | Da | Da | Da | Da | Da | Da | Da | Da | ? | ? |
SQLite | Da | Da | Da | Da | LEFT only | Da | ? | Da | ? | ? |
Teradata | Da | ? | ? | Da | Da | Da | Da | Da | ? | Da |
Valentina | Da | ? | ? | Da | Da | Da | Da | Da | ? | ? |
Informacije o ostalim podržanim objektima.
Data Domain | Cursor | Trigger | Function 1 | Procedure 1 | External routine 1 | |
---|---|---|---|---|---|---|
4th Dimension | Da | Ne | Da | Da | Da | Da |
ADABAS | ? | ? | ? | Da? | Da? | ? |
Adaptive Server Enterprise | Da | Da | Da | Da | Da | Da |
Advantage Database Server | Da | Da | Da | Da | Da | Da |
Apache Derby | Ne | Da | Da | Da 2 | Da 2 | Da 2 |
Asql | Da (preko API) | Da | Da (preko API) | Da (preko API) | Da (preko API) | Da |
DB2 | Da, preko CHECK CONSTRAINT | Da | Da | Da | Da | Da |
Firebird | Da | Da | Da | Da | Da | Da |
HSQLDB | ? | Ne | Da | Da | Da | Da |
H2 | Da | Ne | Da | Da | Da | Da |
Informix | ? | Da | Da | Da | Da | Da |
Ingres | Da | Da | Da | Da | Da | Da |
InterBase | Da | Da | Da | Da | Da | Da |
LucidDB | Ne | Da | Ne | Da 2 | Da 2 | Da 2 |
MaxDB | Da | Da | Da | Da | Da | ? |
Microsoft Access | Da | Ne | Ne | Ne | Ne | Da |
Microsoft Visual Foxpro | Ne | Da | Da | Da | Da | Da |
Microsoft SQL Server | Da (2000 nadalje) | Da | Da | Da | Da | Da |
MonetDB | Ne | Ne | Da | Da | Da | Da |
MySQL | Ne | Da | Da | Da | Da | Da |
OpenBase SQL | Da | Da | Da | Da | Da | Da |
OpenEdge | Da | Da | Da | Da | Da | Da |
Oracle | Da | Da | Da | Da | Da | Da |
Oracle Rdb | Da | Da | Da | Da | Da | Da |
OpenLink Virtuoso | Da | Da | Da | Da | Da | Da |
Polyhedra DBMS | Ne | Ne | Da | Da | Da | Da |
PostgreSQL | Da | Da | Da | Da | Da | Da |
Pyrrho DBMS | Da | Da | Da | Da | Da | Da |
ScimoreDB | Ne | Ne | Ne | Ne | Da | Da |
SQL Anywhere | Da | Da | Da | Da | Da | Da |
SQLite | Ne | Ne | Da | Ne | Ne | Da |
Teradata | Da | Da | Da | Da | Da | Da |
Valentina | Ne | Da | Da | Da | Da | Ne |
Napomena (1): I function i procedure odnose se na interne rutine napisane u SQL i/ili proceduralnom jeziku poput PL/SQL. External routine odnosi se na one pisane jost jezicima, kao što su C, Java, Cobol itd. "Stored procedure" je uobičajeni izraz za ove rutinske tipove. Ipak, njegovo definiranje varira kod različitih proizvođača baza podataka Napomena (2): U Derby i LucidDB, korisnici kodiraju functions i procedures u Javi.
Informacije o tome koje su metode particioniranja podržane u osnovi.
Range | Hash | Composite (Range+Hash) | List | Shadow | Native Replication API | |
---|---|---|---|---|---|---|
4th Dimension | ? | ? | ? | ? | ? | ? |
ADABAS | ? | ? | ? | ? | ? | ? |
Adaptive Server Enterprise | Da | Da | Ne | Da | ? | ? |
Apache Derby | Ne | Ne | Ne | Ne | ? | ? |
Asql | Ne | Ne | Ne | Ne | Ne | Ne |
IBM DB2 | Da | Da | Da | Da | ? | ? |
Firebird | Ne | Ne | Ne | Ne | Da | Ne |
HSQLDB | ? | ? | ? | ? | ? | ? |
H2 | ? | ? | ? | ? | ? | ? |
Informix | Da | Da | Da | Da | ? | ? |
Ingres | Da | Da | Da | Da | Ne | Ne |
InterBase | Ne | Ne | Ne | Ne | Da | Da |
MaxDB | Ne | Ne | Ne | Ne | ? | ? |
Microsoft Access | Ne | Ne | Ne | Ne | Ne | Ne |
Microsoft Visual Foxpro | Ne | Ne | Ne | Ne | Ne | Ne |
Microsoft SQL Server | Da | Ne | Ne | Ne | ? | ? |
MonetDB | Da (M5) | Da (M5) | Da (M5) | Ne | ? | ? |
MySQL | Da | Da | Da | Da | ? | ? |
OpenBase SQL | ? | ? | ? | ? | ? | ? |
Oracle | Da | Da | Da | Da | ? | ? |
Oracle Rdb | Da | Da | ? | ? | ? | ? |
OpenLink Virtuoso | Da | Ne | Ne | Ne | ? | ? |
Polyhedra DBMS | Ne | Ne | Ne | Ne | ? | ? |
PostgreSQL | Da 1 | Da 1 | Da 1 | Da 1 | ? | ? |
Pyrrho DBMS | Ne | Ne | Ne | Ne | ? | ? |
ScimoreDB | Ne | Da | Ne | Ne | Ne | Da |
SQL Anywhere | Ne | Ne | Ne | Ne | ? | ? |
SQLite | Ne | Ne | Ne | Ne | ? | ? |
Teradata | Da | Da | Da | Da | ? | ? |
Valentina | Ne | Ne | Ne | Ne | ? | ? |
Napomena (1): PostgreSQL 8.1 omogućuje podršku particioniranju preko "check constrains". Range, List i Hash metode mogu biti eliminirane pomoću PL/pgSQL ili drugih proceduralnih jezika. [12] Arhivirana inačica izvorne stranice od 5. travnja 2004. (Wayback Machine)
Informacije o funkcionalnosti kontrola pristupa. (rad u tijeku).
Native network encryption 9 | Brute-force protection | Enterprise directory compatibility | Password complexity rules 6 | Patch access 7 | Run unprivileged 8 | Audit | Resource limit | Separation of duties (between administrator, operator, backup, ... like RBAC) 10 | Security Certification | |
---|---|---|---|---|---|---|---|---|---|---|
Asql | Ne | Ne | Ne | Ne | ? | Ne | Ne | Ne | Ne | Ne |
DB2 | Da | ? | Da (LDAP, Kerberos, ...) | Da | ? | Da | Da | Da | Da | Da (EAL4+ 1) |
Firebird | Ne 2 | Da [13] | Ne | Da | djelomično (no security page)[14] | Ne | Ne | Ne | Ne 3 | ? |
Ingres | Ne | Da | Da (LDAP, Kerberos, ...) | Da | djelomično (no security page)[15] Arhivirana inačica izvorne stranice od 22. kolovoza 2009. (Wayback Machine) | Da | Da | Da | Da | Ne |
MySQL | Da (SSL with 4.0) | Ne | Ne | ? | djelomično (no security page)[16] | Da | ? | ? | ? 4 | Ne |
OpenBase SQL | Da | ? | Da (Open Directory, LDAP) | Ne | ? | ? | ? | ? | ? | ? |
Microsoft SQL Server | Da | ? | Da (Microsoft Active Directory) | Da | ? | Da | Da (Iz 2008) | Da | Da | Da (EAL1+ 1) |
Oracle | Da | Da | Da | Da | ? | ? | Da | Da | ? | Da (EAL4+ 1) |
PostgreSQL | Da (SSL with 7.4) | Ne | Da (LDAP, Kerberos, ... 5) | ? | Da [17] Arhivirana inačica izvorne stranice od 1. studenoga 2011. (Wayback Machine) | Da | ? | ? | ? | Da (EAL1 1) |
SQL Anywhere | Da | ? | Da (Kerberos) | Da | ? | Da | Da | Ne | Da | Da (EAL3+ 1 as Adaptive Server Anywhere) |
SQLite | Ne (not relevant)(only file permissions) | Ne (not relevant) | Ne (not relevant) | Ne (not relevant) | djelomično (no security page)[18] | Da (file access) | Ne | Ne | Ne | Ne |
Sybase ASE | Da (optional; to pay) | ? | Da (optional ?) | Da | djelomično (need to register; depend on which product) [19][neaktivna poveznica] | Da | Da | Da | Da | Da (EAL4+ 1) |
Napomena (1): Lista certifitiranih proizvoda Arhivirana inačica izvorne stranice od 17. kolovoza 2009. (Wayback Machine)
Napomena (2): FirebirdSQL može koristiti tunneling kako bi zaštitio mrežnu zaštitu kao bilo koju drgu aplikaciju [20].
Napomena (3): Čini se da FirebirdSQL ima samo SYSDBA korisnika i DB vlasnika. Nema odvojenih uloga za backup operatora i administratora sigurnosti.
Napomena (4): Korisnik može definirati namjenski backup user, ali ne može ništa posebno instalirati[21] Arhivirana inačica izvorne stranice od 2. rujna 2008. (Wayback Machine)
Napomena (5): Pogledajte priručnik Authentication methods
Napomena (6): Opcije su namještene za minimalnu veličinu lozinke, poštujući kompleksnost, kao što je postojanje brojeva ili posebnih znakova.
Napomena (7): Kako doći do sigurnosnog update-a? Je li pristup besplatan, treba li se registrirati ili platiti? Postoji li jednostavana pristup putem web/ftp portala ili rss feed-a ili samo offline pristup? (mail, cdrom, telefon).
Napomena (8): Pokreću li se procesi baze podataka kao root/administrator ili unprivileged user? Koja je osnovna konfiguracija?
Napomena (9): Mrežni promet može se transportirati sigurnim putem (ne kao čisti tekst, kao ssl enkripcija). Provjeriti je li opcija default, uključena opcija ili dodatna koju treba kupiti.
Napomena (10): Postoji odvojeni korisnik koji se bavi posebnim operacijama, kao što je backup (samo dump/store dopuštenja), security officer (audit), administrator (dodati user/create database)...
SQL specifikacije razjašnjavaju što je "SQL schema"; međutim, neke baze podataka netočno je implementiraju. Za rješavanje ove zbrke u funkcionalnosti, može se, ako se pogrešno implementira, zaobići s roditeljskom bazom podataka (parent-database). SQL schema jednostavno je prostor imena unutar baze podataka, dijelovi unutar tih prostora adresirani su članom operator točkom - ".
". Ovaj postupak je univerzalan kod svih implementacija.
Pravi fully (database, schema, and table) qualified upit prikazan je ovako:
select * from database.schema.table
Problem je u tome što i schema i baza podataka mogu biti korištene za izoliranje jedne tablice, "foo" iz druge tablice nazvane "foo". slijedi pseudo kod:
select * from db1.foo
vs.select * from db2.foo
(nema eksplicitne scheme između baze podataka i tablice)select * from [db1.]default.foo
vs.select * from [db1.]alternate.foo
(nema eksplicitnog prefiksa baze podataka)
Problem koji se pojavljuje je što su prijašnji MySQL korisnici greškom stvorili multiplicirane baze za jedan projekt. U tom kontekstu, MySQL baze podataka funkcijski su analogne Postgres-schemama, kao i Postgres "lacks off-the-shelf cross - bazama podataka" functionalnostima koje ima MySQL. Suprotno, Postgres je s pravom aplicirao više spceifikacija u "sane-bottom-up" pristupu, implementirajući cross-table, cross-schemu, te su ostavili mjesta za buduće cross-database funkcije.
MySQL radi iza scene, schema s database, kao što je create schema
i analogna create database
. Može se reći da je MySQL implementirao cross-table funkcije, potpuno preskočio funkcije scheme i omogućio slične funkcije u njihove implementacije baza podataka. Zaključno, Postgres poptuno podržava scheme, ali mu nedostaje funkcionalnosti koju MySQL ima s bazama podataka, dok MySQL niti ne pokušava podržati prave scheme.
Rezultat je vrtnja oko obje zajednice. Dok Postgres održava način u kojem je jedna baza dovoljna za održavanje jednog projekta, MySQL drži da scheme nemaju legitimnu svrhu kak se funkcije mogu provoditi kroz baze podataka. Postgres se čvrsto drži SQL specifikacija, u mnogo intuitivnijuem obliku (bottom-up), dok MySQL pragmatic daje suprotne argumente dozvoljavajući korisnicima da obave posao zez nekog većeg nedostatka.
- List of relational database management systems
- Comparison of object-relational database management systems
- Comparison of database tools
- ↑ Petkovic, Dusan. 2005. Microsoft SQL Server 2005: A Beginner's Guide. McGraw-Hill Professional. str. 300. ISBN 9780072260939
- Comparison of different SQL implementations against SQL standards. Includes Oracle, DB2, Microsoft SQL Server, MySQL and PostgreSQL. (08/Jun/2007)
- The SQL92 standard