Codd's 12 Rules for RDBMS establish standards for relational database management systems (RDBMS). The rules require that: (1) all data is stored in tables; (2) data can be logically accessed using a combination of table name, primary key, and attribute; (3) NULL values must be systematically treated. The rules also specify requirements for an online catalog, supported query languages, view updating, and independence of data from applications and distribution.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
99 views14 pages
04-Codd's 12 Rules For RDBMS
Codd's 12 Rules for RDBMS establish standards for relational database management systems (RDBMS). The rules require that: (1) all data is stored in tables; (2) data can be logically accessed using a combination of table name, primary key, and attribute; (3) NULL values must be systematically treated. The rules also specify requirements for an online catalog, supported query languages, view updating, and independence of data from applications and distribution.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14
Codd's 12 Rules for RDBMS
Dr Edgar F. Codd, after his extensive
research on the Relational Model of database systems, came up with twelve rules of his own, which according to him, a database must obey in order to be regarded as a true relational database. These rules can be applied on any database system that manages stored data using only its relational capabilities. This is a foundation rule, which acts as a base for all the other rules. Rule 1: Information Rule
The data stored in a
database, may it be user data or metadata, must be a value of some table cell. Everything in a database must be stored in a table format. Rule 2: Guaranteed Access Rule
Every single data element (value)
is guaranteed to be accessible logically with a combination of table-name, primary-key (row value), and attribute-name (column value). No other means, such as pointers, can be used to access data. Rule 3: Systematic Treatment of NULL Values
The NULL values in a database
must be given a systematic and uniform treatment. This is a very important rule because a NULL can be interpreted as one the following − data is missing, data is not known, or data is not applicable. Rule 4: Active Online Catalog
The structure description of the
entire database must be stored in an online catalog, known as data dictionary, which can be accessed by authorized users. Users can use the same query language to access the catalog which they use to access the database itself. Rule 5: Comprehensive Data Sub-Language Rule
A database can only be accessed using
a language having linear syntax that supports data definition, data manipulation, and transaction management operations. This language can be used directly or by means of some application. If the database allows access to data without any help of this language, then it is considered as a violation. Rule 6: View Updating Rule
All the views of a database,
which can theoretically be updated, must also be updatable by the system. Rule 7: High-Level Insert, Update, and Delete Rule
A database must support high-
level insertion, updation, and deletion. This must not be limited to a single row, that is, it must also support union, intersection and minus operations to yield sets of data records. Rule 8: Physical Data Independence
The data stored in a database
must be independent of the applications that access the database. Any change in the physical structure of a database must not have any impact on how the data is being accessed by external applications. Rule 9: Logical Data Independence
The logical data in a database must
be independent of its user’s view (application). Any change in logical data must not affect the applications using it. For example, if two tables are merged or one is split into two different tables, there should be no impact or change on the user application. This is one of the most difficult rule to apply. Rule 10: Integrity Independence
A database must be independent
of the application that uses it. All its integrity constraints can be independently modified without the need of any change in the application. This rule makes a database independent of the front-end application and its interface. Rule 11: Distribution Independence
The end-user must not be able
to see that the data is distributed over various locations. Users should always get the impression that the data is located at one site only. This rule has been regarded as the foundation of distributed database systems. Rule 12: Non-Subversion Rule
If a system has an interface
that provides access to low- level records, then the interface must not be able to subvert (undermine) the system and bypass security and integrity constraints.