天天看點

關系型資料庫管理系統比較

在以下的表格中,将對一些關系型資料庫管理系統的基本資訊和技術資訊進行對比。請參考以下産品各自的條目以獲得更詳細的介紹。該表格不可能包羅萬象,也許有些資訊已過時。除非注明,以下産品為各自的穩定版本,且沒有安裝任何形式的擴充程式。

目錄

  • 1 基本資訊
  • 2 作業系統支援
  • 3 基本功能
  • 4 表與視圖
  • 5 索引
  • 6 其他對象
  • 7 資料表分區
  • 8 資料庫與模式(Schemas)
  • 9 參看
  • 10 外部連接配接

[編輯] 基本資訊

維護者 首次發行日期 最新穩定版 軟體授權協定
4th Dimension 4D s.a.s 1984年 2004.5 專有
Adaptive Server Enterprise Sybase 1987年 15.0 專有
Apache Derby Apache軟體基金會 2004年 10.4.1.3 Apache許可證
DB2 IBM 1982年 9 專有
DBISAM Elevate Software  ? 4.25 專有
ElevateDB Elevate Software  ? 1.01 專有
Firebird Firebird Foundation 2000年7月25日 2.0.1 Initial Developer's Public License
Informix IBM 1985年 10.0 專有
HSQLDB HSQL Development Group 2001年 1.8.0 BSD
H2 H2 Software 2005年 1.0 Freeware
Ingres Ingres Corp. 1974年 Ingres 2006 II 9.0.4 GPL 與 專有
InterBase CodeGear 1985年 2007 專有
Sybase IQ Sybase 1996年 15.2 專有
MaxDB MySQL AB, SAP AG  ? 7.6 GPL 或 專有
Microsoft SQL Server Microsoft 1989年 9.00.3042 (2005 SP2) 專有
MonetDB The MonetDB Developer Team 2004年 4.16 (Feb. 2007) MonetDB Public License v1.1
MySQL MySQL AB 2009年6月 5.1.36 GPL 或 專有
HP 否nStop SQL Hewlett-Packard 1987年 SQL MX 2.0 專有
Oracle Oracle Corporation 1979年11月 10g Release 2 專有
Oracle Rdb Oracle Corporation 1984年 7.2 專有
OpenEdge Progress Software Corporation 1984年 10.1B 專有
OpenLink Virtuoso OpenLink Software 1998年 4.5.3 (April 2006) GPL 或 專有
Pervasive PSQL Pervasive Software  ? 9 專有
PostgreSQL PostgreSQL Global Development Group 1989年6月 9.0.0 BSD
Pyrrho DBMS University of Paisley 2005年11月 0.5 專有
SmallSQL SmallSQL 2005年4月16日 0.12 LGPL
SQL Anywhere Sybase 1992年 10.0 專有
SQLite D. Richard Hipp 2000年8月17日 3.3.7 Public domain
Teradata Teradata 1984 V2R6.2 專有
Valentina Paradigma Software 1998年2月 3.0.1 專有
Vertica Vertica 2005 4.0 專有
維護者 首次發行日期 最新穩定版 軟體授權協定

[編輯] 作業系統支援

這些資料庫所能支援的作業系統。

Windows Mac OS X Linux BSD UNIX z/OS 1
4th Dimension
Adaptive Server Enterprise
Apache Derby 2
DB2
Firebird 可能
HSQLDB 2
H2 2 可能
Informix
Ingres 可能
InterBase 是 (Solaris)
Adabas
MaxDB 可能
Microsoft SQL Server
MonetDB
MySQL 可能
Oracle
OpenEdge
OpenLink Virtuoso
PostgreSQL
Pyrrho DBMS 是 (.NET) 是 (Mono)
SmallSQL
SQL Anywhere
SQLite 可能
Teradata
Valentina
Windows Mac OS X Linux BSD UNIX z/OS 1

注記 (1): 清單中标明了UNIX相容的開源資料庫可以在z/OS的内建子系統UNIX系統服務(USS)下編譯和運作。大部分Linux相容的資料庫可以與z/OS在同一台伺服器上通過Linux on zSeries運作。

注記 (2): 該項受該平台上Java虛拟機的可用性制約。

[編輯] 基本功能

資料庫系統所能實作的基本功能對比。

