Newsreel
Products & Services
Web Watch
Software Update Resource Directory
Events Diary
Articles
The Magazine
Subscribe
Contact Us
Advertisers
TechEd reports
Exhibitors
Fun stuff |

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, dont 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
|
Article:
SQL Server 7.0 reviewed |