A generic term referring to a class of languages used for defining and accessing databases. A particular database language will be associated with a particular database management system. There are two distinct classes of database language: those that do not provide complete programming facilities and are designed to be used in association with some general-purpose programming language (the host language), and those that do provide complete programming facilities ( database programming languages). Some products adopting the former approach seek to minimize host-language programming by the provision of fourth-generation language (4GL) facilities.
A database language must provide for both logical-schema specification and modification (data description) and for retrieval and update ( data manipulation). In some cases, particularly products derived from the CODASYL network database standard, these aspects are treated distinctly as the data description language (DDL) and the data manipulation language (DML). Modification to the storage schema is also generally separately provided. See also SQL.