If you are a developer, no doubt you have learned to think in SQL, and perhaps to employ a tool to help you compose the more complex SQL statements that arise. Your clients however don't think in SQL. They need a way of performing SELECT statements without understanding SQL, and preferably using their native language. For this Microsoft has introduced their Microsoft English Query tool. It lets you create applications that translate...
English questions into SQL commands, and then it returns the result set to them. You can us the English Query application with either Visual Basic or C++ applications, in a Web application using IIS and ASP, or any development environment that supports ActiveX.
English Query consists of the English Query Domain Editor and the English Query Engine. In the Domain Editor you design and build the queries in a design interface. The Engine, which is a COM automation server and has an object model, processes the user request and parses them to return the SQL statements. You define in an English Query application (filename.eqd) the metadata about your database, and the semantic information about entities and relationships, as well as the English phrasings. To have the English Query application return instructions along with a set of records, you can create domain commands. English Query has a dictionary of thousands of English words, but the entities and their relationships must be adequately expressed in this dictionary. The Test Application command on the Tools menu allows you to test your application prior to building it and deploying it.
Adam Blum's article "Developing with Microsoft English Query", which appears on the Microsoft MSDN Web site, is a good introduction to this topic. Many of the better SQL Server third-party books contain large sections or chapters on this tool. Certainly, the English Query Tool is a look-see at the future of user database interaction.
Barrie Sosinsky is president of consulting company Sosinsky and Associates (Medfield MA). He has written extensively on a variety of computer topics. His company specializes in custom software (database and Web related), training and technical documentation.