What is a Relational Database (RDBMS)?

Learn via video course
FREE
View all courses
DBMS Course - Master the Fundamentals and Advanced Concepts
DBMS Course - Master the Fundamentals and Advanced Concepts
by Srikanth Varma
1000
5
Start Learning
DBMS Course - Master the Fundamentals and Advanced Concepts
DBMS Course - Master the Fundamentals and Advanced Concepts
by Srikanth Varma
1000
5
Start Learning
Topics Covered

Overview

Relational databases are a straightforward representation of data in the form of tables. Each column holds data representing data points, and each row in the table is recorded with a unique data value called a key.

What is a Relational Database (RDBMS)?

A relational database management system or RDBMS is a database system that stores and fetches data in the form of tables. Thus the data is stored in the form of rows and columns. DBMS such as My-SQL and ORACLE are based on the principle of relational DBMS.

How Does a Relational Database Work?

Relational Databases use tables to store data about related objects. Each column contains data attributes, whereas each row holds a record of unique data known as Key.

Relational Databases or RDBMS are managed using SQL short form for Structured Query Language. Therefore SQL codes are used to retrieve information from relational databases by doing various interactive operations like JOIN, TRUNCATE, etc.

How a Relational Database Model is Structured?

A relational database model represents how data is stored in tables, which helps form relations between data values.

Consider a relational table named EMPLOYEE with attributes EMP_ID, NAME, ADDRESS, AGE.

EMPLOYEE TABLE:

EMP_IDNAMEADDRESSAGE
1RahulBengaluru23
2SumanKolkata25
3RajDelhi30

Well, there are some important terminologies that you should keep in mind while forming a relational database.

  • Attribute: Attributes are properties that define the relational database. Eg: EMP_ID, NAME etc.

  • Relation Schema: A relational schema defines its relation with other attributes altogether. E.g., EMPLOYEE (EMP_ID, NAME, ADDRESS, AGE).

  • Degree: Degree is defined by several attributes we have in a relational table. E.g., The degree of the EMPLOYEE table is 4. For further reading, refer to this article on Scaler Topics.

  • Cardinality: Cardinality is defined by the number of tuples in a relation. E.g., The cardinality of the EMPLOYEE table is 3.

  • NULL Values: The values or data which are unknown are kept as NULL.

Examples of Relational Databases

The most commonly used relational databases are:

  • MySQL
  • PostgreSQL
  • DB2

Let us understand how the respective databases are different from each other.

MySQL

MySQL is low-memory CPU database, thus making it one of the most used databases. It supports all the basic SQL commands. MySQL also satisfies all the ACID properties.

PostgreSQL

PostgreSQL is an open-source DBMS that provides enterprise features such as scalability, security, automation by using command-line interfaces. It also supports the usage of stored procedures in SQL.

DB2

DB2 is a commercially supported relational database with both an on-premises version and a cloud-hosted version.

Benefits of Relational Databases

The following are some of the benefits of using relational databases.

  • Security: In a RDBMS, some tables might need to be confidential according to the use case. For example, tables with username and password should be authorized to only the user who has access. Therefore relational databases provide this functionality to restrict access to some tables to specific users.

  • Speed: The speed is higher due to its simplicity and ease. Users can do various optimization on tables which further increases the speed of the database.

  • Simplicity: A relational database model is much simpler as compared to other network models. It is free from complex structuring and query processing. Due to this, it doesn't require complex queries to perform certain tasks. A simple SQL query can handle all the requests on a relational database.

  • Accuracy: Relational databases use foreign and primary keys to make tables interrelated. This feature ensures that no duplicate data exists in the databases, making it more accurate.

  • Accessibility: Relational databases do not require any specific path to access data. Modifying data in the table is also easy. It can be done by changing a column or row based on the current requirement.

  • Multi-User: Relational databases can be accessed by multiple users simultaneously. Even if there are data changes, the users can access them without facing any crashes in the database.

Drawbacks of Relational Databases

The following are some of the drawbacks of using relational databases.

  • Performance: The performance of a relational database depends on the number of tables present. If the number of tables is high, the response time for each query will be slower. Moreover, the presence of huge amounts of data makes it challenging to find any particular information.

  • Cost: Using a relational database for enterprise use might be costly as we need to purchase specific software, along with a professional technician who will maintain the system.

  • Complexity: A relational database can be complex sometimes when the amount of data increases.

  • Physical Storage: A huge amount of physical storage is required for relational databases. Maximum storage can be attained through proper optimization of the database.

Relational vs. Non-Relational Databases

AspectRelational DatabaseNon-Relational Database
StructureTables with rows & columnsVarious types (e.g., document, key-value)
SchemaFixed schemaFlexible or no schema
RelationshipsDefined relationshipsOften no defined relationships
ComplexityMore complexSimpler in design
ScalabilityVertical scalingHorizontal scaling
Transactions & ACIDSupports ACID propertiesMay not support ACID
Query LanguageSQLVaries (e.g., JSON-based queries)
Performance with Large DataOptimized for complex queriesOptimized for read-heavy operations
Data ConsistencyStrong consistencyEventually consistent (in some cases)

Conclusion

  • Relation databases are data stored in the form of tables, and the relation between tables are maintained with the help of primary and foreign keys.
  • The most popular relational databases that are used are:
    1. MySQL
    2. PostgreSQL
    3. DB2
  • Relational databases help in maintaining security and provide high-speed in doing database transactions. The design of the databases has simplicity and high accuracy. It also helps in providing accessibility to multiple users.
  • Though relational databases provide many advantages over other database systems. It still requires huge physical storage due to which the cost of maintaining a relational database is high. Also, maintaining a huge amount of data can increase the complexity of database tables.

See More

  1. Difference between DBMS and RDBMS