关系型数据库管理系统比较

来源:互联网 发布:党规党纪面前知敬畏 编辑:程序博客网 时间:2024/05/16 12:21
 

在以下的表格中,将对一些关系型数据库管理系统的基本信息和技术信息进行对比。请参考以下产品各自的条目以获得更详细的介绍。该表格不可能包罗万象,也许有些信息已过时。除非注明,以下产品为各自的稳定版本,且没有安装任何形式的扩展程序。

目录

  • 1基本信息
  • 2操作系统支持
  • 3基本功能
  • 4表与视图
  • 5索引
  • 6其他对象
  • 7数据表分区
  • 8数据库与模式(Schemas)
  • 9参看
  • 10外部连接

[编辑]基本信息

 维护者首次发行日期最新稳定版软件授权协议4th Dimension4D s.a.s1984年2004.5专有Adaptive Server EnterpriseSybase1987年15.0专有Apache DerbyApache软件基金会2004年10.4.1.3Apache许可证DB2IBM1982年9专有DBISAMElevate Software ?4.25专有ElevateDBElevate Software ?1.01专有FirebirdFirebird Foundation2000年7月25日2.0.1Initial Developer's Public LicenseInformixIBM1985年10.0专有HSQLDBHSQL Development Group2001年1.8.0BSDH2H2 Software2005年1.0FreewareIngresIngres Corp.1974年Ingres 2006 II 9.0.4GPL 与专有InterBaseCodeGear1985年2007专有Sybase IQSybase1996年15.2专有MaxDBMySQL AB, SAP AG ?7.6GPL 或专有Microsoft SQL ServerMicrosoft1989年9.00.3042 (2005 SP2)专有MonetDBThe MonetDB Developer Team2004年4.16 (Feb. 2007)MonetDB Public License v1.1MySQLMySQL AB2009年6月5.1.36GPL 或专有HP 否nStop SQLHewlett-Packard1987年SQL MX 2.0专有OracleOracle Corporation1979年11月10g Release 2专有Oracle RdbOracle Corporation1984年7.2专有OpenEdgeProgress Software Corporation1984年10.1B专有OpenLink VirtuosoOpenLink Software1998年4.5.3 (April 2006)GPL 或专有Pervasive PSQLPervasive Software ?9专有PostgreSQLPostgreSQL Global Development Group1989年6月9.0.0BSDPyrrho DBMSUniversity of Paisley2005年11月0.5专有SmallSQLSmallSQL2005年4月16日0.12LGPLSQL AnywhereSybase1992年10.0专有SQLiteD. Richard Hipp2000年8月17日3.3.7Public domainTeradataTeradata1984V2R6.2专有ValentinaParadigma Software1998年2月3.0.1专有VerticaVertica20054.0专有 维护者首次发行日期最新稳定版软件授权协议

[编辑]操作系统支持

这些数据库所能支持的操作系统。

 WindowsMac OS XLinuxBSDUNIXz/OS 14th 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是是是否否否 WindowsMac OS XLinuxBSDUNIXz/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是否 4Basic 4是Teradata是是是是Valentina否是否是 ACID关联完整性数据库事务Unicode万国码

注记 (3): 需要使用InnoDB格式数据表才能实现关联完整性约束与事务。 然而,InnoDB格式数据表仍旧允许存储的数据超出数据范围;一些观点认为它由此违反了ACID的完整性约束。

注记 (4): 外联键约束在语法上有效,但实际上并不能得到强制执行,可使用触发器替代。不支持嵌套事务。[1]

[编辑]表与视图

 临时表物化视图(Materialized view)Adaptive Server Enterprise是  5否Apache Derby是否DB2是是FirebirdWill be in 2.1否 (only common views)HSQLDB是否H2是否Informix是是Ingres是Ingres r4InterBase是否MaxDB是否Microsoft SQL Server是是MonetDB是否MySQL是否 6Oracle是是OpenEdge是否OpenLink Virtuoso是是PostgreSQL是否 7Pyrrho 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)GiSTGINAdaptive 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仅限MyISAMMEMORY, Cluster (NDB), 仅限InnoDB,17否否否否否否OracleEE edition onlyCluster 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)GiSTGIN

注记 (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外部调用 12Adaptive Server Enterprise是是是是是是Apache Derby否是是是 13是 13是 13DB2否是是是是是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是 14Pyrrho 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”