# Storage Manager

It serves as an interface between the data stored in the database and the application programs and queries submitted to the system.

It is responsible for:

* interaction with the file manager (OS)
* efficient storage, retrieval and updation of data

It has the following components:

* **Authorization/Integrity Manager**: authenticates users and enforces integrity constraints
* **Transaction Manager**: ensures atomicity of transactions
* **File Manager**: keeps track of logical mapping between data and files
* **Buffer Manager**: uses data buffering policies to speed up data access

It is responsible for storing data, data dictionary (that contains information about all the entities in the database) and indices.
