Codd’s Rules

There are 12 rules formulated by E.F. Codd for RDBMS in 1970. So, It is known as Codd’s Rules or Codd’s 12 Rules. If an RDBMS satisfies all of these Codd’s Rules, then full benefits of the relational database results can be obtained.
The Codd’s Rules are given as follows:Codd's Rules

  • Information Representation
  • Guaranteed Access
  • Systematic Treatment of Null Values
  • Database Description Rule
  • Comprehensive Data Sub-Language
  • View Updating
  • High-Level Update, Insert, Delete
  • Physical Data Independence
  • Logical Data Independence
  • The Distribution Rule
  • Non-Subversion
  • Integrity Rule

Rule 1: Information Representation

In a relational database model, all information should be explicitly and logically represented by entering the data values in the form of tables. The information such as view and column names should be in the table form. Data stored in the data dictionary should also be in the tabular form.

Rule 2: Guaranteed Access

This rule refers to the fact that a table can be taken as a storage structure and at the intersection of each column and row, there will necessarily be only one specific value of data item (or null). Every value of data item must be logically addressable by using a combination of table_name, primary-key-value and the column-name.

Rule 3: Systematic Treatment of Null Values

In a relational database management system, null values should be supported for the representation of missing and inapplicable information only. The Database management system must have a consistent method for representing null values.

Rule 4: Database Description Rule

The description of a database is stored and maintained in the form of tables. This allows users with appropriate authority to query information using similar ways and using the same language. This implies that a data dictionary should be present within the RDBMS that is constructed out of tables that can be examined by using the structured query language (SQL).

Rule 5: Comprehensive Data Sub-Language

The RDBMS must be completely manageable through its extension of SQL. The SQL should support Data Definition, Views, Data Manipulation, Integrity Constraints, and Transaction Boundary.

Rule 6: View Updating

Any view that can be defined using a combination of base tables, and theoretically updatable. It must also be capable of being updated by the RDBMS.

Rule 7: High-Level Update, Insert, Delete

An RDBMS must do more than just be able to retrieve relational data sets. It must also be possible to insert, update and delete data items from the relational set.

Rule 8: Physical Data Independence

Physical Data Independence refers to the ability to modify the schema followed at the physical level without affecting the schema followed at a conceptual level. Changes made to physical storage representation or access methods do not require changes to be made to the application programs which is used to manipulate data in the tables.

Rule 9: Logical Data Independence

Logical Data Independence refers to the ability to modify the conceptual schema without causing any changes in the schema followed at the view level. Application programs should not be affected by the changes made to the base tables.

Rule 10: The Distribution Rule

An RDBMS, it must have distribution independence, thus it must make it possible for the database to be distributed across multiple computers even though they are having heterogeneous platforms both for hardware and operating system. This is one of the most attractive aspects of RDBMS.

Rule 11: Non-Subversion

If the RDBMS supports facilities allowing application programs to operate on a table a row at a time, then an application program using this type of database access is prevented from bypassing entity-integrity constraints that may be defined for the database.

Rule 12: Integrity Rule

Integrity constraints specific to a particular relational database must be definable in SQL or some other data sub-language. These integrity constraints must be storable in the catalogue and not in the application programs.