Ever wondered how our data is managed and tracked whenever we book tickets to travel on a train? Or how does your university store all the information regarding every student enrolled in every course? It is through Database Management Systems that complex data is managed and organized efficiently.
Understanding DBMS is one of the most important things as a Computer Science student and honestly, it is not easy. Hence, we have decided to start a new series on DBMS, where we will cover the A-Z of Database Management System concepts and help you prepare yourself for interviews and upcoming exams.
First, let us look into the definition of a database to understand this concept better.
What is a Database?
A database is a collection of organized data which users can easily access and manage. A Database Management System (DBMS) is a software tool that provides various operations through which users can manipulate data (create, retrieve, delete and update) in a database. The Database Management System serves as an interface between users like us and the database.
Take the example of Files Explorer in Windows. We know that our data is stored in a computer but how can we access it? A genie wouldn't help in that case, right? For that, we need an interface that displays our stored data in an organized manner that enables us to access, create, update, delete one or more files according to our need.
Note: We will use the acronym DBMS whenever we refer to Database Management Systems throughout the article.
Why do we need DBMS?
Now that we have seen a practical application of DBMS, let us take a look at why DBMS was DBMS introduced by Charles W. Bachman in the early 1960s. Ever since technologists started working in various domains, one thing that stood in common was the need for efficient data management, how could data be stored such that no part of it is redundant(repeated) and no important elements of data are missed?
Previous to the introduction of Databases, data was entirely stored in files and multiple file operations were used to retrieve and store data, but there were many disadvantages in using this traditional system of files, let us briefly look into a few of them.
Challenges of File Management:
- Data redundancy
The file System was unable to detect data that was stored multiple times, hence the same piece of data was stored at multiple locations occupying more space which led to a shortage of space for unique data
- Data insecurity
Any user who has access to the file can modify the content in the file leading to the loss of important data which cannot be retrieved back.
- Lack of Backup System
Once data has been erased from files accidentally, it is not possible to restore it. This can lead to permanent loss of data.
For instance, if a hospital is using a file system to manage the data of its patients, but due to a system crash or illegal authorization of files, the system gets corrupted and all the data gets erased. In such a situation, there is no way the hospital can get the information back.
These are a few major drawbacks of using a file system for storing data in modern-day scenarios. This is where DBMS comes into the picture.
DBMS was built on top of file systems to overcome the majority of drawbacks of the File System
All the above-discussed drawbacks are rectified and corrected in DBMS. Hence, let us look at a few major features of DBMS.
Features of DBMS:
Easy Data Retrieval: Unlike in file systems where updating data is complex, in DBMS we use Structured Query Language to retrieve data through queries. Thus, this provides a more efficient and easy way to retrieve data from a database.
Data Privacy and Security: According to this rule, only authorized and allowed users can make changes or update the database based on the privacy constraints enforced by the database owner.
Backup and Recovery: One of the major drawbacks of using File System was its inability to handle system crashes and restore lost data. DBMS automatically takes care of the backup whenever there is a system crash, hence ensuring the database owner complete security over his data.
Applications of DBMS
Let us see where DBMS is used in everyday life. There are multiple scenarios where we use DBMS in our day-to-day life. Some of them are listed below.
- Banking System:
A customer's account details, transaction log, withdrawal and deposit details, and customer history are maintained through a database.
- Healthcare industry:
Hospitals use databases to store information about a patient's medical history, doctor's patient history, appointments scheduled with doctors in a specific medical department, and many more.
- Education Sector:
Universities use databases to store information about both students and faculty, including personal details, courses enrolled, grades, course details and more.
- Railway Ticket Reservation System:
Lakhs and lakhs of people use railways for travelling to work. And storing data of all these people is done efficiently by Database Management Systems. The system stores data ranging from passenger information to his past and upcoming ticket bookings.
- E-Commerce websites:
Major e-commerce websites use multiple databases to store information about their customers, and record their purchase history to enable better recommendations and in turn scale their businesses.
These are just a handful of examples. But in reality, almost all humans use a database management system.
Some examples of Database Management Systems
While there are many Database Management Systems available fo the users out there, we have listed 3 popular ones for you:
- MySQL
MySQL is a relational database management system (RDBMS) which is developed by Oracle and is based on Structured Query Language (SQL).
- Oracle
Oracle Database, as we call it, is a multi-model database management system developed by Oracle Corporation.
- PostgreSQL
PostgreSQL is an advanced, enterprise-class open source relational database whichh is compatible with both SQL (relational) and JSON (non-relational) querying.
Conclusion
We understood the need for DBMS, features that allows it to standout over traditional file management systems, its applications and examples.