关系型数据库管理系统比较
在以下的表格中,将对一些关系型数据库管理系统的基本信息和技术信息进行对比。请参考以下产品各自的条目以获得更详细的介绍。该表格不可能包罗万象,也许有些信息已过时。除非注明,以下产品为各自的稳定版本,且没有安装任何形式的扩展程序。 基本信息操作系统支持这些数据库所能支持的操作系统。
注记 (1): 列表中标明了UNIX兼容的开源数据库可以在z/OS的内建子系统UNIX系统服务(USS)下编译和运行。大部分Linux兼容的数据库可以与z/OS在同一台服务器上通过Linux on zSeries运行。 基本功能数据库系统所能实现的基本功能对比。
注记 (3): 需要使用InnoDB格式数据表才能实现关联完整性约束与事务。 然而,InnoDB格式数据表仍旧允许存储的数据超出数据范围;一些观点认为它由此违反了ACID的完整性约束。 注记 (4): 外联键约束在语法上有效,但实际上并不能得到强制执行,可使用触发器替代。不支持嵌套事务。[1] (页面存档备份,存于互联网档案馆) 表与视图
注记 (5): 服务器提供临时数据库,可供会话存放公共/私有的临时表。[2] 注记 (7): 物化视图在PostgreSQL 9.3中已经实现支持。 [4] (页面存档备份,存于互联网档案馆). 索引
注记 (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): 以上函数和存储过程都是指使用SQL或者过程语言(如PL/SQL、PL/pgSQL等)编写的内部程序调用。外部调用是指使用其他外部语言,如C、Java等语言编写的调用。存储过程是这类调用的笼统称呼,在不同的供应商系统中,它们往往有着不同的定义。 数据表分区
注记 (14): PostgreSQL 8.1 提供了使用check约束实现的数据表分区。范围、列表以及哈希分区可通过PL/pgSQL或者其他过程语言模拟。[8] (页面存档备份,存于互联网档案馆) 数据库与模式(Schemas)SQL标准明确了SQL模式(SQL schema)的定义,然而,许多数据库对它的实现并不正确。SQL模式是指一个数据库内部的名字空间,此空间内部的对象可以通过成员操作符 一个完整名字的查询类似这种形式: 参考资料
外部链接
参见 |
Portal di Ensiklopedia Dunia