My post a few weeks ago, Thirty years of Oracle innovation — but is it really a RDBMS?, generated quite a bit of feedback. Actually, there was a lot of heat but not much light, as they say.
Here is a representative sampling of your comments:
- “Of course Oracle started basing its DBMS on the relational model. Oracle falls far short of being a true RDBMS, though. This is not overly negative though as there is no DBMS that I am aware of that is truly relational according to the relational model.”
- “Calling Oracle’s DBMS a ‘SQL DBMS’ — why bother? Who cares? Mr. Codd’s model was just a model, a paradigm upon which others can build.”
- “Hats off to Codd and Date for developing relational theory. Sadly, they lacked a company with the vision to turn it into market dominance. Oracle provided that business vision. Credit is due for that. As for the academic question, which would you rather be, right or rich?”
- “One thing to remember is that if databases in the ’80s were actually fully relationally-compliant, they would have used so many resources that the actual benefit would be negligible, because it would have eaten almost all available computing resources . . . “
- “The work of Codd and Date deals with a theoretical mathematical model that would be great in an ideal world. Oracle built a product based on that theory embracing the limitations we have in the real world.”
- “It’s about more than just a name. The marketing efforts of IBM, Oracle, et al have obscured the benefits of real RDBMS compared to its SQL imitations. After 30 years, hopefully the time is right for a new generation of truly relational systems. Certainly the technology is in place today to make that possible.”
You get the idea. The majority opinion is roughly that no, Oracle is not a relational DBMS but it’s close enough, given practical limitations. Of course, the majority is not always right.
Codd’s 12 rules for relational compliance are well-known. Which ones exactly does Oracle violate? What if the company, for some reason, decided that 11g should be a true RDBMS. What would change? Would it really affect DBAs or developers in the trenches? I’d be interested to know your thoughts.