There are three main sources of utilities and applications for a DBMS:
a. Vendor applications and utilities are given for working with or maintaining the database, and generally allow users to manipulate and create a database without the need to write custom applications.
b. User applications are usually custom-made application programs written for a exact purpose using a conventional programming language. This programming language is joined to the DBMS query language by the application program interface (API). This permits the user to utilise the power of the DBMS query language with the flexibility of a custom application.
c. Third party applications may be same to those given by the vendor, but with enhancements, or they may load a perceived need that the vendor hasn't formed an application for. They can also be same to user applications, being written for a definite purpose they think a large majority of users will need.