12 Codd’s Rules in Relational Database Management System

 

 

12 Codd’s Rules in Relational Database Management System

 

Introduction

 

Codd's twelve rules are a set of thirteen rules (numbered zero to twelve) proposed by Edgar F. 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 considered relational, i.e., a relational database management system (RDBMS). They are sometimes referred to as "Codd's Twelve Commandments".

 

 

History

 

Codd originally set out the rules in 1970, and developed them further in a 1974 conference paper. His aim was to prevent the vision of the original relational database from being diluted, as database vendors scrambled in the early 1980s to repackage existing products with a relational veneer. Rule 12 was particularly designed to counter such a positioning.

 

In 1999 a textbook stated "Nowadays, most RDBMSs pass the test". However, in 2007 another textbook stated "no database system complies with all twelve rules. He later expanded these original 12 rules to an outstanding 333 in 1990. Because the original 12 are an ambitious lot, it's doubtful that any RDBMS will ever comply with 333 rules

 

 

Overview

 

v     1985 Dr. Edgar F. Codd the originator.

v     There are 12 Rules of his own, which according to him, a database must obey in order to be regarded as a true relational database.

v     These rules can be applied on any database system that manages stored data using only its relational capabilities.

v    

12 Codd's Rules

This is a foundation rule, which acts as a base for all the other rules.

Rule 0: The Foundation Rule

 

v     Rule 0: The Foundation Rule

v     This is a foundation rule, which acts as a base for all the other rules.

v     For any system that is advertised as, or claimed to be, a Relational Database Management System, the system must be able to manage databases entirely through its relational capabilities.

 

Rule 1: Information Rule

 

v     The data stored in a database, may it be user data or metadata, must be value of some table cell.

v     Everything in a database must be stored in a table format.

v     A database contains various information, and this information must be stored in each cell of a table in the form of rows and columns.

v     All information in a relational data base is represented explicitly at the logical level.

 

Rule 2: The Guaranteed Access Rule

 

v             Each and every datum(atomic value) in a relational database is guaranteed to be logically accessible by resorting to a combination of table name, primary key value and attribute name.

v             No other means, such as pointers, can be used to access data.

 

Rule 3: Systematic Treatment of Null Values

 

v             This rule defines the systematic

v             records.

v             The NULL values in a database must be given a systematic and uniform treatment.

v             The is a very important rule because a NULL can be interpreted as one of the following data is missing, data is not known, or data is not applicable.

v             Null values (distinct from the empty character string or a string of blank characters and distinct from zero or any other number) are supported in fully relational DBMS for representing missing information and inapplicable information in a systematic way, independent of data type.

 

Rule 4: Dynamic Online Catalog

 

v             It represents the entire logical structure of the descriptive database that must be stored online and is known as a database dictionary.

v             It authorizes users to access the database and implement a similar query language to access the database.

v             The data base description is represented at the logical level in the same way as ordinary data, so that authorized users can apply the same relational language to its interrogation as they apply to the regular data.

 

Rule 5: Comprehensive Data Sub Language Rule

 

v             A relational system may support several languages and various modes of terminal use (for example, the fill-in-the-blanks mode). However, there must be at least one language whose statements are expressible, per some well-defined syntax, as character strings and that is comprehensive in supporting all of the following items

Ø Data definition.

Ø View definition.

Ø Data manipulation (interactive and by program).

Ø Integrity constraints.

Ø Authorization.

Ø Transaction boundaries (begin, commit and rollback).

v             If the database allows access to the data without any language, it is considered a violation of the database.

 

Rule 6: View Updating Rule

 

              All views table can be theoretically updated and must be practically updated by the database systems.

 

 

 

Rule 7: Relational Level Operation Rule

 

v             A database system should follow high-level relational operations.

v             It also supports union, intersection and minus operation in the database system.

v             The capability of handling a base relation or a derived relation as a single operand applies not only to the retrieval of data but also to the insertion, update and deletion of data.

v             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 Rule

 

v             All stored data in a database or an application must be physically independent to access the database.

v             Each data should not depend on other data or an application.

v             If data is updated or the physical structure of the database is changed, it will not show any effect on external applications that are accessing the data from the database.  

v             Application programs and terminal activities remain logically unimpaired whenever any changes are made in either storage representations or access methods.

 

 

 

 

Rule 9: Logical Data Independence Rule

 

v             It is similar to physical data independence. It means, if any changes occurred to the logical level (table structures), it should not affect the user's view (application).

v             Application programs and terminal activities remain logically unimpaired when information-preserving changes of any kind that theoretically permit un impairment are made to the base tables.

v             Any change in logical data must not affect the applications using it.

 

Rule 10: Integrity Independence

 

v             A database must be independent of the application that uses it.

v             All its integrity constraints can be independently modified without the need of any change in the application.

v             This rule makes a database independent of the front-end application and its interface.

v             A database must maintain integrity independence when inserting data into table's cells using the SQL query language.

v             Integrity constraints specific to a particular relational data base must be definable in the relational data sublanguage and storable in the catalog, not in the application programs.

 

 

Rule11: Distribution Independence Rule

 

v             The distribution independence rule represents a database that must work properly, even if it is stored in different locations and used by different end-users.

v             Suppose a user accesses the database through an application; in that case, they should not be aware that another user uses particular data, and the data they always get is only located on one site.

v             The end users can access the database, and these access data should be independent for every user to perform the SQL queries.

v             The end-user must not be able to see that the data is distributed over various locations.

 

Rule 12: Non Subversion Rule

 

v             The non-submersion rule defines RDBMS as a SQL language to store and manipulate the data in the database.

v             If a system has a low-level or separate language other than SQL to access the database system, it should not subvert or bypass integrity to transform data.

v             If a relational system has a low-level (single-record-at-a-time) language, that low level cannot be used to subvert or bypass the integrity rules and constraints expressed in the higher level relational language (multiple-records-at-a-time).

 

Conclusion

 These are the 12 Codd’s Rules of Dr. Edgar F. Codd (E.F. Codd) in the concept of RDBMS.There is an unspoken rule in the jargon of Database Management Systems. As the databases that implement all the E.F.Codd’s rules are scare, the unspoken rule has been gaining traction.

 

Reference

 

https://en.wikipedia.org/wiki/Codd%27s_12_rules

https://www.tutorialspoint.com/dbms/dbms_codds_rules.htm

https://www.tutorialspoint.com/e-f-codd-s-12-rules-for-rdbms

https://www.javatpoint.com/12-codds-rules

 

 

Comments

Popular posts from this blog

ETHICAL HACKING - WHITE HAT HACKER

Radio Waves

Semantic Technology