DBMS (Database Management System) is nothing but a software that is used to interpret a database that stores the data, supports a query language, produces reports, and creates data entry screens. DBMS acts as an mediator between the end-users and application programs.
The Purpose of DBMS(Database Management System)
For example, consider a college in which the information about the students, courses, departments, etc. are stored in the database. The best way to store the information on computer is to store it in the operating system files The computer has many application programs to control the files to add the new students, faculties and courses for registration of students , for generating transcripts and assigning grades to the students, etc. These application programs are developed and added specifically to satisfy the requirements of the college. The new files might be added to the existing files inorder to store the details of the newly added students, courses , etc. The new application programs might be developed to manage the information about new files. Such type of file processing system is managed and controlled by the conventional operating system. The file processing system has certain disadvantages, they are as follows,
1. Data Redundancy and Inconsistency
Duplication of data is known as data redundancy. The files and application programs might be created by programmers using different programming languages with different structure. For example, consider a student with double major like Dance and Yoga. The details of the students such as address, mobile number will be maintained in both the files of Dance and Yoga. Redundancy in such case leads to increase in memory storage and access cost or moreover leads to data inconsistency. It means different copies of same data will not be acceptable.
2. Difficulty in Accessing the Data
The conventional file processing system does not allow the data to be accessed in a convenient manner. For example, consider an employee in a college working in admin block needs to find the toppers of every department and requests the data processing departments to produce the list of students. There are only two options either to get list of all students and pick manually or to request the programmer to write application program to get the required data. Both the options are unsatisfactory. If there is another requirement later on (for example, finding below average students), then another application program is needed to be developed. Thus, a responsive data retrieval system is needed for general usage.
3. Data Isolation
Development of an application program to retrieve the appropriate data from the scattered data within various files and formats is difficult.
4. Integrity Problems
The data values of database should satisfy the consistency constraints. For example, a college maintains one account for every department. It even maintains status of amount in each account. This task is difficult when more new constraints are required to be added. The problem arises when the constraints consist of different data items from several files.
5. Atomicity Problems
A computer system when crashed will need its data to be restored to the consistent state as it was before failure. For example, consider two programs X and Y, suppose X transfers $100 to the account of Y, and if the system failure occurs while execution then it is possible that $100 to get debited from the account of 4 but not credited to B. This results in inconsistent database state. Therefore, funds transfer must be atomic i.e, it should be performed completely or not at all.
6. Concurrent Access Anomalies
Many systems provide access to multiple users to update the data inorder to improve the performance of system and for quick response. There is a communication between the concurrent updates in places where millions of access are done. This results in irrelevant data. For example, consider a registration scheme of students for a course that is limited to 20. While registering, the count is checked and increased by 1. Then registration is done. When two students register concurrently, the count will increase only by I but details of two students will be added. Moreover, it should be increased by 2. Suppose if the count is 19 before registering then there will be violation of limit of 20 students.
7. Security Problems
The data should be accessible only by authentic users and not by other users. For example, consider a recruitment department company, which can only access the data related to recruitment but not payroll information of the employees. These type of security constraints are difficult to be imposed since the programs are being added to file processing systems in adhoc manner.
Applications of Database Systems
The applications of database management system are as follows:
Databases are used in sales for storing the product details, customer details and transactions.
(ii) Human Resources
Human Resources of organizations use database for storing the information about employees, salaries, tax, payslips, etc.
DBMS is used in manufacturing companies to maintain record of all product details such as purchase, product tracking, orders, inventories, etc.
Accounting databases are used to maintain the information related to deposits, withdrawals, payments, receipts, etc.
(v) Online Retailers
The databases are used by online retailers to provide online order tracking, online products evaluations, etc.
(vi) Credit Card Transactions
It is used to keep track of purchases on credit cards and to generate statements.
The DBMS stores the information related to finance like sales, purchases, stock markets, etc.
It uses database for maintaining records about reservation, arrival and departure of planes, delay status, etc.
(ix) Transactions in Bank
The customer or the client can access the bank database for crediting or debiting the money from the bank account. The bank database stores the details of individual customers, their accounts, loans etc.
(x) Students at Universities
Universities have database of various courses they offer and a database for the faculty and students. Each student record contains the name of the student, marks scored etc. Each faculty record contains the name of faculty, his employee id, salary. subjects dealing with etc.
Database is used to store the details of number of calls made to generate the bill. For prepaid customers, it stores the credit available.
You may also like to read C (Programming Language)- Characteristics, Phases and Structure of C