A database is a collection of interrelated data's stored in a database server; these data's 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 data's 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 data's, 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 data's 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 data's 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 data's as well as to retrieve and update related data easily and efficiently.
It is possible to define and enforce integrity constraints for the data's 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 data's stored in the database system.
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 data's 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 data's, 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 data's 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 data's 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 data's as well as to retrieve and update related data easily and efficiently.
It is possible to define and enforce integrity constraints for the data's 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 data's stored in the database system.