A database management system , DBMS, is a computer software designed to assist in maintaing and utilizing large collections of data. DBMSes may use any of a variety of database models, such as the network model or relational model.

Advantages of DBMS

* Data independence – DBMS provides an abstract view of data that hides the details of data representation and storage.

* Efficient data access – DBMS utilizes a variety of techniques to store and retrieve data efficiently.

* Data integrity & security – DBMS can enforce integrity constraints and access controls.

* Data administration – When several users share the data, centralizing the administration of data can offer significant improvements.

* Concurrent access, crash recovery- DBMS provides concurrent access and also  protects the users from the effects of  system failures

* Reduced application development time – DBMS applications are likely to be more robust as many important tasks are handled by DBMS itself.

*  So why not use them always?

  • Can be expensive, complicated to set up and maintain
  • DBMS is optimized software for certain types of workloads, its performance may not be adequate for all applications
  • An application may need to manipulate data in ways not supported by query language
  • This cost & complexity must be offset by need