DBMS is software that allows users to define, create, and manage a database. It provides users with data definition languages to define the database structure, data manipulation languages to interact with data, and a data dictionary to describe the metadata. Key functions of DBMS include storing, retrieving, and updating data; granting and revoking user privileges; recovering from crashes; and enforcing data integrity rules.