Introduction to Relational Database Management Systems
In this chapter, we’ll learn about the relational database management system (RDBMS), the client-server model, and the basics of Structured Query Language (SQL). We’ll also delve into the breakdown of databases into tables and learn to design and implement it.
RDBMSs are the systems responsible for managing the database with our application data. Traditionally, all data management applications use an RDBMS. Lately, though, other types of database systems have flourished that fall into the NoSQL category, which means they’re non-tabular.
As the name implies, an RDBMS is a system that relationally manages data. Sometimes the “S” stands for “server” instead of “system.” In that case, it refers to the executable process that runs in the background and takes care of our database management.
A server is a process. It runs in the background as a daemon and makes sure that we can store our data safely on the hard disk. One server can manage multiple databases at the same time.
As a result, we don’t have to use one server for each database. In fact, it has become very cost-effective to have one server managing many different databases simultaneously. Similarly, an RDBM server can serve many different clients simultaneously.
The clients can be on the same client machine or different client machines. They can even be on the same machine the RDBM server is running on.
In other words, we may have multiple applications being served by the same server process. Note that clients sending requests to an RDBM server might be sending them over the internet. Therefore, they don’t have to be on the same machine or the same LAN as the server process.
An RDBMS uses the client-server model. This means that it’s a server process that responds to client requests rather than relying on another program to send requests to the server.
RDBMS client programs use SQL to give instructions to the server. SQL is divided into two basic categories:
Data definition language (DDL): This is the set of SQL statements that describe the structure of the data to the server. This is how the data has to be.
Data manipulation language (DML): This is the set of SQL statements that tell the server what we want to do with the data. Generally, this is limited to create, retrieve, update, and delete commands.