1. Data
redundancy and inconsistency:
Different programmers create files and
programs in different formats and different programming language. The same
information may be duplicated in several files. For example, the address and
contact details of an employee may appear in a file that consists of Payment-account
records and in a file that consists of view - account records. This redundancy
leads to higher storage and cost. This also leads to data inconsistency, that
is, multiple copies of same data might not match. For example, if the address
of the employee is modified, then it should be reflected in Payment-account records
and not in view-account records.
2. Difficulty in accessing data:
Suppose the manager needs to find out the
names of all employees who are not available during particular slot of time.
Now, the manager instructs the data processing department to generate list of
such employees. There is no such program to meet the requests; however it can
generate the list of all employees. Now, the manager has two options: either
get list of all the employees and then manually extract the required
information or instruct the programmer to develop such application. Both are
time consuming and not satisfactory. Suppose, such an application is develop
and after few days, the manager needs a list of employees whose salary is more
than ₹25000. Again, the manager has same two options. Conventional file processing systems do not
allow data retrieval in an efficient and convenient manner.
3. Data
isolation:
An application program to retrieve appropriate
data is difficult as data is scattered in different files and formats.
4. Data
Integrity:
The data stored in the database must satisfy
consistency constraints. For example, the minimum balance in your bank account
must be ₹3000.
5. Atomicity:
If the failure occurs, like any mechanical or
electrical, the data restored must be in consistent state. Consider the program
to transfer ₹5000 from Account A to Account B. If
the failure occurs during the execution of transfer, it is possible that 5000
was deducted from Account A but not credited in account B.
Hence, the transaction must be atomic – it must be performed entirely or none
is performed.
6. Concurrent
– access anomalies:
Many systems allow multiple update to data
simultaneously, resulting into data inconsistency. For example, consider bank
account A has ₹5000. If two customers withdraw amount (₹1000 and
₹1500 respectively) at the same time, the concurrent execution of withdrawal
may result into inconsistent data. If two program runs together, both reads
data ₹5000, and writes back ₹4000 and ₹3500, rather than ₹2500. To avoid this,
the system must maintain some form of supervision.
7. Data
Security:
Every user should not be able to access all
the data. For example, the payroll employees at bank need to see the
information about other bank employees and not of the customer’s accounts.
Comments
Post a Comment