A database management system (DBMS) is a collection of programs through which data in the database can be accessed and manipulated by the user. A database is an electronic filing system in which data are organized and stored. Advantages of an electronic filing system include higher speed, accuracy and better accessibility. Database applications include computerized library systems, automated teller machines, flight reservation systems and computerized parts inventory system.
There are many DBMS manufacturers in the market. DBMSs can be small or large depending on the system (personal computers to mainframes) in which they are implemented. For personal computers, DBMS is small and less flexible but cheap and user friendly. Higher-end DBMSs can be very expensive. The size, type and capabilities of DBMS can be chosen based on where it needs to be used. Some of the examples of DBMSs include dbase, FoxPro, IMS, Oracle, MySQL, SQL Servers, DB2, etc. Examples of DBMS vendors are Software AG, Informix, Objectivity, Centura Software, IBM, Computer Associates, INFORMIX Software, Oracle Corporation, Microsoft Corporation, MySQL AB, Sybase, etc.
The different types of DBMS can be classified as relational, flat, hierarchical and network DBMS with relational DBMS (RDBMS) being the most popular. The classification is based on their internal organization which plays a key role in the flexibility and speed with which the DBMS is able to extract information or data from the database.
DBMS sends a request for information from the database in the form of queries. Queries can be in the form of choosing parameters from a menu or query by example or in the form of query language which is the most sophisticated and complex form of queries.
Components of a database system environment consist of hardware, software, data, users and procedures. Hardware is the actual computer system used for storing the database. Software part is the actual DBMS that connects users to the database in the hardware. The database contains all data required by the organization. It is designed with a specific purpose.
Based on their level of technical expertise, users of a database system are classified as naïve users, online users, application programmers, sophisticated users and database administrator (DBA). Procedures refer to the instructions and rules with which the design and use of database is controlled. Examples of procedures consist of instructions that tell how to log on to DBMS, start and stop the DBMS, back up and handle system failures, etc.
In short, the database consists of a collection of files which the user accesses with the help of DBMS. DBMS receives all application requests and translates them into complex operations. However the DBMS manages to hide the complexity involved from the users and the application programs.
Advantages of DBMS
A DBMS is time consuming to design and has high set-up costs but there are many advantages of a DBMS which makes it very popular.
- Data sharing: In centralized DBMS data is shared by multiple applications. New applications can be developed that can use the same set of data without creating any new files for data storage. Such a system helps end users have better access to data.
- Data Security: With more users being able to access the data, security of data gains prime importance. Corporations spend a lot of time and energy to develop DBMS that enforce better data privacy and security policies. DBMS can enforce access controls to selectively make data visible to certain classes of users only. Access controls may even decide if a user is allowed to only retrieve data or if the user can update it too. Usually, databases are password protected to prevent unauthorized use.
- Data integration: Data integration means ensuring that the data in the database is accurate. Incorrect information gets rejected and cannot be stored in the database. The DBMS enforces integration constraints to maintain data integrity. Suppose a database consists of data of marks scored by students of a class in English, Mathematics, Physics, Chemistry and Computer Science. Now if you try entering marks for biology subject, the DBMS rejects this entry since it is not valid. Another example is that a DBMS can check if budget of a department has been exceeded before posting the salary details of an employee to the database. If the budget has been exceeded then the DBMS will consider the entered salary amount to be wrong and prompts that an invalid entry has been made. Such data integration constraints give a clear view of how actions in different segments of a company affect each other.
- Controlling redundancy: In a file system, each application has its own data storage system. That means some of the data may be repeated in each of these storage system increasing redundancy and wasting storage space. But when database is centralized, all data is stored only in one place. That's why DBMS reduces redundancies. However, redundancy is usually not fully eliminated. There may be certain business and technical reasons for it.
- Minimized data Inconsistency: Data inconsistency occurs when the same data appears in different places. If a change is made in the data at one place but the same data value in another place is not updated, then it results in inconsistency. In a DBMS, all applications use the same set of centralized data. So a change in data needs to be done only in one place and the change gets updated in all applications using the database. This is called propagation of update and minimizes data inconsistencies in the system.
- Data access: DBMS makes use of queries to access data from the database. This is done using complex techniques that help produce quick answers to queries. This feature is very important when data is stored on external devices.
- Concurrency: This feature consists of mechanisms by which a DBMS allows multiple users to access data at the same time but the users think it is being accessed only by one.
- Reduced application development time: DBMS supports many functions that are common to applications accessing the same database. These functions and high-level interface to the data make it easier to develop new applications quickly. For the new applications developed, many important tasks are handled by the DBMS only. This results in better performance of the new applications.
- Lower development and maintenance cost: Even though the initial cost of setting up a DBMS can be quite high, the cost of development and maintenance of new applications is much lower. Productivity of programmers is also improved when applications are developed using non-procedural languages associated with a DBMS.
- Improved decision-making: Decisions are based on quality of information which in turn depends on the quality and accuracy of data. DBMS facilitates better managing of data and improved data access which lead to improved decision making.
- Increased user productivity: Improved access to data and availability of tools that can transform data into usable information gives users the power to make quick and wise decisions thus improving their productivity.
- Data administration: Centralizing administration of data that is used by many users significantly improves performance. Data can be organized based on what kind of people what kind of data. This makes the system efficient and reduces redundancy.
- Standards can be enforced: DBMS is a centralized system, so standards can be enforced at various levels which are helpful during migration or interchanging of data.
- User interface: A database is used by users with varying levels of technical knowledge. The database system takes overall requirements of the enterprise into consideration and develops a user interface rather than looking into each individual's requirements. If this is not done, fulfilling user interface requirements of a particular application may result in poor performance of another application.
- Backup and recovery: Every DBMS has a backup and recovery subsystem that is responsible for protecting the system from any type of failure. If the system fails during an operation, this subsystem is able to restore the database to the state it was in before the operation that caused failure started.
- Data modeling: Data in a centralized database can be modeled effectively based on their relation with each other.
DBMSs have been in use since 1960s. Centralized system of data storage managed by database management systems have resulted in effective handling of data with many advantages. DBMSs of different types are available in market today and they are used everywhere.