views:

192

answers:

5

According to wikipedia!

http://en.wikipedia.org/wiki/ORDBMS

IBM's DB2, Oracle database, and Microsoft SQL Server, make claims to support this technology and do so with varying degrees of success

So, are these products true "ORDBMS" like PostgreSQL? or they are they are long way from it? can someone plz! point me to any link where i can read about the features still to be implemented by these RDBMS to become true ORDBMS!

A: 

Here is a oracle page covering objects, "Constructor Methods" and "Object Comparison".
And an introduction to Oracle Objects

hamishmcn
A: 

In the case of SQL server, it does not support these features itself.

Although as you may know there are many tools that will help you with that, like LINQ.

Francisco Soto
+2  A: 

There is no absolute definition of an ORDBMS. How Oracle goes about storing objects is by hiding them in tables under the covers.

It is all smoke and mirrors going back ten years when Object Oriented Databases were being flogged as the next big thing.

I suspect that there won't be massive jumps in the level of 'object support' the major vendors put into their existing products. It looks like demand for Object Databases / Document Stores, it is probably in applications unsuited to an RDBMS. So the vendors are more likely to build or buy distinct products and focus on products that serve to integrate data irrespective of how it is stored.

Gary
+5  A: 

Oracle re-branded itself as an ORDBMS with the release of 8.0, which was the version when TYPEs arrived. However it wasn't a very complete object implementation. There was no inheritance in the first release and it took until 9iR2 - three major releases later - to get user-defined constructors. Even now, with 11g out, encapsulation is not entirely supported: TYPEs cannot have private variables or methods.

It transpired that very few existing Oracle customers cared much about objects and very few OO programmers were interested in databases. Plus there was a new Next Big Thing: the internet. So when version 8.1 was released Oracle reverted to being a plain RDBMS, albeit an internet-enabled one. Hence the 8i tag (i.e. it had Java Stored Procedures).

To those of us brought up on SQL the object implementation is a bit clunky and doesn't offer much with regards to storage. However, TYPEs have been a major addition to the PL/SQL armoury, particularly collections and bulk processing. Inheritance and polymorphism can be useful in some niche scenarios. I presented on this topic at the UKOUG annual conference a few years ago. Find out more.

Edit

Oracle still includes all its ORDBMS features in every edition of the database. They are pretty comprehensive (except for that lack of private variables and methods). I don't know how it compares to PostgreSQL. Oracle's OR features are covered in Oracle's online documentation, which you can read here.

APC
Oracle and Postgres really don't compare here. Postgres is OR (Object Relational) allowing you to inherit from tables, while Oracle is more OO, implementing those features are in the type system. Two totally different things.
Scott Bailey
Inheriting from tables would be highly neat. One of the most irritating things in Oracle OO is when we want to define a TYPE which has the same structure as a TABLE, because we have to create it manually. This is time consuming, and also brittle. Although I suppose it does reflect teh primacy of data storage over programming constructs.
APC
A: 

Yes both Oracle and SQL server are ORDBMSs and so is IBM's Informix btw.

Garuncha