Codds Rules

Dr Edgar F. Codd, once his intensive analysis on the relational Model of information systems, came up with twelve rules of his own, that consistent with him, a database should adjust so as to be considered a real relational database.

These rules may be applied on any information system that manages keep data exploitation solely its relative capabilities. this can be a foundation rule, that acts as a base for all the opposite rules.
Rule 1: information Rule

The data keep in a very information, might or not it’s user data or metadata, should be a worth of some table cell. Everything in a very information should be keep in a very table format.
Rule 2: guaranteed Access Rule

Every single data part (value) is absolute to be accessible logically with a mixture of table-name, primary-key (row value), and attribute-name (column value). No alternative suggests that, like pointers, may be wont to access information.
Rule 3: Systematic Treatment of NULL Values

The NULL values in a very database should incline a scientific and uniform treatment. {this is|this is often|this may be} a awfully necessary rule as a result of a NULL can be taken in concert the subsequent − data is missing, information isn’t legendary, or data isn’t applicable.
Rule 4: Active on-line Catalog

The structure description of the whole database should be keep in a web catalog, referred to as data lexicon, which might be accessed by approved users. Users will use a similar command language to access the catalog that they use to access the database itself.
Rule 5: Comprehensive data Sub-Language Rule

A database will solely be accessed employing a language having linear syntax that supports data definition, data manipulation, and dealings management operations. This language may be used directly or by suggests that of some application. If the database permits access to data with none facilitate of this language, then it’s thought of as a violation.
Rule 6: view updating Rule

All the views of a database, which might on paper be updated, should even be updatable by the system.
Rule 7: High-Level Insert, Update, and Delete Rule

A database should support high-level insertion, updation, and deletion. This should not be restricted to one row, that is, it should additionally support union, intersection and minus operations to yield sets of information records.
Rule 8: Physical information Independence

The data keep in a very database should be freelance of the applications that access the information. Any amendment within the natural object of a information should not have any impact on however the info is being accessed by external applications.
Rule 9: Logical information Independence

The logical information in a database should be freelance of its user’s read (application). Any amendment in logical information should not have an effect on the applications exploitation it. As an instance, if 2 tables ar incorporated or one is split into 2 completely different tables, there ought to be no impact or amendment on the user application. this can be one amongst the foremost troublesome rule to use.
Rule 10: Integrity Independence

A database should be freelance of the applying that uses it. All its integrity constraints may be severally changed while not the necessity of any amendment within the application. This rule makes a information freelance of the front-end application and its interface.
Rule 11: Distribution Independence

The end-user should not be ready to see that the info is distributed over numerous locations. Users must always get the impression that the data is found at one web site solely. This rule has been considered the muse of distributed information systems.
Rule 12: Non-Subversion Rule

If a system has an interface that gives access to low-level records, then the interface should not be ready to subvert the system and bypass security and integrity constraints.