Learn Codd's Rule for RDBMS
There are 12 rules formulated by E.F.Codd for RDBMS in 1970. If an RDBMS satisfies all these 12 rules, then full benefits of the relational database results can be achieved.
The twelve rules are having the following main points:-
1. Information Representation
2. Guaranteed Access
3. Systematic Treatment of Null Values
4. Database Description Rule
5. Comprehensive Data Sub-Language
6. View Updating
7. High-Level Update, Insert, Delete
8. Physical Data Independence
9. Logical Data Independence
10.The Distribution Rule
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 tabular format.
This rule refers to the fact that a table can be taken as a storage structure and at the intersection of each column and row, there will necessarily be only one specific value of data item or null. Every data item must be logically addressable by using a combination of table-name, primary_key value and column _name.
Systematic Treatment of Null Values
In relational database management system null values should be supported for the representation of missing or inapplicable information only. The database management system must have a consistent method for representing null values.
a. null values for numeric data must be different from 0 or any other non-numeric value.
b. for character data, it must be different from a string of blanks.
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 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 the SQL query.
Comprehensive Data Sub-Language
The RDBMS must be a completely manageable through its own extension of SQL. The SQL should support Data definition, Views, Data Manipulation, Integrity constraints and Transaction Boundary.
Any view that can be defined using combination of base tables, and theoretically updatable, must also be capable of being updated by the RDBMS.
High-Level Update, Insert and Delete
An RDBMS must do more than just be able to retrieve relational data sets. It must be possible to insert, update and delete data from the relational set.
Physical Data Independence
Changes made to physical storage representation or access methods do not require changes to be made to the application programs used to manipulate data in tables.
For example a change to the internal schema, such as using different file organization or storage structures, storage devices, or indexing strategy, should be possible without having to change the conceptual or external schemas.
Logical Data Independence
The ability to change the logical schema without changing the user view is called logical data independence.Application programs should not be affected by the changes made to the base tables.
For example the addition or removal of new entities, attributes, or relationships to the conceptual schema should be possible without having to change existing external schemas or having to rewrite existing application programs.
The Distribution Rule
A RDBMS package must have distribution independence. Thus, RDBMS package must make it possible for the database to be distributed across multiple computers even though they are having heterogeneous platform. This is one of the most attractive aspects of the RDBMS. Database systems built on the relational framework are also well-suited for today's client-server database design.
If the RDBMS supports facilities allowing application programs to operate on table a row at a time, then an application program using this type of database access is prevented from bypassing entity-integrity or referential-integrity constraints that may be defined for the database.
Integrity constraints specific to a particular relational database must be definable in SQL or some other data sub-language. These integrity constraints must be storable in the catalogue and not in the application program.
NOTE:- There is no RDBMS package commercially available that satisfies all the 12 rules given as CODD's rules.