E.F. Codd, the famous mathematician has introduce 12 rules (in fact there are 13 Rules 0-12) for the relational model for databases commonly known as Codd’s rules. The rules mainly define what is required for a DBMS for it to be considered relational , i.e., an RDBMS. There is also one more rule i.e Rule00 which specifies the relational model should use the relational way to manage the database. The rules and their description is as follows:-
Rule 0: Foundation Rule: A RDBMS system should be capable of using its relational facilities (exclusively) to manage the database.
Rule 1: The information rule : All information in the database is to be represented in one and only one way. This is achieved by values in column positions within rows of tables.
Rule 2 : The guaranteed access rule : All data must be accessible with no ambiguity.This is achieved in the RDBMS by using the primary key concept.
Rule 3: Systematic treatment of null values : The DBMS must allow each field to remain null. The null can be stored in any field of any datatype.
Rule 4: Active online catalog based on the relational model : The authorized users can access the database structure by using common language i.e SQL.
Rule 5: The comprehensive data sublanguage rule : The system must support at least one relational language that has simple syntax and transaction management facilities. It can be used in the application as well as in the RDBMS systems.
Rule 6: The view updating rule : All views must be updatable by the system.
Rule 7: High-level insert, update, and delete : The system is able to insert, update and delete operations fully. It can also perform the operations on multiple rows simultenously.
Rule 8: Physical data independence : Changes to the physical storage structure must not require a change to an application based on the structure.
Rule 9: Logical data independence : Changes to the logical level (tables, columns, rows, and so on) must not require a change to an application based on the structure.
Rule 10: Integrity independence : All the Integrity constraints like primary key, uniques key etc must be specified separately from application programs and stored in the catalog.
Rule 11: Distribution independence : The distribution of portions of the database to various locations should be invisible to users of the database.
Rule 12: The nonsubversion rule : If the system provides a low-level (record-at-a-time) interface, then that interface cannot be used to subvert the system, for example, bypassing a relational security or integrity constraint.
Note:- Any database management system which fulfills 6 or more rules can be considered as the RDBMS.