1.1 Approach to Data Management
1. Introduction
DBMS – A Database is a collection of interrelated data and a Database Management System is a set of programs to use and/or modify this data.
1. 1 Approaches to Data Management
- File-Based Systems
Conventionally, before the Database systems evolved, data in software systems was stored in and represented using flat files.
- Database Systems
Database Systems evolved in the late 1960s to address common issues in applications handling large volumes of data which are also data intensive. Some of these issues could be traced back to the following disadvantages of File-based systems.
Drawbacks of File-Based Systems
As shown in the figure, in a file-based system, different programs in the same application may be interacting with different private data files. There is no system enforcing any standardized control on the organization and structure of these data files.
- Data Redundancy and Inconsistency
Since data resides in different private data files, there are chances of redundancy and resulting inconsistency. For example, in the above example shown, the same customer can have a savings account as well as a mortgage loan. Here the customer details may be duplicated since the programs for the two functions store their corresponding data in two different data files. This gives rise to redundancy in the customer's data. Since the same data is stored in two files, inconsistency arises if a change made in the data in one file is not reflected in the other.
- Unanticipated Queries
In a file-based system, handling sudden/ad-hoc queries can be difficult, since it requires changes in the existing programs.
- Data Isolation
Though data used by different programs in the application may be related, they reside in isolated data files.
- Concurrent Access Anomalies
In large multi-user systems the same file or record may need to be accessed by multiple users simultaneously. Handling this in a file-based systems is difficult.
- Security Problems
In data-intensive applications, security of data is a major concern. Users should be given access only to required data and not the whole database. In a file-based system, this can be handled only by additional programming in each application.
- Integrity Problems
In any application, there will be certain data integrity rules which needs to be maintained. These could be in the form of certain conditions/constraints on the elements of the data records. In the savings bank application, one such integrity rule could be “Customer ID, which is the unique identifier for a customer record, should be non-empty”. There can be several such integrity rules. In a file-based system, all these rules need to be explicitly programmed in the application program.
It may be noted that, we are not trying to say that handling the above issues like concurrent access, security, integrity problems, etc., is not possible in a file-based system. The real issue was that, though all these are common issues of concern to any data-intensive application, each application had to handle all these problems on its own. The application programmer needs to bother not only about implementing the application business rules but also about handling these common issues.
Leave a Comment