• E.F.Codd introduced a list of 12 rules in 1985. These rules are known as Codd’s rules.
  • It defines an ideal relational database and provided a guideline for the design of all relational database systems.
  • Codd has used the term guideline because till now no commercial database system fully satisfies to all the 12 rules.

Rule 1: The Information Rule:

  • The information rule states that all the data should be presented in a table form.

Rule 2: Guaranteed Access Rule:

  • All the data stored in the database should be accessible without any ambiguity.
  • This can be accomplished through a combination of the table name, primary key, and column names.

Rule 3: Systematic Treatment of Null Values:

  • All DBMS system should support null value concept.
  • If user wishes to left the field blank than it should be possible.
  • A null value is a special value which is neither empty string nor zero.

Rule 4: Dynamic On-Line Catalog based on the Relational Model:

  • User should be able to access the internal structure of the database by using the same tools which are used for the data access.

Rule 5: Comprehensive data sublanguage Rule:

  • All database systems must support at least one clearly defined language for communicating with database
  • It should include data definition, data manipulation & data transaction language.
  • The most common & standard language is SQL.

Rule 6: View Updating Rule:

  • A database system should be able to create logical view from the combination of different tables.
  • Although it is difficult to completely support this feature by the data base system, it should be able to create different views such as read only & updatable.

Rule 7: High-level Insert, Update, and Delete:

  • A database system must support insert, update, and delete operations on multiple rows.

Rule 8: Physical Data Independence:

  • A user should be totally unaware with the physical method of storing data on the hardware.
  • It should not affect to the retrieving method if interval structure of the database is changed.

Rule 9: Logical data Independence:

  • This rules states that if logical structure of the database is changed than also user can access the data by the same way using the same tools.

Rule 10: Integrity Independence:

  • A data base system should support different constrains on data for the data integrity.
  • All the system should support at list two constrains that is primary key & foreign key constrains.

Rule 11: Distribution Independence:

  • The user should unaware with whether a database is distributed over multiple locations or not.
  • The user can smoothly access the data from the different server without any ambiguity.

Rule 12: Non Subversion Rule:

  • A system must allow modification in the database structure by using command language.
  • It should not allow modifying the database structure by using any other tools.
  • Most of the database system contains administrative tools that allows direct manipulation of the database