Here, we will learn about the Codd’s Rules of Database Management System. Edger Frank Codd (E.F. Codd) developed the set of thirteen (0 to 12) rules in the year 1985. He was a computer scientist who invented the Relational Model for database management.
Sometimes, Codd’s twelve rules are also known as Codd’s Twelve Commandments. Each relational database must follow or obey all these rules for the perfect Relational Database Management System (RDBMS).
Till now, there is no such database is developed, which follows all the 13 rules. Even, popular database Oracle follows only 8.5 rules out of 13 rules.
Following are the 13 (0 to 12) Codd’s rules for the relational Database:
Rule 0: Foundation Rule:
This rule states that, if any database system is claimed as Relational DBMS, then that system must be able to manage the databases using all the relational capabilities. It means that only the relational features manage the Relational databases.
Rule 1: Information Rule:
This rule states that the data or the information stored in the relational database must be represented in the table format. In the relational database, the data may be a user-data or meta-data.
Rule 2: Guaranteed Access Rule:
This rule states that each data of the table must be accessible through the combination of the table name, the primary key of that table, and column or attribute of that data which to be accessed. In this rule, Dr. Codd especially talking about the term Primary key.
Rule 3: Systematic Treatment of Null values:
This rule describes the term Null used in relational databases. Null is a value, which represents the missed and inapplicable information. If the data of any cell is missing, then that cell not be identified as Zero or empty, but that cell always represented by a NULL value.
Rule 4: Dynamic Online catalog based on the Relational Model:
This rule describes the metadata of the database, i.e., about the database structure.
The structure of the database must be stored in the online catalog (Data Dictionary), which is accessed by authorized users using the same query language as used on the general database.
Rule 5: Comprehensive Data Sub-Language Rule:
This rule states that the relational database system should be accessible by a language that supports the data definition, data manipulation, data security, integrity constraints, and all the transaction activities.
Rule 6: View Updating Rule:
This rule states that all the views (virtual tables) which are theoretically updated must be updated by the relational database system.
Rule 7: High-Level Insertion, Updation, and Deletion:
This rule states that the relational database system supports the insert, update, and delete operation on the single record as well as multiple records. It also states that the relational database supports the set operations like union, intersection, and minus operation.
Rule 8: Physical Data Independence:
This rule states that changes occur at the physical location of the table should not affect the logical or external level of the system.
Rule 9: Logical Data Independence:
This rule states that changes occur at the logical structure of the database should not affect the user view or view level.
Rule 10: Integrity Independence:
This rule states that the relational database should use its integrity constraints on the data rather than using the external program or application.
The integrity constraints must be stored in the data dictionary. The relational database system must support the primary key constraint and the foreign key constraint.
Rule 11: Distribution Independence:
This rule states that the data distributed at the various locations should not reflect the user’s view. And, the user should not be able to see that the data of the database is distributed.
Rule 12: Non-Subversion Rule:
This rule states that, If any system has an interface that gives access to low-level records then that interface must not be able to bypass the integrity rules and constraints which are expressed in the high-level relational language.