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. 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 is not necessary for RDBMS use.
The RDBMS is the most popular database system among organizations across the world. It provides a dependable method of storing and retrieving large amounts of data while offering a combination of system performance and ease of implementation.
RDBMS stands for Relational Database Management System and it implements SQL.
In the real-world scenario, people use the Relational Database Management System to collect information and process it, to provide service. E.g. In a ticket processing system, details about us (e.g. age, gender) and our journey (e.g. source, destination), are collected, and the ticket is provided to us.
Each term in the diagram is explained below in the point number associated with the term.
- All data, data about data (metadata) and logs are stored in the Secondary Storage devices (SSD), such as Disks and Tapes.The programs that are used to do the day-to-day tasks of an enterprise are called Application programs. These programs provide the functionality for the day-to-day operations of the enterprise. They are written in high level languages (HLL) like Java, C etc, which along with the SQL, are used to communicate with the databases.
- RDBMS has a compiler that converts the SQL commands to lower level language, processes it and stores it into the secondary storage device.
- It is the job of Database Administrator (DBA) to set up the structure of the database using command processor. The DDL stands for Data Definition Language and is used by the DBA to create or drop tables, add columns etc. The DBA also uses other commands which are used to set constraints and access controls.
- Application Programmers compile the applications using a compiler and create executable files (compiled application programs) and then store the data on the secondary storage device.
- Job of Data Analyst is to use the Query Compiler and Query Optimizer (uses relational properties for executing queries) to manipulate the data in the database.
- RDBMS Run Time System executes the compiled queries and application programs and also interacts with the transaction manager and buffer manager.
- Buffer Manager temporarily stores the data of the database in the main memory and uses paging algorithm so that operations can be performed faster and the disk space can be managed.
- Transaction Manager deals with the principle of either completely doing a task or not doing it at all (Atomicity property). E.g. Suppose a person named Geeks, wants to send money to his sister. He sends the money and system crashes in between. In no case should it happen that he has sent money but his sister has not received it. This is handled by the transaction manager. The transaction manager would either refund the money to Geeks or transfer it to his sister.
- Log is a system, which records the information about all the transactions, so that whenever a system failure (disk failure, system shut down due to no power etc.) arises, the partial transactions can be undone.
- Recovery Manager takes control of the system so that it reaches a steady state after failure. The Recovery Manager takes into account the log files and undoes the partial transactions and reflects the complete transaction in the database.