RDBMS (relational database management system)
What is an RDBMS (relational database management system)?
A relational database management system (RDBMS) is a collection of programs and capabilities that enable IT teams and others to create, update, administer and otherwise interact with a relational database. A relational database is a type of database that stores related data points.
RDBMSes store data in the form of tables, with most commercial relational database management systems using Structured Query Language (SQL) to access the database. However, since SQL was invented after the initial development of the relational model, it isn't necessary for RDBMS use.
The RDBMS is the most popular database system among organizations. It provides a dependable method of storing and retrieving large amounts of data while offering a combination of system performance and ease of implementation. It's also the basis for modern database systems like MySQL.
RDBMS vs. DBMS
In general, databases store sets of data that can be queried for use in other applications. A database management system supports the development, administration and use of database platforms.
An RDBMS is a type of database management system (DBMS) that stores data in a row-based table structure that connects related data elements. An RDBMS includes functions that maintain the security, accuracy, integrity and consistency of the data. This is different than the file storage used in a DBMS.
Other differences between database management systems and relational database management systems include the following:
- The relational model. RDBMSes use a relational model to map relationships between data elements, while a DBMS can support different data models.
- SQL. RDBMSes use SQL as a standard language for managing and querying data, while DBMSes don't have a standard language and can support different programming languages.
- Number of allowed users. While a DBMS can only accept one user at a time, an RDBMS can operate with multiple users.
- Hardware and software requirements. A DBMS needs less software and hardware than an RDBMS.
- Amount of data. RDBMSes can handle any amount of data, from small to large, while a DBMS can only manage small amounts.
- Database structure. In a DBMS, data is kept in a hierarchical form, whereas an RDBMS utilizes a table where the headers are used as column names and the rows contain the corresponding values.
- ACID implementation. DBMSes don't use the atomicity, consistency, isolation and durability (ACID) model for storing data. On the other hand, RDBMSes base the structure of their data on the ACID model to ensure consistency.
- Distributed databases. While an RDBMS offers complete support for distributed databases, a DBMS won't provide support.
- Types of programs managed. While an RDBMS helps manage the relationships between its incorporated tables of data, a DBMS focuses on maintaining databases that are present within the computer network and system hard disks.
- Support of database normalization. An RDBMS can be normalized, but a DBMS can't.
- Schemas. RDBMSes have a rigid schema, which limits the types of data they can store and manage, while DBMSes can accommodate flexible schemas.
Features of relational database management systems
Elements of the relational database management system that overarch the basic relational database are so intrinsic to operations that it's hard to dissociate the two in practice.
The most basic RDBMS functions are related to create, read, update and delete operations -- collectively known as CRUD. They form the foundation of a well-organized system that promotes consistent treatment of data.
The RDBMS typically provides data dictionaries and metadata collections that are useful in data handling. These programmatically support well-defined data structures and relationships. Data storage management is a common function of the RDBMS, and this has come to be defined by data objects that range from binary large object -- or blob -- strings to stored procedures. Data objects like this extend the scope of basic relational database operations and can be handled in a variety of ways in different RDBMSes.
The most common means of data access for the RDBMS is SQL. Its main language components comprise data manipulation language and Data Definition Language statements. Extensions are available for development efforts that pair SQL use with common programming languages, such as COBOL (Common Business Oriented Language), Java and .NET.
RDBMSes use complex algorithms that support multiple concurrent user access to the database while maintaining data integrity. Security management, which enforces policy-based access, is yet another overlay service that the RDBMS provides for the basic database as it's used in enterprise settings.
RDBMSes support the work of database administrators (DBAs) who must manage and monitor database activity. Utilities help automate data loading and database backup. RDBMSes manage log files that track system performance based on selected operational parameters. This lets DBAs measure database usage, capacity and performance, particularly query performance. RDBMSes provide graphical interfaces that help DBAs visualize database activity.
While not limited solely to the RDBMS, ACID compliance is an attribute of relational technology that has proved important in enterprise computing. These capabilities have particularly suited RDBMSes for handling business transactions.
Other RDBMS features typically include the following:
- ACID support.
- Multi-user access.
- Data durability.
- Data consistency.
- Data flexibility.
- Hierarchical relationship.
As RDBMSes have matured, they've achieved increasingly higher levels of query optimization, and they have become key parts of reporting, analytics and data warehousing applications for businesses as well. RDBMSes are intrinsic to the operations of a variety of enterprise applications and are at the center of most master data management systems.
How an RDBMS works
As mentioned previously, an RDBMS stores data in the form of a table. Each system will have varying numbers of tables with each table possessing its own unique primary key. The primary key is then used to identify each table.
Within the table are rows and columns. The rows are known as records or horizontal entities; they contain the information for the individual entry. The columns are known as vertical entities and possess information about the specific field.
Before creating these tables, the RDBMS must check the following constraints:
- Primary keys identify each row in the table. One table can only contain one primary key. The key must be unique and without null values.
- Foreign keys are used to link two tables. The foreign key is stored in one table and refers to the primary key associated with another table.
- Not null ensures that every column doesn't have a null value, such as an empty cell.
- Check confirms that each entry in a column or row satisfies a precise condition and that every column holds unique data.
- Data integrity ensures the integrity of the data is confirmed before the data is created.
RDBMSes also consist of the following notations:
- SQL. This is the domain-specific language used for storing and retrieving data.
- SQL query. This is a data request from an RDBMS system.
- Index. This is a data structure used to accelerate database retrieval.
- View. This is a table that shows a data output figured from underlying tables.
Ensuring the integrity of data includes several specific tests, including entity, domain, referential and user-defined integrity. Entity integrity confirms that the rows aren't duplicated in the table. Domain integrity ensures that data is entered into the table based on specific conditions, such as file format or range of values. Referential integrity ensures that any row that's relinked to a different table can't be deleted. Finally, user-defined integrity confirms that the table will satisfy all user-defined conditions.
Advantages of a relational database management system
The use of an RDBMS can be beneficial to most organizations; the systematic view of raw data helps companies better understand and execute the information while enhancing the decision-making process. Using tables to store data also improves the security of information stored in the databases. Users can customize access and set barriers to limit the content that's made available. This feature makes the RDBMS particularly useful to organizations in which the manager decides what data is provided to employees and customers.
Furthermore, RDBMSes make it easy to add new data to the system or alter existing tables while ensuring consistency with the previously available content.
Other advantages of the RDBMS include the following:
- Flexibility. Updating data is more efficient, as the changes only need to be made in one place.
- Maintenance. DBAs can easily maintain, control and update data in the database. Backups also become easier, as automation tools included in the RDBMS automate these tasks.
- Data structure. The table format used in RDBMSes is easy to understand and provides an organized and structural manner through which entries are matched by firing queries.
- ACID properties. These properties increase data consistency, isolation and durability.
- Security. RDBMS systems can include security features such as encryption, access controls and user authentication.
- Scalability. RDBMS systems can horizontally distribute data across different servers.
Disadvantages of a relational database management system
On the other hand, relational database management systems also have some disadvantages. For example, to implement an RDBMS, special software must be purchased. This introduces an additional cost for execution. Once the software is obtained, the setup process can be tedious, as it requires millions of lines of content to be transferred into the RDBMS tables. This process might require the help of a programmer or a team of data entry specialists. Special attention must be paid to the data during entry to ensure sensitive information isn't placed into the wrong hands.
Some other drawbacks of the RDBMS include the character limit placed on certain fields in the tables and the inability to fully understand new forms of data -- such as complex numbers, designs and images.
Furthermore, while isolated databases can be created using an RDBMS, the process requires large chunks of information be separated from each other. Connecting these large amounts of data to form the isolated database can be complicated.
Uses of RDBMS
Relational database management systems are frequently used in disciplines such as manufacturing, human resources and banking. The system is also useful for airlines that need to store ticket service and passenger documentation information, as well as universities that maintain student databases.
Other examples of RDBMS uses include the following:
- Business systems. Business applications can use RDBMSes to store, manage and process transaction data.
- E-commerce. An RDBMS can be used to manage data related to inventory management, orders, transactions and customer data.
- Healthcare. RDBMSes are used to manage data related to healthcare, medical records, lab results and electronic health record systems.
- Education systems. RDBMSes can be used to manage student data and academic records.
Examples of RDBMS types
There are many different types of DBMSes, including a varying set of options for RDBMSes. Examples of different RDBMSes include the following:
- Oracle Database. This RDBMS system produced and marketed by Oracle is known for its varied feature set, scalability and security.
- MySQL. This widely used open source RDBMS system excels in speed, reliability and usability.
- Azure SQL. This Microsoft-provided cloud-based RDBMS system is used for small database applications.
- SQL Server. This Microsoft-provided RDBMS system is more complex than Azure SQL and offers full control.
- IBM Db2. This IBM-offered RDBMS system was also extended to support object-relational and non-relational structures such as JavaScript Object Notation and Extensible Markup Language.
RDBMS product history
Many vying relational database management systems arose as news spread in the early 1970s of the relational data model. This and related methods were originally theorized by IBM researcher E.F. Codd, who proposed a database schema, or logical organization, that wasn't directly associated with physical organization, as was common at the time.
Codd's work was based on the concept of data normalization, which saved file space on storage disk drives 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 ran primarily on mainframe computers. While RDBMSes also ran on mainframes -- IBM's Db2 being a pointed example -- much of their ascendance in the enterprise was in Unix midrange computer deployments. The RDBMS was a linchpin in the distributed architecture of client-server computing, which connected pools of standalone PCs to file and database servers.
Numerous RDBMSes arose along with the use of client-server computing. Among the competitors were Informix, Ingres, Oracle, Progress and Sybase. Over time, three RDBMSes came to dominate commercial implementations. Oracle, IBM Db2 and Microsoft SQL Server, which was based on a design originally licensed from Sybase, found considerable favor throughout the client-server computing era, despite repeated challenges by competing technologies.
As the 20th century drew to an end, lower-cost, open source versions of RDBMSes began to find use, particularly in web applications.
Eventually, as distributed computing took greater hold, and as cloud architecture became more prominently employed, RDBMSes met competition in the form of NoSQL systems. Such systems were often specifically designed for massive distribution and high scalability in the cloud, sometimes forgoing SQL-style full consistency for eventual consistency of data. Eventual consistency ensures that updates made to a distributed NoSQL database are then eventually also made across all other nodes. However, the need for guaranteed data consistency would still require RDBMSes to appear in some way, shape or form. Moreover, versions of RDBMSes have been significantly restructured for cloud parallelization and replication.
There are several different database options for organizations to choose from. Learn more about how DBMS and RDBMS compare.