Database Management System is a general purpose software used to store and retrieve a collection of interrelated data in a centralized repository called database. Each database managed by a DBMS can contain information relevant to an enterprise. For instance, a database that stores information about sales done in an enterprise may contain data about proudcts, customers and the purchase made by them.
DBMS is one of the tools required for developing application software that stores and retrieves enterprise data. In a client/server environment, DBMS acts as a server (back-end) and the application program as a client (frone-end). The role of DBMS in application development is to enable the programmer to store and retrieve large volume of data from a database efficiently.
Some of the data management tasks that can be performed with the help of a DBMS are as follows:
- Defining the database: This involves specifying the structure of data to be stored in a database. This can be done by specifying the data type, width of the data field, constrains to be imposed on data in a database.
- Storing and manipulating data in a database: Data can be stored in a database by inserting new data or updating the existing data in a database. Removal of undesired data can also be done in a database. Retrieving data already stored in a database can be done by querying the database.
- Sharing the database by multiple users: Sharing allows multiple users to access the data available in a database without any conflict. Maintaing the consistency of data in a database while sharing is taken care by the DBMS by providing locks on data that are being accessed and updated by multiple users in a multi-user environment.
- Protecting the database: Protection of database includes system protection against hardware and software malfunction (or crashes) and security protection against unauthorized or malicious access of data from a database. Ensuring consistency of data even after a system crash is managed through backup and recovery system of the DBMS.
- Automated Teller Machine (ATM) or Online Banking for money transaction
- Online Reservation system for scheduling and reserving tickets for a travel
- University or College ERP for registering and pursuing a course of choice
- Online Book store for searching and buying books online
File System and Database System
Prior to the introduction of Database System, data were stored in files maintained by the Operating System. One or more application programs process the data stored in files to produce required information.
For instance, in a banking application, data about the customers and their savings accounts are stored in files so that the following operations can be done using the data at a later stage:
- Debit or credit some amount with an account
- Finding the balance of an account
- Generate monthly statements of accounts
- Data stored in file systems might be redundant and inconsistent
- Related data are isolated from each other by storing them in different files and locations
- Maintaing integrity of data has to be done at program level
- Automicity of data are not easy to be managed in file system
- Consistency of data may not be possible in a multi-user environment