Relational database model versus Object Oriented database model.
The defining characteristic of a database is (arguably) the data model that it implements. A data model is an abstract, logical definition of the objects used to model the structure of data and the operators used to model its behavior. .
The most popular type of DBMS - and the only type that is as widely used today are the relational database systems, based on the relational data model.
Relational systems:.
Relational systems dominate the DBMS marketplace. Briefly (and loosely), a relational system is one in which:.
1. The data is perceived by the user as tables (and nothing but tables); and.
2. The operators available to the user (e.g. for retrieval) are operators.
that generate new tables from old.
The term relation is basically just a mathematical term for a table.
Examples: Oracle, DB2 (IBM), Ingres (pr. ingress), Informix, SQL Server (Microsoft), Sybase, MySQL and PostgreSQL.
More often than not, database designers are concerned with designing, implementing and querying databases that use a relational model. Therefore, the relational database model is likely to be the most widely used database to date.
Object systems:.
Object-oriented database systems (or object systems for short) are championed by some database experts (in particular, academic ones!) as the only realistic alternative to relational systems. They have their origin in object-oriented programming languages such as C++, hence the key concepts in object systems are: objects (instances of classes), classes (object types), methods (operators on objects of a particular class), messages (which invoke methods) and inheritance (mechanism by which a more complex class is derived from a simpler one). .
Advocates of the object-oriented approach extol their virtues most strongly for complex application areas, including science and medicine. .
On the other hand, object systems do not support some of the key ingredients of relational systems, notably an ad hoc query facility and views (there can be several different application- or user-specific views of the same data in a relational system).