×

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

Difference between Delete, Drop and Truncate in SQL

What is the Delete command in SQL? In DML (Data Manipulation Language), we use the delete command that allows us to delete the some entries and modify the databases in SQL....

4 minutes read.

How to Update Table in SQL?

How to Update Table in SQL Introduction UPDATE query is used to update a record in a table. UPDATE is a DML command, which operates on the data of the table and not...

4 minutes read.

SQL SELECT BETWEEN Operator

This SQL tutorial explains and helps us understand how to use the BETWEEN operator in the SELECT query with examples. The SQL SELECT BETWEEN operator retrieves the data from the table...

2 minutes read.

SQL CREATE TABLE

In SQL tutorial, we learned and created different databases. To stores data in databases, we need to create a table. To create the table, we need to use CREATE TABLE...

5 minutes read.

SQL CONSTRAINTS

SQL Constraints specifies the rules/limitations/restrictions for data present in table. SQL Constraints are specified at the time of table creation or after table creation using ALTER command. There are two...

5 minutes read.

SQL SubQuery

The Sub-query in the SQL is the inner query placed or positioned inside another query, which is also known is the outer query. The inner query is embedded in the...

6 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.

SQL Aliases

SQL Aliases: These are used to give a temporary name for a column or table. These are used to make tables or columns more readable. These are used to rename the table...

2 minutes read.

SQL Comparision Operator

The Comparison Operator compares different data of the Structured Query Language table and checks whether the data are the same, less than, greater than, less than, or greater than equal....

14 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.

How to use the BETWEEN operator in SQL

In this entire SQL article, we will understand and learn about the BETWEEN operator concept and how to use it in SQL. What is the BETWEEN operator in SQL? The Between operator...

4 minutes read.

How to use LIKE in SQL

In this SQL article, we will learn and understand how to use LIKE to the columns in the SQL tables. What is Like? Like is an operator in the SQL. It is...

7 minutes read.

SQL INSERT INTO Statement

SQL INSERT INTO statement adds data to the newly created tables or existing tables. We can add single records or multiple records in a table by using this query. There are...

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 SELECT MAX

The SQL Max() function is an aggregate function in SQL. This function returns the values which are greater in the condition. The condition may be a number, or it may...

5 minutes read.

What is SQL Injection?

Introduction to SQL Injection SQL injection is a vulnerability or a technique that might destroy the database of a website or a web application. It is one of the most widely...

4 minutes read.

SQL Wildcards

SQL WILDCARD CHARACTERS: SQL wild card character is used to substitute zero or more characters of a string. These characters are used with the “LIKE” operator. Wild Card Characters in SQL: %_[]^- “%” : It is...

3 minutes read.

SQL WHERE Multiple Conditions

In this topic, we will learn how to add multiple conditions using the WHERE clause. First, let's understand the concept of WHERE clause. WHERE clause is used to specify a condition while...

5 minutes read.

SQL ORDER BY

SQL ORDER BY The SQL ORDER BY clause is used to sort the data stored in tables in the database. The sorting can be done in an ascending way, descending way,...

5 minutes read.

SQL SET Keyword

This article will provide you a good understanding of the Set keyword in Structured Query Language. What is the SET keyword? The SET keyword is used to specify values for the variables....

3 minutes read.