For a long time, we used to store information on the piece of paper and these papers inside files which are then stored in big racks. But in today’s computer age we store data inside the database.
Whenever we go on the internet, it is always ready to serve us juicy bite-sized information to learn or to get entertained. Do you know where this information comes from? Yes, it comes from databases.
To work with these databases we use software which is known as Database Management System (DBMS).
We use these Database Management System (DBMS) to work with or to manage databases.
In this article, let’s see what DBMS is and how it helps us to work with databases.
First, let’s start with understanding what a database is.
What is Database?
In simple words, a database is the actual storage of data, where all the information is stored in such a way, so that it becomes easy to retrieve, update, and delete it.
In simple words, a database is the collection of data that is organized in such a way, so that it becomes easy to retrieve, update and delete that data.
All the data in the database is arranged in tables, where each table contains rows and columns. You can imagine this as an excel sheet. Due to this structure of a database, programmers can write efficient database queries to serve useful information on websites or in applications.
Database query is nothing but the logical instruction which helps to manipulate the data inside the database. Programmers write the structured queries also known as SQL to perform various CRUD operations which are explained below.
But before that, we need an understanding of DBMS.
To work with databases we require a database management system (DBMS).
Let’s discuss it.
What is DBMS?
As we discussed earlier DBMS stands for Database Management System which helps us to work with the databases.
DBMS stands for Database Management System; it is the software used to work or manage the databases. The main work of DBMS is to provide an interface for the user to manipulate data from the database.
DBMS acts as a middle layer between the user and the actual database. Users write the logical structured queries or programs with the help of DBMS and the changes get reflected in the database and these changes occur due to the DBMS. You can refer to the following figure to visualize the work of DBMS.
We use DBMS for so many things but one of the main uses is to perform the CRUD operations on the database. CRUD is an acronym that stands for –
C – Create
R – Read
U – Update
D – Delete
Let’s see CRUD in detail to understand what is DBMS and its actual work,
Create means the creation of tables, rows, and columns with the help of DBMS. This is the operation where we insert the data and create other useful structures which help to efficiently work with the databases. When some users fill the form on any website there are some queries written at the back-end which performs the insert operation to store the user’s data.
Read is an operation that is used so much in the DBMS. There is always a need to retrieve the data from the database. Whenever you see your friend’s image on Instagram it is retrieved from Instagram’s database. It is very important to retrieve the relevant information for the user every time when he uses an application.
The update operation is used to modify the existing data from the database. There is an always edit button on the social media apps which helps to update or modify the information in posts. Update operation needs to be performed with caution in DBMS so that we can update only those things which need to be changed and not others.
Delete operation is simply used to delete the entry from the database. It needs to be used with extra caution so that useful information doesn’t get deleted.
Alongside CRUD DBMS is used for user administration as well. DBMS is used to register or to monitor the users.
DBMS helps to maintain data security, data integrity and it also helps to monitor performance.
In case of unexpected system failures, DBMS helps to recover the information using various recovery methods.
Applications of DMBS
As we need to store so much data at so many places there is a wide variety of database management system applications.
DBMS is used to store information about customers, their transactions, credit and debit details, etc. in the databases.
All the data of reservations and bookings are stored in databases with the help of DBMS.
DBMS is used to store student marks, details, credits, and other administrative information in the databases.
DBMS is used to keep the track of bills, call logs, and other customer information.
It becomes difficult to keep track of thousands of books and the members in the physical register. So DBMS is used to make it easy. With the help of DBMS, we can store data with different book categories, authors and genres.
Social Media Sites
Millions of users use social media sites every day and tons of data is shared between them. This huge amount of data is managed and stored with the help of DBMS
Characteristics of DBMS
There are various characteristics of Database management systems, these characteristics of DBMS make it useful for so many industrial and commercial business applications.
1. Access security
Whenever someone wants to access the database he needs to be authenticated first. DBMS provides various security features so that unauthorized users can’t access the database.
2. Minimum data redundancy
Redundant data means duplicate or repeating data which increases the storage cost. DBMS also provides the feature to remove or minimize data redundancy with the help of normalization techniques.
3. Different views for different users
Different users need to be served with the different data for eg. If the teacher logged in to an application he should be able to see the attendance of students and the results of all the students from his class. If a student logged in to the app then he would be able to see his own result. So DBMS provides us the functionality to create different views of data for different users.
4. Multi-user environment for parallel data access
DBMS provides an ability to allow access for multiple users so that multiple users can access the data from the database. This functionality allows modern applications to handle a large user base.
5. Automatic backup and recovery
There are various functionalities provided by DBMS to ensure that data can’t get corrupted or lost in pandemic situations. There are options like rollback and commit which ensure that data can get recovered. Rollback is an operation to undo the changes and commit is the operation to make the changes permanent.
6. DBMS follows ACID property
It is one of the important properties of a database management system that makes sure the database always remains in a good state.
Every operation which we perform on the database with the help of DBMS is known as the transaction and each of these transactions should follow the ACID property.
ACID is an acronym that stands for Atomicity, Consistency, Isolation, and Durability.
It is one of the most important characteristics of DBMS.
The transaction never remains in between either it performs completely or gets discarded completely in the case of any system or DBMS failure.
Data is very precious and it should remain the same before and after the transaction. It shouldn’t show any inconsistent behaviors with DBMS
All transactions should be isolated from one another, which means every transaction should be separate from one another there shouldn’t be any interference of one transaction onto another.
After execution of the entire transaction, data should become permanent on the database. It should be durable i.e. it should remain there in case of system failure or system crash.
Different Types of DBMS
There are various types of database management systems based on the database structures. We can arrange data in various formats for a variety of use cases.
Let’s see these types of DBMS one by one,
In a centralized database, a single central database serves data to multiple devices. Each user can access the database after authentication and be able to work with it.
In the decentralized database, all the data is collectively stored in multiple databases. All these databases are connected together with the help of networking. To the end-user, this entire system appears like a single coherent system.
The relational database management system is also known as RDBMS. It is one of the types of DBMS which is widely used for commercial applications. It contains tables in which data is stored in the form of rows and columns like an excel sheet. Some of the tables possess the relationship among them and the data is retrieved with the help of join operation. This join operation helps us to get data from 2 or more tables with the help of logical queries.
NoSQL or non-relational databases are the recently popular databases due to their high scalability and availability. In this type of database, the data is stored in collections and it doesn’t contain tables like relational databases.
Collection is simply the group of documents in which we have data with similar meaning and similar purpose. Document looks like as follows –
In NoSQL, we can store data in key-value pairs as well as with the help of graphs. It increases productivity by a significant amount and comparatively, it is easy to work with them.
In hierarchical databases data is arranged in a tree-like format where we have a parent-child relationship between nodes. The parent can have many children but children contain only one parent.
The network database model has various nodes and these nodes are connected with each other. These models are so complex in nature. This model allows multiple parents for a single child node so we can create more complicated structures with it.
The Object-oriented database management system is one of the types of DBMS, in which data is stored in the objects. These objects are created from the classes. Classes are nothing but the description of an object. It is similar to object-oriented programming languages.
Advantages of DBMS
- DBMS is secure due to the authentication and user authorization and DBMS is reliable in storing the data in the database..
- DBMS offers functionality to remove and minimize the data redundancy with the help of normalization techniques.
- DBMS provides different data views for different users.
- There is a facility to take backup and recover the lost data in DBMS.
- DBMS can be integrated with Python, Java, or any other programming language to make use of the database.
- ACID properties ensure healthy transactions with the database.
- Authentication and user authorization ensures the security of the DBMS
Disadvantages of DBMS
- Working with database management systems is often too complex.
- There is a cost involved to buy hardware for data storage.
- Setting up the DBMS takes time.
- Most of the commercial DBMS contains paid licenses so there is a cost involved before their use.
- If there is no backup and recovery functionality in the DBMS, then data loss can happen in case of some system failure or system crash.
- There is a requirement of skilled technical staff to work with DBMS.
- So much cost is involved in the infrastructure and skilled staff.
In this article, we saw DBMS which is a widely used software program to work with databases. Due to various characteristics, DBMS became very popular in commercial and industrial use. There are various types of DBMS that we can utilize according to our needs.