Dr. E. F. Codd’s 12 Rules of Relational Database Management Systems (RDBMS)
Dr. Edgar F. Codd proposed these rules to define what a true Relational Database Management System should be.
Rule 0: Foundation Rule
A system must use its relational capabilities exclusively to manage the database.
Rule 1: Information Rule
All information in the database must be represented only as values in tables (rows and columns).
Rule 2: Guaranteed Access Rule
Every data value must be accessible by specifying:
- Table name
- Primary key (row identifier)
- Column name
Rule 3: Systematic Treatment of NULL Values
NULL values must be supported and treated systematically to represent missing or unknown information.
Rule 4: Dynamic Online Catalog Rule
The database dictionary (metadata) must be stored as relational tables and be accessible using the same query language.
Rule 5: Comprehensive Data Sublanguage Rule
The system must support at least one relational language that can:
- Define data
- Manipulate data
- Define views
- Specify integrity constraints
- Manage transactions
(SQL is the most common example.)
Rule 6: View Updating Rule
All theoretically updatable views should be updatable by the system.
Rule 7: High-Level Insert, Update, and Delete Rule
The system must support set-level operations for INSERT, UPDATE, and DELETE, not just record-by-record processing.
Rule 8: Physical Data Independence
Changes in physical storage methods should not affect application programs.
Rule 9: Logical Data Independence
Changes in logical structure (such as adding columns) should not require changes in application programs.
Rule 10: Integrity Independence
Integrity constraints should be definable in the database and independent of application programs.
Rule 11: Distribution Independence
Users should not need to know whether data is distributed across multiple locations.
Rule 12: Non-Subversion Rule
If a low-level language is provided, it must not bypass integrity rules and constraints defined in the relational system.
Summary Table
| Rule No. | Rule Name |
|---|---|
| 0 | Foundation Rule |
| 1 | Information Rule |
| 2 | Guaranteed Access Rule |
| 3 | NULL Values Rule |
| 4 | Dynamic Online Catalog |
| 5 | Comprehensive Data Sublanguage |
| 6 | View Updating Rule |
| 7 | High-Level Insert, Update, Delete |
| 8 | Physical Data Independence |
| 9 | Logical Data Independence |
| 10 | Integrity Independence |
| 11 | Distribution Independence |
| 12 | Non-Subversion Rule |
Exam Tip: Many universities refer to these as Codd’s 12 Rules, but there are actually 13 rules numbered 0 through 12.