Wednesday, 27 January 2016

Codd's 12 Rules

Codd's 12 rules are a set of thirteen rules proposed by Edger F."Ted" Codd, a pioneer of the relational model for databases, designed to define what is required from a database management system in order for it to be consider relational, i.e. a RDBMS.
Rule 0: The System must qualify as relation database, and as management system.
   For a system to qualify as relational database management system(RDBMS), that system must use its relational facilities to manage the database.
Rule 1: The Information Rule:
All information in the database to be represented in one and only one way, namely by values in column positions within rows of tables.
Rule 2: The guaranteed access rule:
All data must be accessible with no ambiguity. This rule is essentially a restatement of the fundamental requirement for primary keys. It says that every individual scalar value in database must be to logically addressable by specifying the name of the containing table, the name of the containing column and the primary key value of the containing row.
Rule 3: Systematic treatment of null values:
The DBMS must allow the each field to remain null (or Empty), specially, it must support a representation "missing information" that is systematic ,distinct from zero or any other number.
Rule 4: Active online catalog based on relational model:
The System must support an online, inline, relational catalog that is accessible to authorize users by by means of their regular query language. That is user must be able to access the database's structure(catalog) using the query language that they use to access the database's data.
Rule 5: The Comprehensive data sub-language rule:
The system must support at least one relational language that has
1. Has a linear syntax.
2. Can be used both interactively and within application programs.
3. Supports data definition operations(Including view definitions), data manipulation operations(update as well as retrieval), Security and integrity constrains, and transaction management operations(begin,commit, and rollback).
Rule 6: View updating rule:
All views that are theoretically updated by system.
Rule 7: High Level insert,update, and delete:
The system must be support set-at-time insert,update and delete operations.
Rule 8: Physical data Independence:
Changes to the physical level and must not require change to an application based on the structure.
Rule 9: Logical data Independence:
Changes to be logical level(tables,columns and rows)must not require a change to an application based on the structure.
Rule 10: Integrity Independence:
Integrity constraints must be specified separately from applications programs and stored in catalog. It must be possible to change such constraints as and when appropriate without unnecessarily affecting existing applications.
Rule 11: Distribution Independence:
The distribution of portions of the database to various locations should be invisible to users of the database.Existing application should be continue to operate successfully.
 Rule 12: The Non Subversion 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.