next up previous contents
Next: Play Along at Home Up: Introduction Previous: Introduction   Contents

The Relational Model

In this day and age its easy to take the "simplicity" of the modern relational database for granted. When you first learned about relational databases you might have said to yourself "this is just a bunch of spreadsheets!", and more or less you'd be right. However, this wasn't always the case, it was Dr. E.F. Codd, an IBM researcher, that first developed the relational data model in 1970. In 1985, he published a list of 12 rules known as "Codd's 12 Rules" that defined how a true RDBMS should be evaluated. Understanding these rules will greatly improve your ability to understand RDBMS's in general, including Oracle. The following are Codd's rules1.1:

  1. Information is represented logically in tables.
  2. Data must be logically accessible by table, primary key, and column.
  3. Null values must be uniformly treated as "missing information," not as empty strings, blanks, or zeros.
  4. Metadata (data about the database) must be stored in the database just as regular data is.
  5. A single language must be able to define data, views, integrity contraints, authorization, transactions, and data manipulation. [Typically this is SQL.]
  6. Views must show the updates of their base tables and vice versa.
  7. A single operation must be able to retrieve, insert, update, or delete data.
  8. Batch and end-user operations are logically separate from physical storage and access methods.
  9. Batch and end-user operations can change the database schema without having to recreate it or the applications built upon it.
  10. Integrity constraints must be available and stored in the relational database metadata, not in an application program
  11. The data manipulation language of the relational system should not care where or how the physical data is centralized or distributed.
  12. Any row processing done in the system must obey the same integrity rules and constraints that set-processing operations do.

Understanding these rules provides you with a fundamental understanding of the relational database and how it is constructed. Of these rules the most difficult one to come to terms with is rule 4, stating that all information describing the database must itself be contained in the database, this is where system tables or data dictionaries come in and why its so difficult to start exploring the database without a basic understanding of the relation database design rules. Its not terribly diffrent than building a webserver that must be configured using a CGI, while it isn't intiative, it is an admirable design decision.

You by no means need to bother memorizing this list of rules but simply stashing them away in your long term memory will help to clarify some design decisions used by modern relational databases that might otherwise seem odd.


next up previous contents
Next: Play Along at Home Up: Introduction Previous: Introduction   Contents
2005-02-10