What is a relational database?
A relational database (RDB) is a type of database (DB) that adheres to the relational model (the most widely used model for implementing planned databases today). Proposed by Edgar Frank Codd at IBM's laboratories in San Jose, California, in the 1970s, it quickly established itself as a new paradigm in database models.
A software system used to maintain relational databases is a relational database management system (RDBMS). Virtually all relational database systems use SQL (Structured Query Language) to query and maintain the database.
Common Features
- A database consists of several tables, called relations.
- No two tables can have the same name or record.
- Each table is itself a set of fields (columns) and records (rows).
- The relationship between a parent table and a child table is established through primary keys and foreign keys.
- Primary keys are the main identifier of a record within a table, and they must ensure data integrity.
- Foreign keys are placed in the child table and contain the same value as the primary key of the parent record; they establish the relational links.
What is RBDMS?
A relational database management system (RDBMS) is a collection of programs and capabilities that enable IT teams and others to create, update, manage, and interact with a relational database. Most commercial RDBMSs use Structured Query Language (SQL) to access the database, although SQL was invented after the initial development of the relational model and is not necessary for its use.
What is the difference between RDBMS and DBMS?
In general, databases store sets of data that can be queried for use in other applications. A database management system supports the development, management, and use of database platforms.
An RDBMS is a type of DBMS with a row-based table structure that connects related data elements and includes functions that maintain the security, accuracy, integrity, and consistency of the data.
What are the functions of relational database management systems?
The elements of a relational database management system that encompass the basic relational database are so intrinsic to operations that it is difficult to disassociate them in practice.
The most basic RDBMS functions are related to the operations of creation, reading, updating, and deletion, collectively known as CRUD. They form the foundation of a well-organized system that promotes consistent handling of data.
The RDBMS generally provides data dictionaries and collections of metadata useful for managing data. These support well-defined data structures and relationships programmatically.
Data storage management is a common capability of the RDBMS, defined through data objects ranging from large binary object (BLOB) strings to stored procedures. Data objects like these extend the scope of the basic operations of relational databases and can be handled in various ways across different RDBMSs.
Access Medium
The most common means of accessing data for the RDBMS is through SQL. Its main language components include data manipulation language (DML) and data definition language (DDL) statements. There are extensions available for development efforts that combine the use of SQL with common programming languages, such as COBOL (Common Business-Oriented Language), Java, and .NET.
RDBMSs use complex algorithms that support concurrent access by multiple users to the database while maintaining data integrity. Security management, which enforces policy-based access, is another overlay service that the RDBMS provides for the underlying database, as it is used in enterprise environments.
RDBMSs support the work of database administrators (DBAs) who must manage and monitor database activity. Utilities help automate data loading and database backup. RDBMSs manage log files that track system performance based on selected operational parameters. This allows for the measurement of usage, capacity, and database performance, particularly query performance. RDBMSs provide graphical interfaces that help DBAs visualize database activity.
Although not limited to RDBMSs, compliance with ACID is an attribute of relational technology that has proven important in enterprise computing. Representing atomicity, consistency, isolation, and durability, these capabilities are particularly suitable for RDBMSs due to their ability to handle business transactions.
Relational database management systems are fundamental to key applications, such as accounting ledgers, travel reservation systems, and online retail. As RDBMSs have matured, they have reached increasingly higher levels of query optimization and have also become key components of reporting, analytics, and data warehousing applications for businesses. RDBMSs are intrinsic to the operations of a variety of business applications and are at the center of most master data management (MDM) systems.
History of RDBMS Products
Many relational database management systems emerged as news of the relational data model spread in the early 1970s. This and other related methods were originally theorized by IBM researcher E.F. Codd, who proposed a database schema, or logical organization, that was not directly associated with physical organization, as was common at the time.
Codd's Work
Codd's work was based on a concept of data normalization, which saved storage space on disk storage units at a time when such machinery could be prohibitively expensive for businesses.
File systems and database management systems preceded what could be called the RDBMS era. Such systems primarily ran on mainframe computers. While RDBMSs also ran on mainframes (IBM's DB2 is a notable example), much of their rise in enterprise occurred in midrange UNIX computer implementations. The RDBMS was a key element in the distributed architecture of client/server computing, connecting groups of independent personal computers to file and database servers.
Numerous Versions
Numerous RDBMSs emerged alongside the use of client/server computing. Among the competitors were Oracle, Ingres, Informix, Sybase, Unify, Progress, and others. Over time, three RDBMSs came to dominate commercial implementations. Oracle, IBM's DB2, and Microsoft's SQL Server, which was based on an originally licensed design from Sybase, were favorites throughout the client/server computing era, despite repeated challenges from competing technologies.
As the 20th century came to a close, open-source versions of RDBMSs began to gain traction, particularly in web applications. Such systems include MySQL and PostgreSQL.
Eventually, as distributed computing took hold and cloud architecture became more prominent, RDBMSs found themselves competing with NoSQL systems. Such systems were often designed specifically for massive distribution and high scalability in the cloud, sometimes sacrificing full SQL-style consistency for what is called eventual data consistency.
However, even in the most diverse and complex cloud systems, the need to ensure data consistency requires that RDBMSs appear in some form. Furthermore, RDBMS versions have been significantly restructured for cloud parallelization and replication.