What is a Database?
A database is a collection of interrelated data stored in a database server; these data will be stored in tables.
The primary aim of the database is to provide a way to store and retrieve database information quickly and efficiently.
Differences between File System Concept and Database
Several characteristics distinguish this system from conventional file management systems. In the file system approach, each user defines and implements the necessary application files. In the sales department of an enterprise, for instance, one user will maintain the details of the number of sales personnel and their grades; these details will be stored and maintained in a separate file.
Another user will maintain the salesperson’s salary details, and the detailed salary report will be stored and maintained in a separate file. Although both users are interested in the salespersons’ data, they will have their information in individual files and will require different programmes to manipulate them. This will result in the waste of storage space and duplication or replication of data, which may lead to confusion. Furthermore, data sharing between different users will be impossible, and data inconsistency may occur. There will be no interrelationship between the data contained in these files. Consequently, in conventional file processing, users define their own constraints and implement the necessary files for the applications.
Characteristics of Databases
In the database approach, a single data repository that is defined once and accessed by multiple users is maintained. The database approach is fundamental because the database system contains not only data but also a complete definition or description of the database’s structure and constraints. These definitions are stored in a system catalogue, which also contains information about the database’s structure and purpose.
Metadata is the information stored in the catalog; it describes the primary database. Thus, this method is applicable to any database, such as an insurance database, an airline database, a banking database, a database containing financial information, or an enterprise information database. In contrast, in the conventional file processing system, the application is designed for a specific purpose, and users can only access a specific database.
Multiple users will have simultaneous access to the database, and data can be shared. The database must contain concurrency control software to ensure that it is maintained in a controlled manner when multiple users attempt to update the same data simultaneously. Numerous programmers will create files over an extended period using the file system approach, and the format of various files varies across multiple application languages.
Therefore, the possibility of information duplication exists. This redundant storage of identical data results in increased expenses and wasted space. This may lead to inconsistent data within the application. This is because the update is only applied to a subset of the files and not all of them. Furthermore, the in-database approach permits the creation of multiple views. The view is a customised representation of data contained within one or more tables. The view is also referred to as a “Virtual table” because it does not contain any physically stored records and therefore does not require any storage space.
A multi-user database whose users have diverse applications must allow for the definition of multiple views. Changes to the structure of the files in the traditional file system will affect all programmes, so modifying the structure of a file may necessitate modifying all programmes that access the file. In contrast, the database approach stores the database structure separately from application programme access in the system catalogue. This characteristic is referred to as program-data independence.
The database can provide persistent storage for programme objects and data structures, resulting in an object-oriented database design. Object-oriented database systems eliminate impedance mismatch issues and data access difficulties that plagued conventional systems. The database can represent complex data relationships and retrieve and update related data quickly and easily.
It is possible to specify and enforce integrity constraints on database-stored data. In addition, the database includes tools for recovering from hardware and software failures. Recovery is a function of the backup and recovery subsystem. Compared to the file system approach and the availability of up-to-date information for all users, it significantly reduces the time required to develop an application. It also provides security for the database system’s stored data.