ACID 關聯完整性 資料庫事務 Unicode萬國碼
Adaptive Server Enterprise
Apache Derby
DB2
Firebird
HSQLDB
H2
Informix
Ingres
InterBase
MaxDB
Microsoft SQL Server
MonetDB
MySQL 是 3 是 3 是 3
Oracle
OpenEdge
OpenLink Virtuoso
PostgreSQL
Pyrrho DBMS
SQL Anywhere
SQLite 否 4 Basic 4
Teradata
Valentina
ACID 關聯完整性 資料庫事務 Unicode萬國碼

注記 (3): 需要使用InnoDB格式資料表才能實作關聯完整性限制與事務。 然而,InnoDB格式資料表仍舊允許存儲的資料超出資料範圍;一些觀點認為它由此違反了ACID的完整性限制。

注記 (4): 外聯鍵限制在文法上有效,但實際上并不能得到強制執行,可使用觸發器替代。不支援嵌套事務。[1]

[編輯] 表與視圖

臨時表 物化視圖(Materialized view)
Adaptive Server Enterprise 是  5
Apache Derby
DB2
Firebird Will be in 2.1 否 (only common views)
HSQLDB
H2
Informix
Ingres Ingres r4
InterBase
MaxDB
Microsoft SQL Server
MonetDB
MySQL 否 6
Oracle
OpenEdge
OpenLink Virtuoso
PostgreSQL 否 7
Pyrrho DBMS
SQL Anywhere
SQLite
Teradata
Valentina
臨時表 物化視圖(Materialized view)

注記 (5): 伺服器提供臨時資料庫,可供會話存放公共/私有的臨時表。[2]

注記 (6): 物化視圖可用存儲過程和觸發器模拟[3]。

注記 (7): 物化視圖可用PL/pgSQL,PL/Perl,PL/Python或其他過程語言的存儲過程和觸發器模拟。 [4].

[編輯] 索引

資料庫所支援的索引類型(除基本的B樹外)

R-/R+ tree 哈希 Expression 部分索引(Partial index) 反向索引(Reverse index) 位圖索引(Bitmap) GiST GIN
Adaptive Server Enterprise
Apache Derby
DB2  ?
Firebird 是 16
HSQLDB
H2
Informix
Ingres Ingres r4 Ingres r4
InterBase
MaxDB  ?  ?
Microsoft SQL Server  ? 否n/Cluster & fill factor 是 8 是 9 是 8
MonetDB
MySQL 僅限MyISAM MEMORY, Cluster (NDB), 僅限InnoDB,17
Oracle EE edition only Cluster Tables 是 15
OpenLink Virtuoso Cluster
PostgreSQL 是 10 否 11
Pyrrho DBMS
SQL Anywhere
SQLite
Teradata
Valentina 是 8 是 17
R-/R+ tree 哈希 Expression 部分索引(Partial index) 反向索引(Reverse index) 位圖索引(Bitmap) GiST GIN

注記 (8): 可通過索引一個經過計算的列,或使用一個已索引的視圖實作 [5]

注記 (9): 可使用索引視圖實作。 [6]

注記 (17): InnoDB自動按需生成 adaptive hash index。

注記 (10): 一個有效的PostgreSQL索引可以用來進行倒排序。

注記 (11): PostgreSQL将在8.3中支援儲存于磁盤的位圖索引。8.2提供了一種稱為"記憶體位圖掃描(in-memory bitmap scans)"的相關技術。

注記 (15): 在Oracle 8i及以後的版本可使用基于函數的索引(Function-based Indexes)實作。

注記 (16): The users need to use a function from freeAdhocUDF library or similar. [7]

注記 (17): 在Valentina中可使用基于函數的索引(Function-based Indexes)實作。

[編輯] 其他對象

有關其他類型對象的支援情況。

資料域 遊标 觸發器 函數 12 存儲過程 12 外部調用 12
Adaptive Server Enterprise
Apache Derby 是 13 是 13 是 13
DB2
Firebird
HSQLDB  ?
H2
Informix  ?
Ingres
InterBase
MaxDB  ?
Microsoft SQL Server 是 (2000 and beyond)
MonetDB
MySQL
Oracle
OpenLink Virtuoso
PostgreSQL
Pyrrho DBMS
SQL Anywhere
SQLite
Teradata
Valentina
資料域 遊标 觸發器 函數 12 存儲過程 12 外部調用

