In a conventional DBMS, some tasks are undertaken by a data definition language (DDL), some by data manipulation language (DML) and the remainder by a host programming language. This book argues that it is possible to use a single-programming language for all these purposes.