Usporedba sustava za upravljanje relacijskim bazama podataka

Izvor: Wikipedija
Skoči na: orijentacija, traži

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.

Osnovne informacije[uredi VE | uredi]

Izdavač/proizvođač Prva javna distribucija Posljednja stabilna verzija Softverska licencija
4th Dimension 4D s.a.s 1984????1984 v11 SQL Vlasnička
ADABAS Software AG 1970????1970 8.1 Vlasnička
Adaptive Server Enterprise Sybase 1987????1987 15.0 Vlasnička
Advantage Database Server Sybase 1992????1992 8.1 Vlasnička
Altibase Altibase Corp. 200007??Srpanj 2000 5.1.1 Vlasnička
Apache Derby Apache 2004????2004 10.4.2.0 (Listopad 2008) Apache licenca
Asql Marko Tasic 2009????2009 0.9.x (Travanj 2009) BSD
Datacom CA, Inc.  ? 11.2 Vlasnička
DB2 IBM 1982????1982 9.5 Vlasnička
DBISAM Elevate Software ????????? 4.25 Vlasnička
Datawasp Significant Data Systems 200804??Travanj 2008 1.0.1 Vlasnička
ElevateDB Elevate Software ????????? 1.01 Vlasnička
FileMaker FileMaker 1984???? 1984 10.0v1 (Siječanj 2009) Vlasnička
Firebird Firebird project 20000725Srpanj 25, 2000 2.1.2 (Travanj 2009) IPL and IDPL
HSQLDB HSQL Development Group 2001????2001 1.8.0 (Lipanj 2008) BSD
H2 H2 Software 2005????2005 1.1.107 EPL and modified MPL
Informix IBM 1985????1985 11.50 Vlasnička
Ingres Ingres Corp. 1974????1974 Ingres Database 9.2.0 (Studeni 2008) GPL and Vlasnička
InterBase CodeGear 1985????1985 2007 Vlasnička
LucidDB The Eigenbase Project 200701??Siječanj 2007 0.7.4 GPL
MaxDB SAP AG ????????? 7.6 (Siječanj 2008) GPL or Vlasnička
Microsoft Access Microsoft 1992????1992 12 (2007) Vlasnička
Microsoft Visual Foxpro Microsoft ????????? 9 (2005) Vlasnička
Microsoft SQL Server Microsoft 1989????1989 2008 (v10.0) Vlasnička
MonetDB The MonetDB Developer Team 2004????2004 5.6 (Lipanj 2008) MonetDB Public License v1.1
MySQL Sun Microsystems 199611??Studeni 1996 5.1.32 (14. veljače 2009.) GPL or Vlasnička
Nexusdb Nexus Database Systems Pty Ltd NexusDB History ? Vlasnička
HP NonStop SQL Hewlett-Packard 1987????1987 SQL/MX 2.3 Vlasnička
Omnis Studio TigerLogic Inc 198207??Srpanj 1982 4.3.1 Release 1 (Svibanj 2008) Vlasnička
OpenBase SQL OpenBase International 1991????1991 11.0.0 Vlasnička
Oracle Oracle Corporation 197911??Studeni 1979 11g Release 1 (Rujan 2007) Vlasnička
Oracle Rdb Oracle Corporation 1984????1984 7.2 Vlasnička
OpenEdge Progress Software Corporation 1984????1984 10.1C Vlasnička
OpenLink Virtuoso OpenLink Software 1998????1998 5.0.5 (Siječanj 2008) GPL or Vlasnička
Pervasive PSQL Pervasive Software 1982????1982 10 Vlasnička
Polyhedra DBMS ENEA AB 1993????1993 8.0 (Srpanj 2008) Vlasnička
PostgreSQL PostgreSQL Global Development Group 198906??Lipanj 1989 8.3.7 (17. ožujka 2009.) BSD
Pyrrho DBMS University of Paisley 200511??Studeni 2005 0.5 Vlasnička
RBase RBase ????????? 7.6 Vlasnička
RDM Embedded Birdstep Technology 1984????1984 8.1 Vlasnička
RDM Server Birdstep Technology 1990????1990 8.0 Vlasnička
ScimoreDB Scimore 2005????2005 2.5 (Ožujak 2008) Vlasnička
SmallSQL SmallSQL 20050416Travanj 16 2005 0.20 (Prosinac 2008) LGPL
SQL Anywhere Sybase 1992????1992 11.0 Vlasnička
SQLBase Unify Corp. 19821982 11.5 (Studeni 2008) Vlasnička
SQLite D. Richard Hipp 20000817Kolovoz 17 2000 3.6.13 (Travanj 2009) Public domain
Superbase Superbase 1984????1984 Scientific (2004) Vlasnička
Teradata Teradata 1984????1984 V12 Vlasnička
Valentina Paradigma Software 199802??Veljača 1998 3.0.1 Vlasnička
VistaDB VistaDB Software, Inc. 200703??Ožujak 2007 3.5 Vlasnička

Podržani operativni sustavi[uredi VE | uredi]

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 uporedo 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

Temeljne značajke[uredi VE | uredi]

Informacije o tome koje su fundamentalne RDBMS mogućnosti implementirane u osnovnom obliku.

ACID Referential integrity Transactions Unicode Interface
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).

Ograničenja[uredi VE | uredi]

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]. 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

Tablice i prikazi[uredi VE | uredi]

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]

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].

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].

Indeksi (Indexes)[uredi VE | uredi]

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]

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.

Mogućnosti baza podataka[uredi VE | uredi]

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  ?  ?

Ostali objekti[uredi VE | uredi]

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.

Particioniranje (Partitioning)[uredi VE | uredi]

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]

Kontrola pristupa[uredi VE | uredi]

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] 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] 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] da da da da da (EAL4+ 1)

Napomena (1): Lista certifitiranih proizvoda

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]

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)...

Baze podataka vs Scheme (terminologija)[uredi VE | uredi]

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.

Također pročitati[uredi VE | uredi]

Izvori[uredi VE | uredi]

  1. Petkovic, Dusan (2005). Microsoft SQL Server 2005: A Beginner's Guide, str. 300, McGraw-Hill Professional. ISBN 9780072260939

Vanjske poveznice[uredi VE | uredi]