Sunday, 2 February 2014

CODD'S 12 RULES

Dr E.F. Codd an IBM researcher , first developed the relational data model in 1970 . In 1965 , Dr Codd published a list of 12 rules that concisely define an ideal relational database , which have provided a guideline for the design of all relational database systems ever since.

Following are the lists of CODD's 12 rules.

1.The Information Rule : 
   All data should be presented to the user in table form .

2.Guaranteed Access Rule :
   All data should be accessible without ambiguity . This can be accomplished through a combination of the table name , primary key and column name.

3.Systematic Treatment of Null Values :
   A field should be allowed to remain empty . This involves the support of  null value which is distinct from empty string or a number with a value of zero . Of course , this can't apply to primary keys . In addition , most database implementations support the concept of a non - null field constraints that prevents null values in a specific table column.

4.Dynamic On-Line Catalog Based on the Relational Model :
 A relational database must provide access to its structure through the same tools that are used to access the data . This is usually accomplished by storing the structure definition within special system tables.

5.Comprehensive Data Sublanguage Rule :
  The database must support a

6.View Updating Rule :
7.High-level Insert , Update and Delete :
8.Physical Data Independence :
9.Logical Data Independence :
10.Integrity Independence :
11.Distribution Independence :
12.No Subversion Rule :

What is RDBMS ???

RDBMS : RDBMS(Relational Database Management System) is not a software typically rather then its a concept or a theory developed by a IBM researcher Dr E.F. Codd . He prescribed 12 different rules to define relational database.

According to Codd , if any database who supports 6 or more then 6 rules will be known as relational database else known as general database . Relational database is much more powerful then the general database.

Now , a question will pop up into your mind , What is relational database ????
Relational Database is an organized collection of 2 dimensional tables and relations.

RDBMS is not a software , RDBMS type of software is available .

The advantage of relational database over network and hierarical is that network and hierarical has physical relationship whereas relational has logical realtionship.

Advantage of relational database :
1. More Security
2. Less Redundant
3.Consistency is enhanced.


What is Data and Database

DATA : Data is a raw fact or a figure that doesn't have its own meaning . In other words through data an object can not be identified.

Example : Employee number , name , salary of an employee individualy known as one - one data , these things will not give any meaning when individually taken into consideration.

Organized collection of related data is known as information through which an object can be clearly identified.

Organized collection of related information of a particular group is known as a datafile .
Example : Sales Department , Purchase Department , Admin Department of a particular company individually maintains the datafile.

DATABASE : 'Database is an organized collection of related datafiles '.

So , as if now you all are clear with the picture :



Note : Though data is a raw fact through which an object cannot be identified but it is the minimum requirement to build the database.

Now the question arises WHY DATABASE ? ? ? ? ? ?
Database is maintained to keep track of an object day to day activities.

Database has no scope (limitations) that means it can be implemented on small scale industries or to large scale coorporate house.

Now , database can be maintained in three different ways :
1.Paper / Cabinet File
2.Spreadsheet
3.DBMS / RDBMS

DBMS : Database Management System is simply a software responsible to store , retrieve and modify the data of a database on user request. 
Here , of a database is important because there are different types of database eg : Network , Hierarical , Relational and Object Relational which I will cover in detail in my next tutorial.

Now a days we prefer DBMS / RDBMS (Relational Database Management System) because data redundancy is less and data security is more.