Thursday, August 23, 2007

The Database Model


Dr. Edgar F. Codd was the founding father of what is known as the relational model of databases. In 1970, he published a groundbreaking article "A Relational Model of Data for Large Shared Data Banks." Included within the article were 12 rules of relational databases. These rules are as follows (paraphrased).

  1. Information Rule
    All data in the database should be represented as values in tables.
  2. Guaranteed Access
    Every piece of data should be accesible by using the table name, primary key, and a column name.
  3. Treatment of NULL Values
    Null values must be treated as incomplete data pieces. Nulls are not to be confused with zeros.
  4. Active-Online Relational Catalog
    A database is represented at a logical level of tables.
  5. Sublanguage
    Having one supported language with a well-defined syntax.
  6. Updating Views
    All views should be updated through the system.
  7. Set-level Insertion, Update, and Deletion
    System must support set-time insert, update, and deletion operations.
  8. Data Independence (Physical)
    Alterations to the way data is stored must not alter the application itself.
  9. Data Independence (Logical)
    Altering tables, columns, and/or rows must not alter the application itself.
  10. Integrity Independence
    The language of the database must define integrity rules.
  11. Distribution Independence
    Distributing the database to numerous locations should be anonymous and existing applications should be unaffected.
  12. Nonsubversion
    If the system uses a low level interface to record data, then there must be a higher level interface used when administrating.

The largest of corporations follow these rules of cataloging information to this very day.

No comments: