The Relational Model gives a way to store data. But still, there is a need for a language to serve as a uniform communication method between the user and the database back-end. Such a language has to provide methods to insert, extract and alter data, gathered in the database.
There are two basic issues to cover: data definition and data manipulation, so the languages are named: Data Definition Language and Data Manipulation Language respectively. Data Definition Language has a capability of defining a relational database schema, while Data Manipulation Language, of storing and retrieving data. A database system, having DDL and DML interpreter and a physical back-end, which comply with the Relational Model, is called the Relational Database Management System.
The major role is played by DML. It has to comply with Relational Algebra. Such a language may reflect Relational Algebra or Relational Calculus. An algebra based language tells what to do and how to do it. A calculus based language tells only what to do, leaving the details about how to do it open, subject to an automatic optimization by the language translator. It provides even higher level of abstraction and leaves less space for a possible human error: a non-optimal query [22].
The most wide spread DDL and DML query language is SQL (see Section 2.1).
Igor Wojnicki 2005-11-07