A database management system (DBMS) controls the storage and access to data stored in a database. Together, the DBMS and database are referred to as the database system. The DBMS facilitates access to the structured information contained in databases.
DBMS is used somewhat generically as an umbrella term describing many specialized data management systems. Within the purview of the DBMS, the taxonomy includes relational database management systems, object-oriented database management systems, and object-relational database management systems.
Note: All the above DBMS types are systems, all manage databases, thus all are technically expressions of a DBMS. Functionally, however, they’re quite different.
Database management systems help support a wide range of interactions with databases—and thus data. A good DBMS will help support all the following actions and responsibilities plus more:
- Storage, retrieval, and updating of data
- Make catalog/dictionary of data accessible to the user
- Supports concurrent data access and transactions
- Support for database backups and recovery
- Support for permissions-based access (user roles)
- Allow remote access
- Enforce constraints on data to ensure the integrity
These are among the most common actions supported by a robust DBMS such as PostgreSQL. However, there are some DBMS systems that may only offer partial support for these actions. For example, SQLite supports concurrent read operations but might run into trouble for writes.