Database File System Concepts - How Database Approach Differs From Traditional File System Concepts?
A database is a collection
of interrelated datas stored in a database server; these datas
will be stored in the form of tables. The primary aim of database is to
provide a way to store and retrieve database information in fast and efficient
manner.
There are number of characteristics that differs from traditional file
management system. In file system approach, each user defines and implements
the needed files for a specific application to run. For example in sales
department of an enterprise, One user will be maintaining the details
of how many sales personnel are there in the sales department and their
grades, these details will be stored and maintained in a separate file.
Another user will be maintaining the salesperson salary details working
in the concern, the detailed salary report will be stored and maintained
in a separate file. Although both of the users are interested in the datas
of the salespersons they will be having their details in a separate files
and they need different programs to manipulate their files. This will
lead to wastage of space and redundancy or replication of datas,
which may lead to confusion, sharing of data among various users is not
possible, data inconsistency may occur. These files will not be having
any inter-relationship among the datas stored in these files. Therefore
in traditional file processing every user will be defining their own constraints
and implement the files needed for the applications.
In database approach, a single repository of data is maintained that is defined once and then accessed by many users. The fundamental characteristic of database approach is that the database system not only contains datas but it contains complete definition or description of the database structure and constraints. These definitions are stored in a system catalog, which contains the information about the structure and definitions of the database. The information stored in the catalog is called the metadata, it describes the primary database. Hence this approach will work on any type of database for example, insurance database, Airlines, banking database, Finance details, and Enterprise information database. But in traditional file processing system the application is developed for a specific purpose and they will access specific database only.
The other main characteristic
of the database is that it will allow multiple users to access the database
at the same time and sharing of data is possible. The database must include
concurrency control software to ensure that several users trying to update
the same data at the same time, it should maintain in a controlled manner.
In file system approach many programmers will be creating files over a
long period and various files have different format, in various application
languages.
Therefore there is possibility of information getting duplicated, this
redundancy is storing same data multiple times leads to higher costs and
wastage of space. This may result in data inconsistency in the application,
this is because update is done to some of the files only and not all the
files. Moreover in database approach multiple views can be created. View
is a tailored representation of information contained in one or more tables.
View is also called as Virtual table because view does not
contain physically stored records and will not occupy any space.
A multi-user database whose users have variety of applications must provide
facilities for defining multiple views. In traditional file system, if
any changes are made to the structure of the files if will affect all
the programs, so changes to the structure of a file may require changing
of all programs that access the file. But in case of database approach
the structure of the database is stored separately in the system catalog
from the access of the application programs. This property is known as
program-data independence.
Database can be used
to provide persistent storage for program objects and data structures
that resulted in object oriented database approach. Traditional systems
suffered from impedance mismatch problem and difficulty in accessing the
data, which is avoided in object oriented database system. Database can
be used to represent complex relationships among datas as well as
to retrieve and update related data easily and efficiently.
It is possible to define and enforce integrity constraints for the datas
stored in the database. The database also provides facilities for recovering
hardware and software failures. The backup and recovery subsystem is responsible
for recovery. It reduces the application development time considerably
when compared to the file system approach and availability of up-to-date
information of all the users. It also provides security to the datas
stored in the database system.