Answer:
- The database manager is a program module which provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system.
- Databases typically require lots of storage space (gigabytes). This must be stored on disks. Data is moved between disk and main memory (MM) as needed.
- The goal of the database system is to simplify and facilitate access to data. Performance is important. Views provide simplification.
- So the database manager module is responsible for
- Interaction with the File Manager: Storing raw data on disk using the file system usually provided by a conventional operating system. The database manager must translate DML statements into low-level file system commands (for storing, retrieving and updating data in the database).
- Integrity Enforcement: Checking that updates in the database do not violate consistency constraints (e.g. no bank account balance below 2500/- Rs. 500
- Security Enforcement: Ensuring that users only have access to information they are permitted to see
- Backup and Recovery: Detecting failures due to power failure, disk crash, software errors, etc., and restoring the database to its state before the failure
- Concurrency Control: Preserving data consistency when there are concurrent users.
- Some small database systems may miss some of these features, resulting in simpler database managers. (For example, no concurrency is required on a PC running MS-DOS.) These features are necessary on larger systems.