This paper discusses the NFQL database language, which is not a language in a standard sense but rather a way of organizing the human-database interface by means of filling ordinary forms. The paper formalizes the notion of the ordinary form and explains how to interpret partially filled forms as a request for information. It also describes how updates of data in forms can be translated into updating the underlying relational database. NFQL is based on the universal relation model with (extended) abstract data types associated with attributes.
The author proves that NFQL is at least as powerful in formulating queries as Codd’s relational algebra (i.e., it is relational complete). In addition, the author stresses that in comparison with similar languages (i.e., those languages based on filling forms), NFQL is strictly nonprocedural.
The author believes that the results of the research have implications “for general database issues such as automatic query formulation from weak specifications, the view update problem, the power and completeness of query languages, and heuristics for resolving computational relationships.”
A restricted version of NFQL is implemented on C on the VAX 11/750. The paper is not very formal, but numerous examples simplify its reading. I found the paper to be interesting reading for database specialists and designers of office systems.