Click to return Home

  Newsreel
  Products & Services
  Web Watch
  Software Update
  Resource Directory
  Events Diary
  Articles
  The Magazine
  Subscribe
  Contact Us

  Advertisers

TechEd 2000

  TechEd reports
  Exhibitors
  Fun stuff

techeu99.gif (12847 bytes)



Query Your Database in Plain English
(Adam Blum)

July 8 - You probably already know about Microsoft English Query (MSEQ), an add-on for SQL Server (6.5 onward) that provides the means to issue commands to SQL Server using natural English language. Believe me, MSEQ is a very impressive and powerful technology. It's still a bit hard to use for programmers, but it turns out to be real manna from heaven for end-users!
    Adam Blum, the program manager for the MSEQ development team, said that they worked hard to figure out a general model to map the structure of the English language to the structure of the SQL Server-based information system. In two talks, Adam presented the new features of MSEQ and some advanced insights on how to code and design your application against MSEQ. After the presentation, we also asked him a couple of questions about possible future development of the technology which can be of great interest - especially to non-English speakers.
    What Is MSEQ? Basically, it is a server application that takes as input a string in English, translates it to a SQL command, runs a query against the proper databases, and then returns the final record set. Sounds easy? Well, not completely. It's undoubtedly easy for an end-user or an end-programmer to exploit applications that accept English strings and translate them directly into rows of data. The real mess is at the configuration level.
      In fact, don’t forget that everything works fine with MSEQ as long as you set the proper mappings between your tables, the operations to perform on them and the verbs that may compose the English sentences. In other words, you use plain English sentences as direct links to the data. (If you know about OLE DB 2.5 direct URL binding then you realise that the basic pattern is very similar…). MSEQ lets you create an entity-relationship model where each component is associated with a specific data source.

The New Version
The TechEd post conference CD will contain the first beta 0 of the new version 7.5 of the MSEQ (which is also available with the July 99 subscription of MSDN). It comes with a lot of new features, most of which revolve around making it easier for programmers to configure. The following is new in MSEQ 7.5:

  •  Support for OLAP data

  • Wizards to help you model your data for MSEQ

  • Visual authoring - drag-and-drop facilities to create entity-relationship models

  • Integration with Visual InterDev

  • Thesaurus for synonym assistance

  • Support for Oracle and Access in addition to SQL Server

  • GUI support for building questions for MSEQ

Finally, we asked a couple of questions to Adam Blum about non SQL Server support for MSEQ and recognizing non-English languages.

DNJ: Why don't you support any OLE DB data source instead of limiting to SQL Server, Access and Oracle?

AB: Basically, because a generic OLE DB provider can support any kind of command. There's no defined standard for commands in the OLE DB specification and we decided not to implement such a standard ourselves in the MSEQ SDK. However, through the SQL Server mechanism of linked servers, and exploiting heterogeneous queries, you can access virtually any kind of data through MSEQ .

DNJ: What about supporting other languages as well?

AB: This is a feature we're working on right now. We're completely redesigning the MSEQ architecture to make the language used a parameter. This is not what happens today where the engine depends heavily on English-specific language features. Presumably, it'll take a long time to complete, but we're working on it.

Dino Esposito

 

 










Related Links

Article:
SQL Server 7.0 reviewed