A series of posts in response to Tim Ford’s #EntryLevel Challenge.
“If we shadows have offended, Think but this, and all is mended, That you have but slumber’d here While these visions did appear. And this weak and idle theme, No more yielding but a dream, Gentles, do not reprehend: if you pardon, we will mend: And, as I am an honest Puck, If we have unearned luck Now to ‘scape the serpent’s tongue, We will make amends ere long; Else the Puck a liar call; So, good night unto you all. Give me your hands, if we be friends, And Robin shall restore amends.” —Puck’s epilogue: A Midsummer Night’s Dream
Part I: Getting started with Oracle Database
Part II: What is a Database?
Part III: What is a Relational Database?
Part IV: What is a Database Management System?
Part V: What makes a Database Management System relational?
Having already discussed the meaning of both relational database and database management system in previous posts, it may appear that the subject is settled. But the natural implications of the relational model are so numerous and profound that critics contend that, even today, a “truly relational” database management system doesn’t exist. For example, Dr. Edgar Codd wanted the database management system to treat views in the same manner as base tables whenever possible, but the problem of view updateability is unsolved to the present day. Codd listed more than 300 separate requirements that a database management system must meet in order to fulfill his vision properly, and I have time for just one of them: physical data independence. Here is the relevant quote from Codd’s book:
RP-1 Physical Data Independence: The DBMS permits a suitably authorized user to make changes in storage representation, in access method, or in both—for example, for performance reasons. Application programs and terminal activities remain logically unimpaired whenever any such changes are made.—E. F. Codd, The Relational Model for Database Management: Version 2 (Addison Wesley, 1990)
What Codd meant was that you and I shouldn’t have to worry about implementation details such as the storage structures used to store data.
Excerpted from Beginning Oracle Database 12c Administration