There are 12 rules formulated by E.F Codd for RDBMS in 1970.If a RDBMS satisfies all these 12 rules then full benefits of the relational database results can be obtained.
The 12 rules are having the following main points.
1.Information Representative : In a relational database model , all information should be explicitly and logically represented by entering the data values in the form of tables.The information such as view and column names should be in the table form.Data stored in data dictionary should be in the tabular form.
2.Guaranteed Access: Every value of data item must be logically addressable by using a combination of table-name , primary key and the column name.
3.Systematic treatment of NULL Values: In a relational database management null values should be supported for the representation of missing and inapplicable information only.The DBMS must have a consistent method for representing null values. Eg- NULL values for character data for numeric it must be different data from a strings of blanks , distinct from zero or any other non numeric values.
4.Database Description Rule : The description of a database is stored and maintained in the form of tables. This allows the users with appropriate authority to query information using the same language. This implies that a data dictionary should be present within the RDBMS that is constructed out of tables and/or views that can be examined using SQL.
5.Comprehensive data sub language : The RDBMS must be completely manageable through its own extension of SQL. The SQL should support DD , Views , DM , integrity , constraints and transactions boundary.
6.View Updating Rule: All the views thats are theoretically update able can updated through the system.
7.High level update , Insert , Delete :- An RDBMS must do more than just be able retrieve relational data sets. It must also be possible to insert , update and delete data items from relational set.
8.Physical Data Independence : Changes made to physical storage or access methods do not require changes to be made to the application programs used to manipulate data in tables.
9.Logical Data Independence : Application program should not be affected by the changes made to the base tables. Changes made to the table should not require changes to be made to application programs , operating on the table.
10.Integrity Independence : ( Reliable , Correct , Consistent ) means integrity hence for that we require constraints. The database language must be capable of defining integrity rules.The integrity constraints must be store-able in the catalog and not in the application programs.
11.The Distribution Rule : The application programs and ad hoc requests are logically unaffected when data is first distributed or when it is redistributed.Database systems built on the relational framework are also well suited for todays client server database design.
12. Non Sub-Version : It must not be possible to by pass the integrity rules defined through the database language by using the lower level language.