Codd’S Relational Database Rules

In 1985, Dr. E. F. Codd published a list of 12 rules to define a relational database system.2 The reason Dr. Codd published the list was his concern that many vendors were marketing products as “relational” even though those products did not meet minimum relational standards

Dr. Codd’s 12 Relational Database Rules

1: Information

All information in a relational database must be logically represented as column values in rows within tables.

2: Guaranteed Access

Every value in a table is guaranteed to be accessible through a combination of table name, primary key value, and column name

3: Systematic Treatment of Nulls

Nulls must be represented and treated in a systematic way, independent of data type

4: Dynamic Online Catalog Based on the Relational Model

The metadata must be stored and managed as ordinary data, that is, in tables within the database. Such data must be available to authorized users using the standard database relational language.

5: Comprehensive Data Sublanguage

The relational database may support many languages. However, it must support one well-defined, declarative language with support for data definition, view definition, data manipulation (interactive and by program), integrity constraints, authorization, and transaction management (begin, commit, and rollback).

6: View Updating

Any view that is theoretically updatable must be updatable through the system.

7: High-Level Insert, Update, and Delete

The database must support set-level inserts, updates, and deletes.

8: Physical Data Independence

Application programs and ad hoc facilities are logically unaffected when physical access methods or storage structures are changed

9: Logical Data Independence

Application programs and ad hoc facilities are logically unaffected when changes are made to the table structures that preserve the original table values (changing order of columns or inserting columns)

10: Integrity Independence

All relational integrity constraints must be definable in the relational language and stored in the system catalog, not at the application level.

11: Distribution Independence

The end users and application programs are unaware and unaffected by the data location (distributed vs. local databases).

12: Nonsubversion

If the system supports low-level access to the data, there must not be a way to bypass the integrity rules of the database.

Rule Zero

All preceding rules are based on the notion that in order for a database to be considered relational, it must use its relational facilities exclusively to manage the database

Leave a Comment