开发者

Are products like SQL Server and Oracle examples of an "ORDBMS"?

开发者 https://www.devze.com 2022-12-27 14:01 出处:网络
According to wikipedia! http://en.wikipedia.org/wiki/ORDBMS IBM\'s DB2, Oracle database, and Microsoft SQL Server, make claims to

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 succes开发者_开发知识库s

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


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.


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.


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.


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


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

0

精彩评论

暂无评论...
验证码 换一张
取 消