This is a comparison of object-relational database management systems (ORDBMSs). Each system has at least some features of an object-relational database; they vary widely in their completeness and the approaches taken.
The following tables compare general and technical information; please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
Name | Vendor | License | OS | Notes |
---|---|---|---|---|
Adaptive Server Enterprise | SAP | Proprietary | Cross-platform | |
CUBRID | NHN Corporation | GPL/BSD | Linux, Windows | |
Db2 | IBM | Proprietary | Cross-platform | |
Greenplum Database | Greenplum division of EMC Corporation | Proprietary | ? | Uses PostgreSQL codebase |
Informix | IBM | Proprietary | Cross-platform | |
Caché | InterSystems | Proprietary | Cross-platform | |
Microsoft SQL Server | Microsoft Corporation | Proprietary | Windows, Linux | Supports data objects in .NET languages |
Oracle Database | Oracle Corporation | Proprietary | Linux, Windows, Unix | |
PostgreSQL | PostgreSQL Global Development Group | PostgreSQL License | Cross-platform | |
OpenEdge Advanced Business Language (formerly Progress 4GL) | Progress Software Corporation | Proprietary | Cross-platform | |
Virtuoso Universal Server | OpenLink Software | GPLv2 or proprietary | Cross-platform | |
VMDS (Version Managed Data Store) | GE Energy, a division of General Electric | Proprietary | ? | GIS for public utilities; can be stored inside Oracle Database |
WakandaDB | 4th Dimension | AGPLv3 or proprietary | Windows, Linux, macOS | Based on REST and server-side JavaScript |
XDB Enterprise Server | Micro Focus | Proprietary | DOS, Windows NT, OS/2 | |
Zope Object Database | Zope Corporation | Zope Public License | Cross-platform | For Python, also included in Zope web application server |
Information about what fundamental ORDBMSes features are implemented natively.
Type | Method | Type inheritance | Table inheritance | |
---|---|---|---|---|
CUBRID | Yes | Yes | Yes | Yes |
Oracle | Yes | Yes [Note 1] | Yes | Yes |
OpenLink Virtuoso | Yes | Yes | Yes | Yes |
PostgreSQL | Yes | Yes | Yes | Yes |
Informix | Yes | Yes | Yes | Yes |
WakandaDB | Yes | Yes | Yes | Yes |
Information about what data types are implemented natively.
Array | List | Set | Multiset | Object reference | |
---|---|---|---|---|---|
CUBRID | Yes | Yes | Yes | Yes | Yes |
Oracle | Yes | Yes | Yes | Yes | Yes |
OpenLink Virtuoso | Yes | Yes | Yes | Yes | Yes |
PostgreSQL | Yes | Yes | Yes | Yes | Yes |
Informix | No | Yes | Yes | Yes | Yes |
A database is an organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modeling techniques.
An object database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are table-oriented. Object-relational databases are a hybrid of both approaches.
A relational database is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970. A software system used to maintain relational databases is a relational database management system (RDBMS). Many relational database systems have an option of using the SQL for querying and maintaining the database.
SQL is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS). It is particularly useful in handling structured data, i.e. data incorporating relations among entities and variables.
Object-relational mapping in computer science is a programming technique for converting data between incompatible type systems using object-oriented programming languages. This creates, in effect, a "virtual object database" that can be used from within the programming language. There are both free and commercial packages available that perform object-relational mapping, although some programmers opt to construct their own ORM tools.
An object-relational database (ORD), or object-relational database management system (ORDBMS), is a database management system (DBMS) similar to a relational database, but with an object-oriented database model: objects, classes and inheritance are directly supported in database schemas and in the query language. In addition, just as with pure relational systems, it supports extension of the data model with custom data types and methods.
Db2 is a family of data management products, including database servers, developed by IBM. They initially supported the relational model, but were extended to support object-relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB/2, then DB2 until 2017 and finally changed to its present form.
An entity–relationship model describes interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of entity types and specifies relationships that can exist between entities.
Data modeling in software engineering is the process of creating a data model for an information system by applying certain formal techniques.
The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
The object-relational impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a relational database management system (RDBMS) is being served by an application program written in an object-oriented programming language or style, particularly because objects or class definitions must be mapped to database tables defined by a relational schema.
D is a set of prescriptions for what Christopher J. Date and Hugh Darwen believe a relational database management system ought to be like. It is proposed in their paper The Third Manifesto, first published in 1994 and elaborated on in several books since then.
Object-oriented design is the process of planning a system of interacting objects for the purpose of solving a software problem. It is one approach to software design.
A database model is a type of data model that determines the logical structure of a database and fundamentally determines in which manner data can be stored, organized and manipulated. The most popular example of a database model is the relational model, which uses a table-based format.
This is a comparison of notable object database management systems, showing what fundamental object database features are implemented natively.
The following tables compare general and technical information for a number of available database administrator tools. Please see individual product articles for further information. This article is neither all-inclusive nor necessarily up to date.
A document-oriented database, or document store, is a computer program designed for storing, retrieving and managing document-oriented information, also known as semi-structured data.
A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed since the late 1960s, but the name "NoSQL" was only coined in the early 21st century, triggered by the needs of Web 2.0 companies. NoSQL databases are increasingly used in big data and real-time web applications. NoSQL systems are also sometimes called "Not only SQL" to emphasize that they may support SQL-like query languages or sit alongside SQL databases in polyglot-persistent architectures.
Lists of database management systems provide indexes and/or comparisons of different types of database management system. They include:
The following