» VIEW ALL POSTS May 21 2007   11:08AM GMT

Thirty years of Oracle innovation — but is it really a RDBMS?



Posted by: Clinek
Tags:
Oracle applications
Oracle database administration

In recent months, Oracle has been bragging about its thirty years of innovation, beginning with its debut in 1977 as the “first SQL relational database management system. The time-line begins like this:

  • 1977 – Software Development Laboratories, the precursor to Oracle, is founded by Larry Ellison, Bob Miner, and Ed Oates.
  • 1978 – Oracle Version 1, written in assembly language, runs on PDP-11 under RSX, in 128K of memory.
  • 1979 – Oracle Version 2, the first commercial SQL relational database management system, is released. The company changes its name to Relational Software Inc.

. . . and so on. At last month’s Collaborate show, Oracle’s “Dr. DBA” Ken Jacobs acknowledged Oracle’s debt to the relational model pioneer Ted Codd.

However, some commentators have always argued that the Oracle DBMS doesn’t really conform very well to the relational model or standard SQL at all. I recently came across an old — but still relevant — thread rant by “striebs” that outlined some Oracle violations:

  1. “ROWID and ROWNUM extensions: ROWID is a transient identifier of a row of a base table, which happens to correspond to the address of the physical representation of the row (storage). So what does Oracle hope to achieve (other than performance) by exposing an implementation detail from the physical data model through the logical data model? . . . Now here is the key point: is it better to provide extensions to allow processing of individual duplicated rows or would it have been better to outlaw duplicate rows by insisting each table has a key? The features that provide row-level processing just do not incentivise people to elevate their thinking to consider sets of data rather than individual objects and this is holding data management back.
  2. “Constraint support: Did you know that a constraint is any condition you can think of which must evaluate to true (in binary logic) in order for an update of the database to be plausible? . . . [Does anybody really] think that Oracle constraint support is adequate as it stands?
  3. “Data types and domain support: In Oracle, user-defined datatypes are difficult to define and use. Wouldn’t you like to be able to do rudimentary things simply like define a datatype of country_code based on a built-in datatype such as varchar2(2) and then add a column to a table – like ADD (nationality TYPE country_code NOT NULL) — and be able to deal with it as conveniently as if it has been defined as VARCHAR2(2)?”

Don Burleson wrote an interesting article about how Oracle departs from the relational model, citing the debate about Codd and Date’s “omission of physical storage in their relational model.” He writes:

Oracle officially changed their data definition language (DDL) in the 1990′s to allow the Oracle DBA to physically sequence table rows (to improve runtime SQL performance) by allowing “create table as select” syntax to include the “order by” clause. Since then, Oracle has incorporated many physical storage features into their object-relational model, introducing cluster tables, the index-organized table (IOT), and the Oracle 10g sorted hash cluster table structure.

Of course, Don notes that the relational model says nothing about physical storage on purpose, since it is specifically designed to separate the logical from the physical. 

Indeed, Date and his colleagues would call Oracle an “SQL DBMS,” not a relational DBMS. What do you think? Does Oracle deserve its reputation as a relational model innovator? Or was it never meant to be a “pure” RDBMS, but rather an object-relational DBMS?

 Cheers, Tim

