Definition: Database management systems (DBMSs) are computer software applications that interact with the user, other applications, and the database itself to capture and analyze data. A general-purpose DBMS is designed to allow the definition, creation, querying, update, and administration of databases.
A database management system (DBMS) consists of a collection of interrelated data and a set of program to access those data. The collection of data, usually referred to as the database, contains information about one particular enterprise. The primary goal of DBMS is to provide an environment that is both convenient and efficient to use in retrieving and storing database information.
Example of database management systems are MS Access, DB2, ORACLE, SQL Server, MySQL, Ingress, Paradox, SYBASE, INFORMIX, etc.
Database systems are designed to manage large bodies of information. The management of data involves both the definition of structures for the storage of information and provision of mechanism for the manipulation of information. In addition, the database system must provide for the safety of information stored despite the system crashes or attempts at unauthorized access. If the data ate to be shared among several users, the system must avoid possible anomalous results. The importance of information in most of the organization which determine the value of the database has led to the development of large bodies of concepts and techniques for efficient management of data.
The database management system is the major software component of a database system. A database management system, therefore, is a combination of hardware and software that can be used to set up and monitor a database, and can manage the updating and retrieval of the database that has been stored in it. Most database management systems have the following facilities/ or capabilities:
- Creating of a file, addition to data, deletion of data, modification of data; creation, addition and deletion of entire files.
- Retrieving data collectively of selectively.
- The data stored can be sorted or indexed at the user’s discretion and direction.
- Various reports can be produced from the system. These may be either standardized reports or that may be specifically generated according to specific user definition.
- Mathematical functions can be performed and the data stored in the database can be manipulated with these functions to perform the desired calculations.
Further we will discuss detail of DBMS’s facilities in ‘Advantages of DBMS’.
Objective of DBMS
- Provide for mass storage device of relevant data.
- Making access to the data easy for the user.
- Providing prompt response to user request for data.
- Making the latest modification to the database available immediately.
- Eliminate redundant (duplicate) data.
- Allow multiple users to be active at one time.
- Allow the growth of database system.
- Protect the data from physical harm and unauthorized access.
Consider parts of a saving-bank enterprise that keeps information about all customer and saving account. One way to keep the information on a computer is to store it in permanent system files. To allow users to manipulate the information, the system has a number of application programs that manipulate the files, including;
- A program to debit or credit an account.
- A program to add a new account.
- A program to generate monthly statements.
- A program to find balance of an account.
New application programs are added to the system as the need arises.
Advantages of DBMS
- Backup and Recovery Procedures: In a computer file-based system, the user creates the backup of data regularly to protect the valuable data from damage due to failures to the computer system or application program. It is very time consuming method, if amount of data is large. Most of the DBMSs provide the ‘backup and recovery’ sub-systems that automatically create the backup of data and restore data if required.
- Report Writers: Most of the DBMSs provide the report writer tools used to create reports. The users can create very easily and quickly. Once a report is created, it can be used may times and it can be modified very easily. The created reports are also saved along with database and behave like a software component.
- Integration Constraints: Integrity constraints or consistency rules can be applied to database so that the correct data can be entered into database. The constraints may be applied to data item within a single record or the may be applied to relationships between records.
- Data Consistency: By controlling the data redundancy, the data consistency is obtained. If a data item appears only once, any update to its value has to be performed only once and the updated value is immediately available to all users. If the DBMS has controlled redundancy, the database system enforces consistency.
- Controlling Data Redundancy: In non-database systems each application program has its own private files. In this case, the duplicated copies of the same data is created in many places. In DBMS, all data of an organization is integrated into a single database file. The data is recorded in only one place in the database and it is not duplicated.
- Sharing of Data: In DBMS, data can be shared by authorized users of the organization. The database administrator manages the data and gives rights to users to access the data. Many users can be authorized to access the same piece of information simultaneously. The remote users can also share same data. Similarly, the data of same database can be shared between different application programs.
- Integration of Data: In Database management system, data in database is stored in tables. A single database contains multiple tables and relationships can be created between tables (or associated data entities). This makes easy to retrieve and update data.
- Data Security: Form is very important object of DBMS. You can create forms very easily and quickly in DBMS. Once a form is created, it can be used many times and it can be modified very easily. The created forms are also saved along with database and behave like a software component. A form provides very easy way (user-friendly) to enter data into database, edit data and display data from database. The non-technical users can also perform various operations on database through forms without going into technical details of a database.
- Control Over Concurrency: In a computer file-based system, if two users are allowed to access data simultaneously, it is possible that they will interfere with each other. For example, if both users attempt to perform update operation on the same record, then one may overwrite the values recorded by the other. Most database management systems have sub-systems to control the concurrency so that transactions are always recorded with accuracy.
- Data Independence: The separation of data structure of database from the application program that uses the data is called data independence. In DBMS, you can easily change the structure of database without modifying the application program.
Where and Why to use Database Management Systems?
Databases are widely used, here are some representative applications of database management systems,
- Banking: For customer information, accounts and loans and banking transactions.
- Airlines: For reservations and schedule information. Airlines were among the first to use databases in a geographically distributed manner terminals situated around the world accessed the central database system through phone lines and other data networks.
- Universities: For student information, course registrations, and grades.
- Credit card transaction: for purchases on credit cards and generation of monthly statements.
- Telecommunication: For keeping records of calls made, generating monthly bills, maintaining balances on prepaid calling cards, and storing information about the communication networks.
- Finance: For storing information about holdings, sales, and purchases of financial instruments such as stocks and bonds.
- Sales: For customer, product and purchase information.
- Manufacturing: For management of supply chain and for tracking production of items in factories, inventories of items in warehouses, stores, and orders of items.
- Human resources: For information about employees, salaries, payroll, taxes and benefits, and for generation of paychecks.
Application development without DBMS (Disadvantages of File Processing System)
The typical file processing system is supported by a conventional operating system. The system stores permanent records in different files and it needs different application programs to extract records from file and to add records into files. Before the emergence of DBMS, organization stored information in file system. Keeping organizational data in file processing system has various disadvantages and some of them are:
- Data Redundancy and Inconsistency: Redundancy means repetition of same data item in many places within a data file. In a file processing system, there exists many chances of data redundancy. Due to redundancy, there occurs wastage of storage space and difficulty in modifying data. The same data item may be in different form or format in various places within a data file and it is known as data inconsistency.
- Difficulty in Accessing Data: In file processing system, different data files are used to store different information and we need different application programs to access those data files. So, it is difficult in accessing data in a file processing system.
- Integrity Problems: Data integrity means data contained in a database is both accurate and consistent. To maintain the integrity of data file processing system does not provide any facility.
- Atomicity Problems (“Do All or Do Nothing”): In file processing system, the transaction operating on data files are not atomic. So, if a transaction fails after performing partial operations, the database may be in an inconsistent step and this problem is known as atomicity problem.
- Concurrent Access Anomalies: Due to the concurrent or parallel access of same data file by multiple users at the same time there may exist some problems and it is known as concurrent access anomaly.
- Security Problems: File processing system does not provide any facility for the security and privacy of data files.
- Data Dependency: In file processing system, data files and programs are totally dependent on each other. If we want to make any changes on data files, then we have to make according changes in program as well and vice-verse.
- Limited Data Sharing: Single user can only access a data file in file processing system. So, data sharing is limited.
- Poor Programmers Productivity: Efficiency of programmers is reduced in file processing system due to the complexity of combining data files and program files.
- Excessive Program Maintenance: If we have to make some changes in a program then that change has to be done in many places within a program and data file. So, it requires excessive program maintenance.
- No facility for Backup and Recovery: File processing system does not provide facility for creating automatic backup and recovery of data in case of any type of failure.
This post was update on Nov 18, 2014 and originally written in Aug 18. 2012.