Database Management Systems (DBMS) aid in storage, control, manipulation, and retrieval of data. They provide a number of different benefits, which make them indispensable in most organizations. In this Techspirited article, we shall find out what DBMS are, and list out their major advantages.
A Database Management System is a program used to store, delete, update, and retrieve data in a database. These databases can be limited to a single desktop computer, or can be stored in large server machines too, like the IBM Mainframe.
Databases are warehouses of information, where large amounts of interrelated data can be stored. The common examples in commercial applications are inventory data, employee data, etc. A DBMS allows one to create, manage, and make use of a database. It is basically an intermediate layer present between the programs desiring access and the actual data. Thus, programs have to access the DBMS before they can access the database.
The most commonly used database management systems are the relational database management systems (RDBMS). They allow for a systematic storage of data, by maintaining the relationship between the data members. The data is stored as tuples in an RDBMS.
The advent of object-oriented programming gave rise to the concept of object-oriented database management systems. These systems combine properties like inheritance, encapsulation, polymorphism, abstraction, consistency, isolation, and durability, also called ACID properties of DBMS.
There are various DBMS available in the market today. Some of most popular ones include Sybase, Microsoft SQL Server, Oracle RDBMS, PostgreSQL, MySQL, etc. DBMS are also present in simple devices; for example, the address book of cell phones, digital diaries, etc. In the following section, we shall list out the main advantages of using a database management system.
Database Management System Advantages
1) Prevents Data Redundancy
In non-database systems, there can be a number of applications and programs, each having their own file-set stored within the memory. Some of these files may contain duplicate data, which can get stored at different locations, thereby leading to wastage of the available memory storage space. Such duplicate data is termed as redundant data.
In DBMS, all the data from the different applications are integrated into a single database, on which various checks for duplicity can be performed, and multiple copies can be logically converted into a single one. This allows for a great reduction in data redundancy, and prevents the wastage of memory. However, it must be noted that some applications may require data to be duplicated.
2) Allows Data Sharing
DBMS allows sharing of the same data among numerous applications and users. The data is stored centrally (typically within servers), and a software-based locking mechanism is put in place to prevent two users from modifying it at the same time. This feature makes it possible to share and fulfill the data requirements of a newly installed application without needing to again create new data specifically for it.
3) Maintains Data Consistency
When duplicate data exists at different memory locations, there are chances that an application might update one of them while the other one will continue to contain the previous values. This will cause an inconsistency in the information that is stored. In DBMS, data redundancy is greatly reduced, and so, in almost all cases, only a single copy of data exists in the database, which all the different applications and programs share. Therefore, any changes made to it are instantly available to all the programs accessing it, and as such, the consistency of data is maintained.
4) Maintains Data Integrity
Data integrity is said to exist when the data entered into a database is both, accurate and consistent.
These systems provide centralized control over the access to data. This allows different checks to be put in place in order to verify the accuracy of the data being entered into it.
5) Provides Data Security
The data in many of organizations is highly sensitive, and may even be confidential. Unauthorized access can compromise the entire functioning of the organization. This can be very effectively prevented in DBMS, where the database administrator (DBA) can block or grant access as required.
The DBA can implement a number of access procedures and authentication schemes to ensure that only the person(s) having enough privileges is granted access to critical data. Thus, a DBMS is capable of providing security to the data in an organization.
6) Automatic Backup and Restore
In a file-based computer system, the user has to create a backup of the data regularly to protect it from being damaged or lost in the event of system crash or failure. This can be a very time-consuming process, and is prone to human error. Most of the DBMS have a backup-and-recovery feature built within them, that automatically backs-up all important data, and restores it when needed.
7) Data Independence
The separation of data structure from the application program used to access it is known as data independence. Typically, in a DBMS, the database and the application program are maintained separately from each other, with the DBMS acting as a mediator between them. This proves to be a big advantage, as one can easily change the database structure without affecting the application program.
8) Data Abstraction
Data abstraction results from data independence. It allows the DBMS to provide an abstract view of the data, without divulging the details of its physical storage or method of implementation.
9) Multiple Views of Data
A DBMS allows multiple accesses to the database by many users, each having a different perspective view of the data stored in it. All these views are subsets of the database, and contain virtual data derived from the database, which doesn’t exist in physical form. Thus, many users can access the data, while still maintaining the consistency of the database.
10) Ease of Application Development
Many data-related issues, like concurrent access, security, data integrity, etc., are taken care of by the DBMS. Therefore, when an application programmer develops a program, he/she can focus explicitly on the needs of the users. This makes the task of application development much easier.
Thus, database management systems bring about a systematization in data storage, and also provide data security. Owing to their many advantages over traditional file-based data storage systems, they are widely used in many large and small organizations alike.