Codd's rule of DBMS

Edgar F. Codd, a forerunner of the relational model for databases, presented a set of thirteen rules (numbered zero to twelve) to specify what is needed from a database management system in order for it to be regarded as a relational database management system (RDBMS). They're also known as "Codd's Twelve Commandments."

Rule 0: The fundamental principle

Any system that claims to be a relational database management system must be capable of managing databases only using its relational capabilities.

Rule 1: The information rule

A clear logical representation of every piece of information in a relational database is provided by values in tables.

Rule 2: The guaranteed access rule

By using a combination of the table name, primary key value, and column name, every datum (atomic value) in a relational database is ensured to be logically accessible.

Rule 3: Systematic treatment of null values

Null values are supported in fully relational DBMSs for expressing missing information and inapplicable information in a systematic fashion, regardless of data type, and are distinguished from empty character strings, strings of blank characters, zero, and any other integer.

Rule 4: Dynamic online catalog based on the relational model

Authorized users can query the database description using the same relational language as they would query normal data since the database description is logically stored in the same way as regular data.

Rule 5: The comprehensive data sublanguage rule

Multiple languages and different terminal usage modes may be supported by a relational system (for example, the fill-in-the-blanks mode). However, there must be at least one language that is thorough in supporting all of the above things and whose propositions are expressible as character strings, per some well-defined syntax −

  • Data definition.

  • View definition.

  • Data manipulation (interactive and by program).

  • Integrity constraints.

  • Authorization.

  • Transaction boundaries (begin, commit and rollback).

Rule 6:The view updating rule

The system can update all views that are conceivably updateable.

Rule 7: Relational Operations Rule / Possible for high-level insert, update, and delete

The ability to handle a base relation or a derived relation as a single operand applies to data insertion, update, and deletion in addition to data retrieval.

Rule 8: Physical data independence

Any modifications to either storage representations or access techniques do not logically affect application programs or terminal operations.

Rule 9: Logical data independence

When information-preserving changes of any kind are made to the base tables, application programs and terminal operations continue to function logically unaffected.

Rule 10: Integrity independence

The relational data sublanguage, not the application programs, must be able to define and store integrity restrictions specific to a certain relational database.

Rule 11: Distribution independence

The distribution of the data across different sites must be hidden from the end user. The data should never give users the notion that it is spread over multiple sites.

Rule 12: The non subversion rule

If a relational system has a low-level (single-record-at-a-time) language, the integrity restrictions and rules defined in the higher-level relational language cannot be subverted or bypassed using the low-level language (multiple-records-at-a-time).


According to Codd’s rule of DBMS, a database should work properly regardless of its distribution across a network. The end user should never be able to tell that the data is spread across multiple sites; instead, they should always believe that the data is only present at one location.

Updated on: 06-Apr-2023


Kickstart Your Career

Get certified by completing the course

Get Started