×

Codd’s Rules in SQL

Codd’s Rules

Dr. Edgar F. Codd, in 1985, laid down 13 fundamental rules after doing large-scale research on the Relational Model of databases. According to him, every database must follow these rules to be considered as an accurate relational database (RDBMS). These 13 rules are referred to as Codd’s 12 Rules(Foundation rule is base for other rules).

The rules mentioned below are the 12 rules laid down by Codd:

Serial No.Rule
0Foundation Rule
1Information Rule
2Guaranteed Access Rule
3Systematic Treatment of NULL Values
4Active Online Catalog
5Comprehensive Data SubLanguage Rule
6View Updating Rule
7High-level Insert, Update, Delete Rule
8Physical Data Independence Rule
9Logical Data Independence Rule
10Integrity Independence
11Distribution Independence
12Non-Subversion Rule

Let’s discuss each of the above rules in detail.

Foundation Rule

It states that the database should be capable of managing all the records through its relational abilities.

Information Rule

This rule states that the records that are saved in a database can be either user data or can be metadata. But that data must be present as a value in a cell in the database table. It is important that every record in a database is stored in a tabular format, that is, in the form of tables.

Guaranteed Access Rule

This rule states that it should be guaranteed that every atomic data in the database can be accessed with the help of a combination of the keys (primary key), the attribute names and the table name. Also, no other attributes other than these, like pointer, should be able to access the data.

Systematic Treatment of NULL Values

It states that every NULL value in a table should be dealt methodically and uniformly. A NULL can be looked upon as either absence of data or unknown data or data which is not applicable. Hence this is a fundamental rule that should be followed.

Active Online Catalog

It expresses that the definition about the structural description of the complete database should be kept in an online catalog. These catalogs are known as data dictionary and they can be retrieved only by users who have proper authorization. These catalogs can be retrieved by using the corresponding query language, which is used to operate the database.

Comprehensive Data Sub-Language Rule

It expresses that a database can only be accessed by a linear syntax language that hold up data definition, data manipulation, and transaction operations. This language can be used straight or by using other applications. Accessing the database without using a language is considered to be a violation.

View Updating Rule

It states that every view of a database should be revisable both theoretically and also by the system.

High-Level Insert, Update and Delete Rule

It states that every row of a database should hold up high-level insertion, updation, deletion, union, intersection, and minus behaviours to retrieve the data in the table.

Physical Data Independence

It mentions that the data stored in a database should not depend on the application. This implies that changes in the structure of the database should not affect the accessing of the data by applications external to the database.

Logical Data Independence

It, like the previous rule, states that the logical data in a database should not be dependent on the client’s application. This means that any change in the data should not impact the application. This rule is one of the most tough ones to implement.

Integrity Independence

This rule also mentions that a database should not be dependent on the application utilizing it. This means that all the integrity constraints of the database should be modifiable without the need for any change in the application.

Distribution Independence

This rule mentions that the user should not feel or be able to visualise that the data is spread over multiple locations. The user should always feel that the data is situated at one specific location only. This rule is regarded as the foundation for the distributed database systems.

Non-Subversion Rule

This rule states that if a system possesses an interface that lays out access to low-level records, then that interface should not have the authorization to destabilize the system including its security and integrity restrictions.

Thus, these are the 12 rules laid down by Dr. Edgar F. Codd, which should be followed by a database to be called truly relational (RDBMS).


Related Topics

SQL Data Definition Language

Data definition language directly effects on the structure/schema of the database. CREATE, ALTER, DROP are the commands of DDL.CREATE: Creates new database, table, or view of table.ALTER: Modifies the database or...

3 minutes read.

SQL Top Clause

Top Clause: It returns the first ‘n’ number of rows as output. This Top clause is used to retrieve the required number of rows when there are thousands of records stored...

3 minutes read.

SQL Auto Increment

As we all know, In SQL for unique identification, we assign a column with the primary key. But in some tables, we find difficult to differentiate a column as a...

5 minutes read.

SQL Aggregate Functions

In this tutorial, we will learn and understand the SQL Aggregate Functions concept with the help of examples. SQL Aggregate Function is a function used to perform calculation operations on one...

4 minutes read.

WHERE Clause vs HAVING Clause

The WHERE Clause and HAVING clause filter the records in the Structured Query Language queries. The main difference between the WHERE clause and the HAVING clause is the WHERE clause...

5 minutes read.

SQL SELECT AND Operator

This SQL tutorial explains and helps us understand how to use the AND Operator in the SELECT query with examples. The AND Operator is used to fetch the table’s records if...

2 minutes read.

SQL Commands

SQL commands are classified into four groups on the basis of their nature. DDL (Data Definition Language) DML (Data Manipulation Language) DCL (Data Control Language) DQL (Data Query Language) NOTE: This...

1 minute read.

SQL Insert multiple rows

This article will deal with a new insertion method in SQL which inserts multiple rows at a time. Multiple records can be inserted at a time into a specific table with...

4 minutes read.

Commit and Rollback in SQL

In Structured Query Language, we have Data Definition Language (DDL) and Data Manipulation Language (DML) commands the same way we have Transaction Control Language (TCL) commands in the Structured Query...

4 minutes read.

SQL CROSS Join

In this tutorial, we will help you understand the concept of the SQL CROSS Join clause with the few examples. The SQL CROSS Join query is used to join one or...

5 minutes read.

SQL Formatter

As a beginner, one does not focus much on Formatting the queries while writing their code. This leads to a great confusion while referring the code in future. For a...

5 minutes read.

SQL SELECT SUM

The SQL Sum() function is an aggregate function in SQL that returns the total values of an expression. The expression may be numerical, or it may be an expression. Syntax: SELECT SUM(columnname)...

3 minutes read.

DELETE VS DROP in SQL

This page contains all the information about the Delete command and Drop command concept and the difference between the DELETE and DROP commands in SQL. What is the DELETE command in...

3 minutes read.

How to delete a row in SQL

Introduction To delete or remove the unused/unwanted rows from a table, DELETE command is used in SQL.DELETE command removes the entire record from a table.The DELETE statement can delete one or...

6 minutes read.

SQL Count

Structured Query Language Count() Function is used with Structured Query Language SELECT Statement. SQL Count() function returns the number of items that match the specified criteria in the SELECT statement. Count()...

2 minutes read.

SQL Primary Key

A field, which contains unique data in a table, is called a PRIMARY KEY (PK). It means, a PRIMARY KEY field must contain unique data in the table. A PRIMARY KEY...

4 minutes read.

SQL SET Operator

In this tutorial, we will understand the operator who falls under the SET operator in SQL with the help of different examples. The SQL SET Operator is used to merge the...

5 minutes read.

SQL Between Operator

SQL Between operator is a logical operator in the Structured Query Language. The Between operator is used to retrieve data within the range specified in the condition in the query. The...

7 minutes read.

SQL DROP Database

This tutorial will help us understand how to drop a database from the SQL Server with a few examples. The DROP command removes all the objects stored in the database and...

4 minutes read.

SQL WHERE Statement

SQL WHERE Statement Introduction WHERE clause is used to include a condition while fetching data from tables.When you have to specify a condition that has to be obeyed while data is...

9 minutes read.