注記 (12): 以上函數和存儲過程都是指使用SQL或者過程語言(如PL/SQL、PL/pgSQL等)編寫的内部程式調用。外部調用是指使用其他外部語言,如C、Java等語言編寫的調用。存儲過程是這類調用的籠統稱呼,在不同的供應商系統中,它們往往有着不同的定義。

注記 (13): In Derby, users code functions and procedures in Java.

[編輯] 資料表分區

範圍(Range) 哈希(Hash) 混合(範圍+哈希) 清單(List)
Adaptive Server Enterprise
Apache Derby
IBM DB2
Firebird
Informix  ?  ?
Ingres
InterBase
MaxDB
Microsoft SQL Server
MonetDB 是 (M5) 是 (M5) 是 (M5)
MySQL 是 (5.1 beta) 是 (5.1 beta) 是 (5.1 beta) 是 (5.1 beta)
Oracle
OpenLink Virtuoso
PostgreSQL 是 14 是 14 是 14 是 14
Pyrrho DBMS
SQL Anywhere
SQLite
Teradata
Valentina
範圍(Range) 哈希(Hash) 混合(範圍+哈希) 清單(List)

注記 (14): PostgreSQL 8.1 提供了使用check限制實作的資料表分區。範圍、清單以及哈希分區可通過PL/pgSQL或者其他過程語言模拟。[8]

[編輯] 資料庫與模式(Schemas)

SQL标準明确了SQL模式(SQL schema)的定義,然而,許多資料庫對它的實作并不正确。SQL模式是指一個資料庫内部的名字空間,此空間内部的對象可以通過成員操作符

.

通路。

一個完整名字的查詢類似這種形式:

select * from database.schema.table

[編輯] 參看

  • 關系型資料庫管理系統清單

[編輯] 外部連接配接

  • [9] 各種SQL标準實作的對比,包括Oracle, DB2, Microsoft SQL Server, MySQL 與 PostgreSQL. (08/Jun/2007)
  • Comparison of Oracle 8/9i, MySQL 4.x and PostgreSQL 7.x DBMS against SQL standards. (14/Mar/2005)
  • Comparison of Oracle and SQL Server. (2004)
  • Comparison of geometrical data handling in PostgreSQL, MySQL and DB2 (29/Sep/2003)
  • Open Source Database Software Comparison (Mar/2005)
  • PostgreSQL vs. MySQL vs. Commercial Databases: It's All About What You Need (12/Apr/2004)
  • The SQL92 standard
資料庫管理系統(DBMS) ( 檢視 • 讨論 • 編輯 • 曆史 )

概念

資料庫 · 資料庫模型 · 資料庫存儲結構(英語:Database storage structures) · 關系 (資料庫) · 關系模型 · 分布式資料庫 · ACID · Null值

關系資料庫 · 關系代數 · 關系演算 · 元組關系演算 · 域關系演算 · 資料庫規範化 · 參照完整性 · 關系資料庫管理系統 

主鍵 · 外鍵 · 代理鍵 · 超鍵 · 候選鍵 

資料庫元件

觸發器 · 視圖 · 資料庫表 · 名額 (資料庫) · 事務日志(英語:Transaction log) · 資料庫事務 · 資料庫索引 

存儲程式 · 資料庫分割

SQL

分類: 資料查詢語言DQL · 資料定義語言DDL · 資料操縱語言DML · 資料控制語言DCL

指令:SELECT · INSERT · UPDATE · MERGE · DELETE · JOIN · UNION · CREATE · DROP · Begin work · COMMIT · ROLLBACK · TRUNCATE · ALTER

安全: SQL資料隐碼攻擊 · 參數化查詢

資料庫管理系統的實施

實施類型

關系資料庫 · 檔案型資料庫 · Deductive · 次元化資料庫 · 階層式 · 圖形資料庫 · 對象資料庫 · 物件關聯式資料庫 · Temporal · XML資料庫

資料庫産品

對象型 (對比) · 關系型 (對比)

資料庫成分

查詢語言 · 查詢最佳化器 · 查詢計劃 · 嵌入式SQL · ODBC · JDBC · OLE DB

來自“ http://zh.wikipedia.org/w/index.php?title=%E5%85%B3%E7%B3%BB%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F%E6%AF%94%E8%BE%83&oldid=17972922” 2個分類:

  • 軟體比較
  • 資料庫管理系統