30  Comments on this Post

 
There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when other members comment.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
  • Clinek
    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. And back when Oracle debuted there was no such thing as object/relational, so that question has no merit. Does Oracle deserve credit for being a relational innovator? Yes, absolutely, even though they never built a truly relational product. They beat IBM to market with a SQL DBMS and IBM created both the relational model and SQL. So the pride is warranted IMHO.
    0 pointsBadges:
    report
  • Clinek
    Oracle really sucks!!! Many customers got sucked in because they liked the name (it's a good name). But the product really sucks big time. Name one thing that Oracle is really good at! DBMS engine? Metalink? Universal Installer? Enterprise Manager? JDeveloper? Application Server? Fusion? Identity Manager? Internet Directory? They are all pieces of craps!!!
    0 pointsBadges:
    report
  • Williame
    Distorting from "the Bard", "What's in a name? That which we call a database of relationships by any other name is a relational database." Calling Oracle's DBMS “SQL DBMS”, why bother? Who cares? Mr. Codd's model was just a model, a paradigm upon which others can build. Remember the variations in procedural languages of the past, vendors of same would all state "ANSI 9234 compliant" or whatever but with the vendor's "extensions"? DBMS' with relationships offered by whomsoever can still be called RDBMS, right?
    0 pointsBadges:
    report
  • Clinek
    The debate that Drs. Codd and Date are engaging in personifies the problems that IBM had in the early 90's - they had superior 'thought' and inferior 'delivery of value' (in the eyes of their customers). Surely, they thought, people would stay with mainframes and a 'real' relational database rather than use unix and Oracle's toy SQL database. The market, the final arbitrator, decided otherwise and rather than adapt, IBM decided it would rather win the academic argument than make money for its stakeholders. 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?
    0 pointsBadges:
    report
  • Toon
    The word "relational" in the acronym RDBMS, does *not* refer in any way to the word "relationship" in for instance the acronym ERD. A common misconception. It refers to the mathematical concept of a relation... (which I won't explain here)
    0 pointsBadges:
    report
  • Clinek
    My association with the Oracle database management system goes back to 1983, when Oracle Corporation was relatively a small company with a nice but small user base, and an interesting approach to implementation of parts of the relational model. In the 80s there were debates about the degrees by which implementations of the relational model of Codd & Date (also a controversial model, at least at the time) were actually successful. 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, even when spending serious money, which is what big iron cost in those days – megabucks; therefore Oracle, like many others, took a somewhat iterative approach to the development of their relational model and product offerings, allowing innovators to innovate, but allowing business use and application to actually determine what the advances in innovation actually were. Oracle was relatively a great product in the early 80s for MIS, and it still is, although “way way” much more so. I used to build MIS and information centers in the eighties – when I was a kid, and I’d was there leveraging different DBMS, and so on, and I can say that I have now been in the DW space for well on 15 years, and in that time I saw that Oracle used to be a hard tool to use, but nonetheless produced good results, so for me, Oracle is far easier to use, has some very timely features, and gives me a technological platform from which I can produce great business results from. Moreover, I have never seen Oracle core technology contribute to a project failure in the MIS /DW space, not even because it isn’t “fully relational”, and whilst all technologies will bound to have limitations, and eventually become subject to enhancement, morphing to new forms and even replacement, I don’t think Oracle is doing so badly at all (I wish I was doing as badly) – ok, people complain about the cost, but if you want the Ferrari of current DBMS world it does come with a price tag.
    0 pointsBadges:
    report
  • Clinek
    By the way, do you know where the RDBMS comes from? Remember the network model?
    0 pointsBadges:
    report
  • Clinek
    Oracle does have a true RDBMS, but it's called Oracle Rdb, and runs on OpenVMS. We currently run it at Avondale College for our in-house student records system, and it is a mighty fine product -- the best RDBMS I know of, though my knowledge is limited by lack of experience! Check it out at http://www.oracle.com/rdb
    0 pointsBadges:
    report
  • Clinek
    Well, if it is not RDBMS then it is not. who cares. Some one needs to go back and redefine RDBMS model.
    0 pointsBadges:
    report
  • Clinek
    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. Extensions like ROWID and ROWNUM are necessary evils to overcome real problems. Support of physical storage features likewise allows the DBA and developer to solve practical problems. I remember Ken Jacobs telling me once at an Oracle conference that the database software didn't even work properly until they got to version 7, so it hasn't done too badly.
    0 pointsBadges:
    report
  • Djb
    It seemed to me that Mr Codd developed more rules to define a relational database every time Oracle got closer to his model so that he could say it wasn't truly relational. May be I'm doing him an injustice but it harks back to the number of angels dancing on a pin head. It works and while not perfect ( what is ? ) is by no means 'a piece of crap'. 'As for the academic question, which would you rather be, right or rich?' Preferably both, please.
    20 pointsBadges:
    report
  • Clinek
    Oracle RDBMS (DBMS with "Rationalization" I would prefer to say) obviously does not have the 100% backing for Relational model but given the chance, customers see where Oracle fits for them. The concept adherance by Oracle is not by definition but by perception as deemed by Drs.Codd. Having said that, the powerful features of Oracle at this stage is unbeatable. Do we see many players around? The innovation has to be continuous and hence the change in name, definition, concepts, perceptions all happen by time. But for gods sake, it's no time for names - it fits my need - that's it. If you got to bargain on the cocepts, better be ready with an alternative...
    0 pointsBadges:
    report
  • Clinek
    OracleComment is, quite obviously, an idiot. Anyway, she/he asked, "Name one thing that Oracle is really good at!" (incidentally, OracleComment, a question mark, rather than an exclamation mark, is the traditional character that one ends a question with). Well, here's one thing Oracle is really good at: Robustness. Could have said Multi-Versioning, Speed, Ability to Install on Many Platforms, Flashback, Locking, and, of course, DBMS engine Metalink, Universal Installer, Enterprise Manager, etc. OracleComment: You haven't actually used Oracle of late, have you?
    0 pointsBadges:
    report
  • Clinek
    Codd’s written 12 rules to establish his RDBMS concept. Codd's 12 rules are a set of thirteen rules proposed by Edgar Codd, a inventor of the relational model for databases, designed to define what is required from a database management system in order for it to be considered RDBMS. According to Mr. Codd's, i think ORACLE is true RDBMS.
    0 pointsBadges:
    report
  • Clinek
    Here is a link to Codd's 12 rules: http://en.wikipedia.org/wiki/Codd's_12_rules Does Oracle conform to all of these? --Tim
    0 pointsBadges:
    report
  • Clinek
    The relational model for database management is a database model based on predicate logic and set theory. It was first formulated and proposed in 1969 by Edgar Codd with aims that included avoiding, without loss of completeness, the need to write computer programs to express database queries and enforce database integrity constraints. http://en.wikipedia.org/wiki/Relational_model#SQL_standard
    0 pointsBadges:
    report
  • David
    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 immitations. 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.
    0 pointsBadges:
    report
  • Clinek
    Ted Codd stepped out on a limb and defined a mathematical basis for the storage and retrieval of data. The man was brilliant and created a revolution. Oracle is a part of that revolution, and sought to bring a product to market, based on Codd's work. Like any good theorist, Codd's complaint is not that Oracle is "non-compliant", but that no-one is FURTHERING his theory. Chris Date on the other hand is a disciple of Codd, and correctly points out that Oracle is "non-compliant", thereby preventing corruption of his masters work. We shouldn't be screaming "lets make Oracle compliant", or even "lets be pragmatic and make it workable", what we should be screaming is "where is the next revolution".
    0 pointsBadges:
    report
  • Clinek
    A comment on point 1 of the 'old rant'Tim republished, specifically on the reason '... (other than performance)' for ROWID exposure in SQLPlus and PL/SQL. When a critic specifically excludes a critical axis of evaluation from their criticism, they open themselves to being challenged for bias. To exclude performance criteria from an RDBMS discusson is to declare the discussion essentially irrelevant to the data consumers fed by those RDBMS's.
    0 pointsBadges:
    report
  • Clinek
    Eldon, Agreed, Rdb comes very close to the C&D Model.
    0 pointsBadges:
    report
  • Clinek
    If Oracle is not an RDBMS then the definition of RDBMS needs to be redefined, and it must be what Oracle is offering.
    0 pointsBadges:
    report
  • David
    Shahid, assuming you meant that ironically, did you have a new definition in mind?
    0 pointsBadges:
    report
  • Clinek
    This is not very complicated in my opinion: Can a fully normalized database be constructed in Oracle? Are the set operators functional? The answer, of course, is yes to both. It is an RDBMS.
    0 pointsBadges:
    report
  • David
    Mark, that's an odd argument. Normalization is merely a relational database design discipline, it doesn't make a DBMS relational. The relational model is a pre-requisite for normalization to take place, it is not the PRODUCT of normalization rules.
    0 pointsBadges:
    report
  • Clinek
    Oracle, being a large successful company, obviously is at the same time praised and vilified, but that has no bearing on the actual discussion. It is good that this forum is not edited {censored}, but also bad, since clearly there are several off-topic rants of low informational content and unsupported reasoning. 1) As to the question of Codd's Rules as a test, according to Pascal in Aug of 2005, "I would not pay too much attention to Codd's rules at this point, they have been deprecated. Codd formulated them as a quick and dirty way to counter all the nonsense that was floating at that early time, they are not orthogonal or systematic, and our understanding of RM has progressed considerably since then." I would say that Chris Date, Hugh Darwen, or Fabian Pascal would probably be the best authority on what constitutes the current snapshot of what we might refer to as the "Relational Data Model Body Of Knowledge". Having been a working practitioner at the time, I recall Codd's initial Rules being in response to several 'bandwagon' attempts to claim that a DBMS was "Relational" just by slapping a "New & Improved", "Now Relational!" sticker on it. Surveying the publications of the ACM SIGMOD group are not much help either, many of these academicians are working in ontologies and other XML-based semantic definitions of representing information, and not concerned per-se with the question of "What makes an RDBMS Relational?" 2) Issues about SQL to Oracle orthagonality - Any advanced SQL practitioner or DBA will most likely agree with the statement that "SQL has some serious inherent flaws", part of being a skilled practitioner is knowing how to work around them. Creating non-relational "hacks" and "workarounds" like RowID and RowNum are not helping to counter the argument that SQL is not the be-all utopian Relational Data Management tool. But why MUST it be so? Certainly borrowing from other analogues, a mechanic employs a range of tools and trys to match the correct tool to the problem rather than attempting to use one for everything. 3) Regarding the 'Oracle is an SQL DBMS not an RDBMS' argument - Turning to the claimed "over-coupling" of Oracle's Flagship RDBMS product line to SQL, this is a bit difficult to argue against, because in fact the critics are right. Here's the fallacy, there is no need to tie such a fine product line to a rock [SQL problems], marrying it so unconditionally to SQL, and then have to constantly contend with the flaws and awkwardness of SQL through non-standard extensions, which produce a chorus of catcalls from the purists arguing to simply fix the standard. Certainly there is nothing stopping the Oracle product line from supporting ADDITIONAL (especially Non-SQL) native APIs, such as a direct link to a relational algebra notation. Or here's a completely outrageous idea on the face of it, Why not start a project to implement "D" as an API, the "much-heralded order of magnitude" improvement in technology over SQL. Date and his associates might be engaged to consult on constructing such an extension, and this could serve as a put-up-or-shut-up proposition. In summary: Arguing whether Oracle is an RDBMS or simply an SQL-DBMS is perhaps more a matter more of perception than of reality, and any such negative perceptions are entirely within Oracle's ability to resolve, should they desire it. "We have met the enemy, and he is us." - Pogo
    0 pointsBadges:
    report
  • Clinek
    Superb post, Theo. Thanks for your comments. --Tim
    0 pointsBadges:
    report
  • Clinek
    This has been quite an educational track. Thanks for everyone's input. While the subject, it apparently turns out, is, like Paris Hilton's situation, mostly of little relevance, it is philosophically and historically quite fascinating, and educational from a larger perspective.
    0 pointsBadges:
    report
  • Clinek
    All academicians and db experts. I have a silly question .. Which of codd's 12 rules, ORACLE does not satisfy .. ? http://en.wikipedia.org/wiki/Codd's_twelve_rules
    0 pointsBadges:
    report
  • Clinek
    To Jerry Finkenkeller: The open source world is full of people who would rather be right than rich.
    0 pointsBadges:
    report
  • Clinek
    Guess rule 3 is violated by Oracle, for example: The concept of NULL - as value for "Empty", or "Missing" - is violated for e.g. VARCHAR2 as the empty string '' is equivalent to NULL.
    0 pointsBadges:
    report

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to: