Next: Play Along at Home
Up: Introduction
Previous: Introduction
Contents
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:
- Information is represented logically in tables.
- Data must be logically accessible by table, primary key, and column.
- Null values must be uniformly treated as "missing information," not as empty strings, blanks, or zeros.
- Metadata (data about the database) must be stored in the database just as regular data is.
- A single language must be able to define data, views, integrity contraints, authorization, transactions, and data manipulation. [Typically this is SQL.]
- Views must show the updates of their base tables and vice versa.
- A single operation must be able to retrieve, insert, update, or delete data.
- Batch and end-user operations are logically separate from physical storage and access methods.
- Batch and end-user operations can change the database schema without having to recreate it or the applications built upon it.
- Integrity constraints must be available and stored in the relational database metadata, not in an application program
- The data manipulation language of the relational system should not care where or how the physical data is centralized or distributed.
- 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: Play Along at Home
Up: Introduction
Previous: Introduction
Contents
2005-02-10