Codd's rules are designed in such a way that when database is ready for use it encapsulates the relational theroy to its full potential . The twelve rule listed below.
1. The Information RuleAll information is clearly and logically represented in tables as data values.
2. The Rule of Guaranteed AccessEvery item of data must be logically addressed with the help of a table name, primary key value and column name.
3. The Systematic Treatment of Null ValuesThe RDBMS must be able to support null values [ these value different from ZERO and spaces to represent missing or inapplicable information.
4. The Database Description Rule A description of database is maintained using the same logical structures with which was defined by the RDBMS .These are accessible to users with appropriate authority and are stored in the data dictionary.
5. Comprehensive Data Sub Language According to this rule . the system must support the following
# - Data Definition# - View Definition# - Data Manipulation# - Integrity Constraints# - Authorization# - Transaction management operations.
6. The View Updating RuleAll views that are theoretically updateable must also be updateable by the system.
7. The Insert and Update RuleA single user must hold good for all retrieval , update , delete , insert activities. This rule implies that all the data manipulation commands must be perationalonsets of rows having a relation rather than on a single row.
8. The Physical Independence RuleApplication programs must remain completed when any change are make in storage representation or acess methods.
9. The Logical Data Independence RuleThe changes that are made should not affect the user's ability to work with thedata .The change can be spliting the table into many more tables.
10. The Integrity Independence RuleThe Integrity constraints should be stored in the system catalog or in the Database as table .
11. The Distribution RuleThe system must be able to access or manipulate the data that is distributed in other systems.
12. The Non - Subversion RuleThe nonsubversion rule states that different levels of the language cannot subvert or bypass the integrity rules and constraints.