Dr. E.F. Codd, the founder of the relational database systems, framed twelve rules to assist a database product to qualify as relational. An RDBMS product has to satisfy at least six of the 12 rules of Codd to be accepted as a full-fledged RDBMS. There is no RDBMS package commercially available that satisfies all the 12 rules. These rules are:
1. Information Rule: All information in a relational database including table names, column names is represented in the form of tables. This simple view of data speeds up design and learning process. User productivity is improved since knowledge of only one language is necessary to access all data such as description of the table and attribute definitions, integrity constraints. Action can be taken when the constraints are violated. Access to data can be restricted. All these information are also stored in tables.
2. Guaranteed Access Rule: Every piece of data in a relational database, can be accessed by using a primary key value that identifies the row and a column name. User productivity is improved since there is no need to resort to using physical pointers or addresses. It also provides data independence and makes it possible to retrieve each individual piece of data stored in a relational database by specifying the name of the table in which it is stored, the column and the primary key, which identifies the cell in which it is stored.
3. Comprehensive Data Sub-language Rule : The RDBMS may support several languages. But at least one of them should allow the user to do all the following: define tables and views, query and update data, set integrity constraints, set authorizations and define transactions. User productivity is improved since there is just one approach that can be used for all database operations. In a multi-user environment the user does not have to worry about the data integrity and such things will be taken care of by the system. Also only users with proper authorization will be able to access data.
4. View Updating Rule: Any view that can be updated theoretically can be updated using the ·RDBMS. Data consistency is ensured since the changes made in the view are transmitted to the base table and vice-versa.
5. High Level Insert, Update and Delete: The RDBMS supports insertion, updating and deletion at a table level. The performance is improved since the commands act on a set of records rather than one record at a time.
6. Physical Data Independence: The execution of ad hoc requests and application programs is not affected by changes in the physical data access and storage methods. Database administrators can make changes to the physical access and storage method, which improve performance and do not require changes in the application programs or requests. Here the user specifies” what he wants and need not worry about how the data is obtained.
7. Logical Data Independence: Logical changes in tables and views such as adding deleting columns or changing field “lengths need not necessitate modifications in the programs or in the format of ad hoc requests. For example, adding an attribute or column to the base table should not disrupt the programs or the interactive commands that have no use for the new attribute.
8. Integrity Independence: Like table and view definitions, integrity constraints are stored in the on line catalog or data dictionary” and can therefore .be changed without necessitating changes in the application programs. Integrity constraints specific to a particular Relational Database must be definable in the relational data sub-language and storable in the catalog or data dictionary. At least the entity integrity and referential integrity must be supported.
9. Non subversion Rule: If the RDBMS has a language that accesses the information of a record at a time, this language should not be used to bypass the integrity constraints. This is necessary for data integrity.
10. Systematic Treatment of Null Values: In relational database management system null values should be supported for the representation of missing and inapplicable information. The database management system must have a consistent method for representing null values. For example, null values for numeric data must be distinct from zero or any other numeric value and for character data, it must be different from a string of blanks.
11. 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 similar ways and using the same languages. This implies that a data dictionary should be present within the RDBMS that is constructed of tables and l or views that can be examined using the Structured Query Language (SQL).
12. Distribution Independence: The RDBMS package must have distribution independence. Thus, RDBMS package must makes it possible for the database to be distributed across multiple computers even though they are having heterogeneous platforms both for hardware and operating system. This is one of the most attractive aspects of the RDBMS. Database systems built on the relational framework are well suited for today’s Client/Server database design.