- 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