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 the database is to provide a way to store and retrieve database information in a fast and efficient manner. There are a number of characteristics that differ from the traditional file management systems. In the file system approach, each user defines and implements the needed files for a specific application to run. For example in the 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 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 the database approach, a single repository of data is maintained that is defined once and then accessed by many users. The fundamental characteristic of the database approach is that the database system not only contains data’s but it contains a complete definition or description of the database structure and constraints. These definitions are stored in a system catalogue, which contains information about the structure and definitions of the database. The information stored in the catalogue is called the metadata, it describes the primary database. Hence this approach will work on any type of database, for example, an insurance database, Airlines, banking database, Finance details, and Enterprise information database. But in the traditional file processing system, the application is developed for a specific purpose and they will access the 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 the file system approach, many programmers will be creating files over a long period and various files have a different format, in various application languages.
Therefore there is the possibility of information getting duplicated, this redundancy in storing the same data multiple times leads to higher costs and wastage of space. This may result in data inconsistency in the application, this is because the update is done to some of the files only and not all the files. Moreover, in-database approach, multiple views can be created. The view is a tailored representation of information contained in one or more tables. The view is also called a “Virtual table” because the view does not contain physically stored records and will not occupy any space.
A multi-user database whose users have a variety of applications must provide facilities for defining multiple views. In the 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 the case of the database approach the structure of the database is stored separately in the system catalogue from the access of the application programs. This property is known as program-data independence.
The database can be used to provide persistent storage for program objects and data structures that resulted in an object-oriented database approach. Traditional systems suffered from impedance mismatch problems and difficulty in accessing the data, which is avoided in object-oriented database systems. The 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 the availability of up-to-date information of all the users. It also provides security to the data’s stored in the database system.