1. Object-relational databases are object-oriented databases built on top of the relational model.The declarative nature and limited power of the SQL language provides good protection of data from programming errors, and makes the high-level optimization, such as reducing I/O, relatively easy.Object-relational systems aim at making data modeling and querying easier by using complex data types.Typical applications include storage and querying of complex data, including multimedia data.
2. Persistent programming language-based OODBs target applications of that form that have high performance requirements: no data translation needed, low-overhead access to persistent data, but more susceptible to data corruption to programming errors and usually do not have a powerful querying capability. Typical applications include CAD databases.
This contrasts with a declarative language which imposes a signi cant performance penalty for certain kinds of applications that run primarily in main memory and that perform a large number of accesses to the databases.
3. Summary:
(a) relational systems:simple data types, powerful query languages, high protection.
(b) persistent programming language-based OODBs: complex data types, integration with programming languages, high performance.
(c) object-relational systems: complex data types, powerful query languages, high protection.
Some systems blurs the boundary, e.g., some object-oriented database systems built around a persistent programming language are implemented on top of a relational database system.
