DBMS stands for Database Management System. We can break it like this DBMS = Database + Management System. Database is a collection of data and Management System is a set of programs to store and retrieve those data. Based on this we can define DBMS like this: DBMS is a collection of inter-related data and set of programs to store & access those data in an easy and effective manner.
What is DBMS?
- DBMS is a software that is used to manage the data. Some of the popular DBMS softwares are: MySQL, IBM Db2, Oracle, PostgreSQL etc.
- DBMS provides an interface to the user so that the operations on database can be performed using the interface.
- DBMS secure the data, that is the main advantage of DBMS over file system.
- DBMS also secures the data from unauthorised access as well as corrupt data insertions. It allows multiple users to access data simultaneously while maintaining the data consistency and data integrity.
DBMS allows following operations to the authorized users of the database:
Data Definition: Creation of table, table schema creation, removal of table definition etc. comes under data definition. It is basically a layout of the table and their relation with the other tables in the database. This allows to properly structure the data in such a way so that the data that is related or dependent on other data in real world can be represented the same way in database.
Data Modification: DBMS allows users to insert, update and delete the data from the tables. These tables contains rows and columns, where row represents a record of data while column represents attributes of the records. You can also bulk update the several records in DBMS with a single click.
Data Retrieval: DBMS allows users to fetch data from the database. Searching and retrieval of data is fast in DBMS. The size of the database doesn’t impact this operation, on the other hand in file system, the size of the data can hugely impact the search operation efficiency.
User administration: DBMS also allows user management such as organizing users in different groups with different access levels. Granting users access to certain tables in database, revoking access from certain users etc. This allows the admin of the database to efficiently manage the access to the database and prevent unauthorised access to the databases.
What is the need of DBMS?
Database systems are basically developed for large amount of data. When dealing with huge amount of data, there are two things that require optimization: Storage of data and retrieval of data.
Storage: According to the principles of database systems, the data is stored in such a way that it acquires lot less space as the redundant data (duplicate data) has been removed before storage. Let’s take a layman example to understand this:
In a banking system, suppose a customer is having two accounts, one is saving account and another is salary account. Let’s say bank stores saving account data at one place (these places are called tables we will learn them later) and salary account data at another place, in that case if the customer information such as customer name, address etc. are stored at both places then this is just a wastage of storage (redundancy/ duplication of data), to organize the data in a better way the information should be stored at one place and both the accounts should be linked to that information somehow. The same thing we achieve in DBMS.
Fast Retrieval of data: Along with storing the data in an optimized and systematic manner, it is also important that we retrieve the data quickly when needed. Database systems ensure that the data is retrieved as quickly as possible.
Purpose of Database Systems
The main purpose of database systems is to manage the data. Consider a university that keeps the data of students, teachers, courses, books etc. To manage this data we need to store this data somewhere where we can add new data, delete unused data, update outdated data, retrieve data, to perform these operations on data we need a Database management system that allows us to store the data in such a way so that all these operations can be performed on the data efficiently.
Database systems are much better than traditional file processing systems which we have discussed in the separate article: DBMS vs File System.