Most database developers are plagued with user requests on an almost daily basis: "How do I get X information out of the database?" or "Your program doesn't let me ask the database question Y, is that possible?" Wouldn't it be nice if all of your users simply understood SQL and could pose questions to the database themselves? Obviously, not many users are going to invest the time necessary to learn SQL, but Microsoft offers the next best thing -- the ability to compose queries using standard English!
Microsoft English Query allows developers to create applications that use natural language queries using Visual Basic, Visual C++ or even VBScript-based Active Server Pages (ASP) on Microsoft Internet Information Server (IIS). English Query's semantic modeling system allows it to learn important characteristics of the database and interpret queries posed in English regarding known tables, fields and data. If you'd like to experiment with English Query, you can download a sample application from Microsoft in either Visual Basic or Visual C++. In fact, it's even possible to use a speech recognition programs as an interface to English Query.
There are actually two components to English Query the authoring tool and the runtime engine. The authoring tool makes it possible for developers to create the semantic model, but its not necessary to maintain this tool on your production servers. Once youve developed a model, the authoring tool allows you to test it against queries you think users will pose. For example, you might try asking a library database What books are checked out most often? and Which books are currently overdue? If the authoring tool encounters any queries it cant process, it makes suggestions and allows you to define the relationship manually. Once youve accepted a suggestion, EQ learns the proper way to answer questions about overdue and frequently checked out books and will handle them properly in the future.
The runtime engine handles the English-to-SQL translation tasks on your production machines. It uses an extensive English syntax algorithm to extract keywords from plain language statements that define the meaning of the question and identify the corresponding database objects. Developers can find technical details of the English Query interface in the English Query Authors Guide.
English Query 2.0 became available with the release of SQL Server 7.0, but SQL Server 2000 offers a number of enhancements including a wizard-based semantic modeling system and several sample Visual Studio projects.