A database language is a formal language that has been developed for use in database systems. With the help of the database language, a user or a program communicates with the database or the database management system (DBMS). Since an important part of working with database systems is the formulation of queries, the language scope usually also includes the (database) query language . Database languages are specially tailored to the requirements in this environment (database creation, maintenance and query). They can be described as Turing-complete , but they are not programming languages in the common sense today - no application software can be written with them.
There are a variety of database languages, often tailored to specific database management systems. A standardized language for the widespread relational database systems ( RDBMS ) is SQL , which is at the same time the superset of many proprietary implemented SQL dialects . SQL itself does not dictate how the commands are implemented, only how the database behaves in certain external operations .
Subdivision of relational database languages
A common categorization of the elements of relational database languages are the three categories DML, DDL and DCL.
- Data Manipulation Language ( DML ): Language or parts of language for querying, inserting, changing or deleting user data
- Data Definition Language ( DDL ): Language or parts of language for creating, changing and deleting data structures
- Data Control Language ( DCL ): Language or parts of language for access control
Occasionally a separate category Data Query Language (DQL) appears in the literature for querying data. However, this classification is not generally recognized (see the special position of the query ). Another special case are the language elements for working with transactions , which are inconsistently assigned to either the DML, the DCL or a separate category Transaction Control Language (TCL).
In SQL, all elements in a language are united by different statements. The historical database system IMS had separate languages for DML and DDL ( DL / I and assembler macros ), the DCL was implemented with operating system resources.
Subdivision of non-relational database languages
In contrast to the relational database model, the network database model distinguishes between a data storage description language (DSDL, physical data description), a data description language (DDL, logical data description) and a data manipulation language (DML). This trisection is based on the more general ANSI-SPARC architecture and was proposed as a standard by the Data Base Task Group , but could not prevail against the relational database model that is predominant today.
In the even older hierarchical database model , there was no standardized subdivision into sub-languages.
Query language versus database language
The terms query language and database language are sometimes incorrectly used interchangeably.
- A database language usually goes beyond pure querying.
- Query languages are also used in areas outside of database systems.
- Category: Database Language - List of database languages
- Kyu-Young Whang et al. a .: Physical Design of Network Model Databases Using the Property of Separability (PDF; 1.0 MB) . Mexico City, 1982.