

{"id":21725,"date":"2018-08-05T04:00:58","date_gmt":"2018-08-05T04:00:58","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=21725"},"modified":"2025-03-29T21:23:35","modified_gmt":"2025-03-29T15:53:35","slug":"sql-rdbms","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/","title":{"rendered":"SQL RDBMS Concept &#8211; Features &amp; Advantages"},"content":{"rendered":"<p>In this tutorial, we will be focusing on\u00a0 SQL RDBMS concepts.<\/p>\n<p>RDBMS stands for Relational Database Management System.<\/p>\n<p>RDBMS concepts are a basic requirement to understand SQL and all other modern database examples: MS Access, SQL, MS SQL Server, etc.<\/p>\n<p>It is a database management and organization system based on relational models and their principles. Let us now dive into the RDBMS concepts and master them with this tutorial.<\/p>\n<h3>Demo Database<\/h3>\n<p>Let us first have a look at the database we will be using for this tutorial. We are using the DataFlair database.<br \/>\n<strong>Query:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">SELECT * FROM DataFlair;<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86553\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database.png\" alt=\"SQL Database\" width=\"1920\" height=\"1030\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database-300x161.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database-1024x549.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database-150x80.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database-768x412.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database-1536x824.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database-720x386.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database-520x279.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/view-demo-database-320x172.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p>Here we can view the contents of the DataFlair database.<\/p>\n<h3>Components of RDBMS<\/h3>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/RDBMS-Components.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86562\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/RDBMS-Components.jpg\" alt=\"\" width=\"950\" height=\"650\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/RDBMS-Components.jpg 950w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/RDBMS-Components-300x205.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/RDBMS-Components-150x103.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/RDBMS-Components-768x525.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/RDBMS-Components-720x493.jpg 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/RDBMS-Components-520x356.jpg 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/RDBMS-Components-320x219.jpg 320w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><\/a><\/p>\n<p>The major components of an RDBMS are as follows:<\/p>\n<h4>1. RDBMS Table<\/h4>\n<p>Data in RDBMS is stored in objects called as tables. A table is a collection of records or tuples containing the values associated with the columns or attributes available in a table.<\/p>\n<p><strong>Query:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">SELECT * FROM DataFlair;\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86554\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table.png\" alt=\"RDBMS Table\" width=\"1920\" height=\"1030\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table-300x161.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table-1024x549.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table-150x80.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table-768x412.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table-1536x824.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table-720x386.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table-520x279.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-1-table-320x172.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p>In the above example, we can see a table with various records or tuples.<\/p>\n<h4>2. RDBMS Tuple(A record)<\/h4>\n<p>In the database, we have data put in various tuples. These tuples are what we know as rows under the attributes. The tuple, row, and record terms are put interchangeably here.<\/p>\n<p><strong>Example:<\/strong> Let us have a look at a single tuple in our DataFlair database.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">SELECT * FROM DataFlair \r\nLIMIT 1;\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86555\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple.png\" alt=\"RDBMS Tuple\" width=\"1920\" height=\"1030\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple-300x161.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple-1024x549.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple-150x80.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple-768x412.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple-1536x824.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple-720x386.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple-520x279.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp2-tuple-320x172.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p>Here we can see what a single tuple or row represents in a database.<\/p>\n<h4>3. RDBMS Column(Attribute)<\/h4>\n<p>Attributes are commonly known as column names and are used to map data to the correct name. Column is\u00a0 a vertical entity in a table.<\/p>\n<p><strong>Example:<\/strong> Let us have a look at the name column in our Dataflair database.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">SELECT name FROM DataFlair ;\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86556\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column.png\" alt=\"RDBMS Column\" width=\"1920\" height=\"1030\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column-300x161.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column-1024x549.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column-150x80.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column-768x412.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column-1536x824.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column-720x386.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column-520x279.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp3-column-320x172.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p>Here we can see what a column is in a database.<\/p>\n<p>We can also view multiple columns by specifying multiple column names in the query.<\/p>\n<h4>4. RDBMS Domain<\/h4>\n<p>The domain of a database is the permissible values that a database can store.<\/p>\n<p><strong>Example:<\/strong> When we talk about age, the age can\u2019t be negative thus, the domain is greater than 0. Let us view the same.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">SELECT age FROM DataFlair;\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86557\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain.png\" alt=\"RDBMS Domain\" width=\"1920\" height=\"1030\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain-300x161.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain-1024x549.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain-150x80.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain-768x412.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain-1536x824.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain-720x386.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain-520x279.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp4-domain-320x172.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p>Here we can see the age column in the DataFlair database and we can observe that the domain of the column is only positive values.<\/p>\n<h4>5. RDBMS Schema<\/h4>\n<p>Schema is the composition of a table. In simple words, the columns and the type of data they store is the schema of the database.<br \/>\n<strong>Example:<\/strong> Let us view the schema of our DataFlair database.<\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86558\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5.png\" alt=\"RDBMS Schema\" width=\"1920\" height=\"1030\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5-300x161.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5-1024x549.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5-150x80.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5-768x412.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5-1536x824.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5-720x386.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5-520x279.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp5-320x172.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p>Here we can see the composition or the schema of our DataFlair database.<\/p>\n<h4>6. RDBMS Constraints<\/h4>\n<p>These are the rules which we want to impose on our data when it is put and maintained in our database.<\/p>\n<p>By the use of constraints, we maintain the integrity and accuracy of our data. We could have column level or table level constraints depending on our use case.<\/p>\n<p>Let us first understand the concept of NULL values and then we will discuss constraints further:<\/p>\n<p><strong>RDBMS NULL values:<\/strong><\/p>\n<p>When some data is missing or not available at the moment, we use a placeholder for such data in the database.<\/p>\n<p>These placeholders are null values. We can reassign the null values at any time and prevent errors from creeping in due to the missing data.<\/p>\n<p><strong>Example:<\/strong> Let us check if we have an employee with the location not available or null in our DataFlair database.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">SELECT * FROM DataFlair where location = null;\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86559\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values.png\" alt=\"RDBMS Null Values\" width=\"1920\" height=\"1030\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values-300x161.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values-1024x549.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values-150x80.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values-768x412.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values-1536x824.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values-720x386.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values-520x279.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp-6-part1-null-values-320x172.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p>Here we can see the details of an employee whose location is not specified i.e. NULL.<\/p>\n<p>Some of the major constraints we use are as follows:<\/p>\n<table style=\"height: 452px;\" width=\"912\">\n<tbody>\n<tr>\n<td><b>Sr.No<\/b><\/td>\n<td><b>Constraint<\/b><\/td>\n<td><b>Description<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">NOT NULL<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Prevents the column from taking NULL values.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">2<\/span><\/td>\n<td><span style=\"font-weight: 400;\">DEFAULT<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Sets a default value for the column.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">UNIQUE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Prevents duplicate values in the column.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">PRIMARY KEY<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Helps to identify each record uniquely.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">5<\/span><\/td>\n<td><span style=\"font-weight: 400;\">FOREIGN KEY<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Helps to identify each record in another database uniquely.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">6<\/span><\/td>\n<td><span style=\"font-weight: 400;\">CHECK<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Applies certain conditions on the column data.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">7<\/span><\/td>\n<td><span style=\"font-weight: 400;\">INDEX<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Helps in creating and retrieving records fast.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Example:<\/strong> Let us view the Primary Key in our DataFlair database.<\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86560\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key.png\" alt=\"RDBMS Primary Key\" width=\"1920\" height=\"1030\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key-300x161.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key-1024x549.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key-150x80.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key-768x412.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key-1536x824.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key-720x386.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key-520x279.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/comp6-part2-primary-key-320x172.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p>Here we can see in the columns that emp_id is the Primary key of our DataFlair database.<\/p>\n<h3>Data Integrity<\/h3>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/categories-of-Data-Integrity-in-RDBMS.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86563\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/categories-of-Data-Integrity-in-RDBMS.jpg\" alt=\"RDBMS Data Integrity\" width=\"1220\" height=\"550\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/categories-of-Data-Integrity-in-RDBMS.jpg 1220w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/categories-of-Data-Integrity-in-RDBMS-300x135.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/categories-of-Data-Integrity-in-RDBMS-1024x462.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/categories-of-Data-Integrity-in-RDBMS-150x68.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/categories-of-Data-Integrity-in-RDBMS-768x346.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/categories-of-Data-Integrity-in-RDBMS-720x325.jpg 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/categories-of-Data-Integrity-in-RDBMS-520x234.jpg 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/categories-of-Data-Integrity-in-RDBMS-320x144.jpg 320w\" sizes=\"auto, (max-width: 1220px) 100vw, 1220px\" \/><\/a><\/p>\n<p>The major categories of Data Integrity in an RDBMS are as follows:<\/p>\n<p><strong>1. Entity Integrity:<\/strong> According to this principle, we can\u2019t have any duplicate tuples in a table.<\/p>\n<p><strong>2. Domain Integrity:<\/strong> According to this principle, we make sure to store data in the correct format, type, and range in any column specified.<\/p>\n<p><strong>3. Referential Integrity:<\/strong> According to this principle, we can\u2019t delete records that are required to access other records.<\/p>\n<p><strong>4. User-Defined Integrity:<\/strong> According to this rule, the rules specified by the user while creating the database are always applied and checked before data is put in the database.<\/p>\n<h3>NULL Value<\/h3>\n<p>Null values are used when we want to substitute the missing information.<\/p>\n<p>The null value is ignored by some SQL functions to work logically correctly. Null value comes in handy during analytics of large chunks of data which has missing or ambiguous data.<\/p>\n<h3>Database Normalization<\/h3>\n<p>Database normalization is the process of filtering and organizing data in a database. We need to do normalization of a database for the following reasons:<\/p>\n<ul>\n<li>Helps in Eliminating redundant data, thus allowing effective use of available memory.<\/li>\n<li>Helps us to make sure that the data dependencies are logically correct.<\/li>\n<\/ul>\n<p>There are four major normal forms which we need to know:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/four-major-normal-forms-in-database.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86564\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/four-major-normal-forms-in-database.jpg\" alt=\"four major normal forms in database\" width=\"900\" height=\"700\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/four-major-normal-forms-in-database.jpg 900w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/four-major-normal-forms-in-database-300x233.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/four-major-normal-forms-in-database-150x117.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/four-major-normal-forms-in-database-768x597.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/four-major-normal-forms-in-database-720x560.jpg 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/four-major-normal-forms-in-database-520x404.jpg 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/four-major-normal-forms-in-database-320x249.jpg 320w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><strong>1. 1NF or First Normal Form:<\/strong> When a database is in the First normal form, we ensure that there are no multi-value records in the database. Each record holds a single value corresponding to every attribute.<\/p>\n<p><strong>2. 2NF or Second Normal Form:<\/strong> When a database is in Second normal form state, it should meet all the rules for 1NF, and partial dependency of any of the columns on the primary key is not permissible.<\/p>\n<p><strong>3. 3NF of Third Normal Form:<\/strong> When a database is in third normal form, the following conditions should be met-<br \/>\nThe database should be in second normal form.<\/p>\n<p>All the non-primary attributes should be dependent on the primary key.<\/p>\n<p><strong>4. BCNF or Boyce Codd Normal Form:<\/strong> When a database is in BCNF form the database needs to be in 3NF normal form. In addition to this, we need to check the transitive dependency as well. There should be no transitive dependency if the database is in BCNF.<\/p>\n<h3>Advantages of RDBMS<\/h3>\n<p>Some of the advantages of using RDBMS are as follows:<\/p>\n<p>1. It helps in maintaining the integrity of data.<\/p>\n<p>2. RDBMS maintains the relationships in the data and makes them easily accessible.<\/p>\n<p>3. With the help of RDBMS, we can apply various checks on our data using constraints.<\/p>\n<p>4. RDBMS allows us to access data through each available component.<\/p>\n<h3>Summary<\/h3>\n<p>In this article, we have understood the RDBMS concepts. We have learnt about the components in an RDBMS database and all the points that we need to take care of.<\/p>\n<p>We have also taken enough knowledge on data integrity and the normalization of the database.<\/p>\n<p>Hope you liked the article. Do share feedback in the comment section.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we will be focusing on\u00a0 SQL RDBMS concepts. RDBMS stands for Relational Database Management System. RDBMS concepts are a basic requirement to understand SQL and all other modern database examples: MS&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":86561,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[66],"tags":[366,2485,3706,4623,9122,9130,9962,9971,11331,11489,11496,13523,15147],"class_list":["post-21725","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sql","tag-advantages-of-rdbms","tag-check-constraint","tag-default-constraint","tag-features-of-rdbms","tag-normalization-in-dbms","tag-not-null-constraint","tag-primary-key","tag-principles-of-rdbms-models","tag-rdbms-database-program","tag-relational-database-example","tag-relational-database-model","tag-sql-rdbms","tag-unique-constraint"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SQL RDBMS Concept - Features &amp; Advantages - DataFlair<\/title>\n<meta name=\"description\" content=\"SQL RDBMS Concept:RDBMS stands for relational database management System,RDBMS Example,features &amp; advantages of RDBMS,DBMS normalization\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/sql-rdbms\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL RDBMS Concept - Features &amp; Advantages - DataFlair\" \/>\n<meta property=\"og:description\" content=\"SQL RDBMS Concept:RDBMS stands for relational database management System,RDBMS Example,features &amp; advantages of RDBMS,DBMS normalization\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/sql-rdbms\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-05T04:00:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-29T15:53:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/SQL-RDBMS-concepts.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQL RDBMS Concept - Features &amp; Advantages - DataFlair","description":"SQL RDBMS Concept:RDBMS stands for relational database management System,RDBMS Example,features & advantages of RDBMS,DBMS normalization","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/","og_locale":"en_US","og_type":"article","og_title":"SQL RDBMS Concept - Features &amp; Advantages - DataFlair","og_description":"SQL RDBMS Concept:RDBMS stands for relational database management System,RDBMS Example,features & advantages of RDBMS,DBMS normalization","og_url":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-08-05T04:00:58+00:00","article_modified_time":"2025-03-29T15:53:35+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/SQL-RDBMS-concepts.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"SQL RDBMS Concept &#8211; Features &amp; Advantages","datePublished":"2018-08-05T04:00:58+00:00","dateModified":"2025-03-29T15:53:35+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/"},"wordCount":1158,"commentCount":3,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/SQL-RDBMS-concepts.jpg","keywords":["advantages of RDBMS","CHECK Constraint","DEFAULT Constraint","features of RDBMS","normalization in dbms","NOT NULL Constraint","Primary key","principles of RDBMS Models","rdbms database program","Relational database example","relational database model","SQL RDBMS","UNIQUE Constraint"],"articleSection":["SQL Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/sql-rdbms\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/","url":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/","name":"SQL RDBMS Concept - Features &amp; Advantages - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/SQL-RDBMS-concepts.jpg","datePublished":"2018-08-05T04:00:58+00:00","dateModified":"2025-03-29T15:53:35+00:00","description":"SQL RDBMS Concept:RDBMS stands for relational database management System,RDBMS Example,features & advantages of RDBMS,DBMS normalization","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/sql-rdbms\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/SQL-RDBMS-concepts.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/SQL-RDBMS-concepts.jpg","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/sql-rdbms\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Searching for Groups of Scala Regex","item":"https:\/\/data-flair.training\/blogs\/tag\/searching-for-groups-of-scala-regex\/"},{"@type":"ListItem","position":3,"name":"SQL RDBMS Concept &#8211; Features &amp; Advantages"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/21725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=21725"}],"version-history":[{"count":5,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/21725\/revisions"}],"predecessor-version":[{"id":86552,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/21725\/revisions\/86552"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/86561"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=21725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=21725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=21725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}