Jump to content

Object–relational database

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 32.97.110.71 (talk) at 16:45, 7 August 2002. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Object-Relational database management technology is a term with one of two

distinct meanings. 
1. Object-Relational database management systems (ORDBMS) are an evolutionary 
extension of relational DBMS products. Whereas RDBMS -- or SQL-DBMS -- products 
focussed on the efficient management of data drawn from a limited
set of data types (defined by the relevant language standards) an object-
relational DBMS allows software developers to integrate their own types and 
the methods that apply to them into the DBMS. 
  The goal of ORDBMS technology is to allow developers to raise the level of
 abstraction at which they view the problem domain. In an RDBMS, it would be 
 fairly common to see SQL like this:
  CREATE TABLE Customers  (
      Id          CHAR(12)    NOT NULL PRIMARY KEY,
      Surname     VARCHAR(32) NOT NULL,
      FirstName   VARCHAR(32) NOT NULL,
      DateofBirth DATE        NOT NULL
   );
    SELECT InitCap(C.Surname) || ', ' || InitCap(C.FirstName)
      FROM Customers C
     WHERE -- Some horribly complex logic


   In an Object-Relational DBMS, you would see something like this:
   CREATE TABLE Customers (
     Id           Cust_Id     NOT NULL  PRIMARY KEY,
     Name         PersonName  NOT NULL,
     DOB          DATE        NOT NULL
   );
   SELECT Formal( C.Name )
     FROM Customers C
    WHERE BirthDay ( C.DOB ) = TODAY;
      Most modern DBMS products -- IBM DB2, Oracle, and Microsoft SQL Server -- 
  make claims to support this technology and do so with varying degrees of 
  succcess. The Open Source DBMS PostgresSQL supports a surprisingly large 
  set of these features. 
  2. Object-Relational Mapping. This term refers to a technology to map 
  object-oriented application-level programs into relational (RDBMS) 
  schema, and to map operations in the application layer into SQL DBMS 
  operations. This is the preferred approach of technologies like Sun's JDO.