Non-procedural DMLs
Non-procedural A language that allows the user to state what data is needed
DML rather than how it is to be retrieved.
Non-procedural DMLs allow the required data to be specified in a single retrieval or
update statement. With non-procedural DMLs, the user specifies what data is required
without specifying how it is to be obtained. The DBMS translates a DML statement into
one or more procedures that manipulate the required sets of records. This frees the user
from having to know how data structures are internally implemented and what algorithms
are required to retrieve and possibly transform the data, thus providing users with a considerable
degree of data independence. Non-procedural languages are also called declarative
languages. Relational DBMSs usually include some form of non-procedural language
for data manipulation, typically SQL (Structured Query Language) or QBE (Query-By-
Example). Non-procedural DMLs are normally easier to learn and use than procedural
DMLs, as less work is done by the user and more by the DBMS. We examine SQL in
detail in Chapters 5, 6, and Appendix E, and QBE in Chapter 7.