荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Jobs (温少), 信区: Database
标  题: [转载] SQL Server权威人士论坛:开发者问答(二)
发信站: BBS 荔园晨风站 (Mon Oct 30 09:20:15 2000), 站内信件

【 以下文字转载自 Visual 讨论区 】
【 原文由 Jobs 所发表 】
SQL Server权威人士论坛:开发者问答
本月专栏:SQL Server 7.0英语查询

 本月我们的专家
Adam Blum,英语查询小组的组长。他还是几本书的作者,包括《C++中的神经网络
》、《建立互连系统面向对象框架》和《ActiveX Web编程:ISAPI、控件和脚本》
。在1994年加入微软之前,他花了5年时间在一家数学软件公司开发优化器,同时
还在另外一家致力于通讯和Web软件的开发公司担任负责人。他从1997年开始加入
SQL Server 7.0开发小组。对于数据库开发人员来说,找到能够帮助用户从数据库
中提取有用的信息的途径正变得越来越重要。使用自然语言技术,英语查询允许用
户利用简单的英语代替复杂的SQL语句在数据库查找信息。这个月"SQL Server权威
人士论坛"将与Adam Blum一起讨论英语查询技术是如何工作以及它是如何极大地减
少数据库编程人员花在制作查询报表上的时间的。


欢迎来到“SQL Server权威人士论坛”。这是一个每月更新的论坛,SQL Server的
专家将和数据库开发者们一起共享他们的观点和信息。

对于数据库开发人员来说,找到能够帮助用户从数据库中提取有用的信息的途径正
变得越来越重要。使用自然语言技术,英语查询允许用户利用简单的英语代替复杂
的SQL语句在数据库查找信息。这个月“SQL Server权威人士论坛”将与Adam
Blum一起讨论英语查询技术是如何工作以及它是如何极大地减少数据库编程人员花
在制作查询报表上的时间的。

让我们从最简单的开始吧。为什么英语查询对于你的客户来说时非常重要的?
Blum:当人们理解英语查询(English Query,EQ)是用来做什么的后,第一件使
人们感到兴奋的事情是EQ使最终用户从数据库中获取信息变得更容易。但我们也发
现,更大的好处是开发人员不再需要制作一个接一个的报表,也不用制作各种不同
的查询表格了。我们与开发人员讨论时我们询问他们花在制作查询或报表上所花时
间占开发时间的百分比,通常的答案是大约35%。英语查询能够显著减少这个时间
,因为最终用户可以直接获取他们所需的信息。

对结果进行检索的功能与英语查询界面集成在一起,比任何基于表格形式的查询机
制都要强大和灵活得多。在客户目前拥有但是还没有完全利用的信息宝库中,英语
查询真正允许任何用户访问想要的任何数据。其结果是它极大地增加了现有数据的
价值。

英语查询的精确含义是什么?
Blum:英语查询是一个开发工具,使程序员能够开发出可以让最终用户使用普通英
语来查询数据库的应用程序。它有两个组件:运行引擎和编著工具。运行引擎把英
语转换成SQL语言,它基于组件对象模型(COM)。它能够在任何支持COM的环境中
使用,包括Microsoft Visual C++、Microsoft Visual Basic以及活动服务器页面
(ASP)。

为了使运行引擎能够工作,在数据库中需要一个实体-关系模型。编著工具允许程
序员识别实体和关系,并把它们映射到数据库中的表、字段和外键,以便在运行时
运行引擎能够在查询中引用它们。

运行引擎是如何工作的?
Blum:当用户用简单的英语输入一段文字后,英语查询引擎处理这段文字并对该句
子的语法建立一个语法分析树。然后,在运行和使用由编著工具构建的语义模型之
前,引擎翻译器把语法树映射成模型中的实体和关系,来建立一个用户问题的知识
表述。它试图确定用户问题的含义。实体和关系到数据库对象的映射使引擎的SQL
产生器能够创建对数据库表和字段的精确查询,从而能够匹配用户提出问题的含义


它是怎么做到这一点的?
Blum:为了做到这一点,首先你必须捕获数据库的语义。换句话说,你需要创建一
个实体-关系模型。这是一个概念上的处理而不是编码处理。你在回答这样一些问
题,比如“数据库中有哪些不同的对象?”以及“那些对象是如何一起工作的?”
一旦这些信息被模型工具所捕获,开发人员就可以将模型和英语查询运行引擎嵌入
到他们的应用程序中去。

什么是实体和关系?
Blum:当我们谈到实体时,我们指的是数据库中的“东西”。实体的例子有“客户
”和“产品”。那些对象一起工作的方式称作关系,例如,“客户购买产品”。


你所需要定义的所有实体和关系都已经存在于数据库中了。表和字段代表实体和属
性。某些列到其它表的外键就是“关系”的体现。以前的数据库都是已经创建好了
的,因此英语查询所需要做的只是重新捕获这些已经在数据库中实现的概念。英语
查询的模型工具允许开发人员使用更抽象的术语来描述这些实体和关系,是独立于
它们在数据库中的物理表现形式的。描述过程包括用那些最终用户在进行英语查询
时可能使用的单词来标识它们。

听起来编著过程是至关重要的。使用模型工具需要什么样的技术背景呢?
Blum:使用模型工具并不需要具备任何特定编程语言的背景,但是确实需要数据库
概念方面的基本知识。例如,什么是表和字段,什么是外键。设计者还需要知道数
据库中的表和字段代表什么意义。

我怎样测试以确保我的英语查询界面已经做好可以提供给用户使用了呢?
Blum:编著工具的“测试应用程序”功能可以让开发人员在编著工具环境下,问一
些他们确信最终用户会问到的问题。当有问题不能够被正确处理时,编著工具的“
建议”功能可以建议还应该创建什么样的关系。开发人员也可以手工创建他们认为
回答问题所必需的关系。

例如,你可能会在销售数据库中为大多数表和字段创建实体和关系。你可以问这样
的问题来测试你的模型:“哪个客户的单位销售额最高?”或者“哪些产品属于饮
料类?”或者“有哪些客户在西雅图?”

然后你可能会问,“加利福尼亚的哪一个客户购买了最多的小装饰品?”。英语查
询可能不能理解这个问题,因为它不知道“购买”这个关系。它的响应可能是:“
对不起,我不知道什么是‘购买’。”你可以点击“建议”按钮,这个工具会建议
加入一个“客户购买产品”关系。当接受建议并重建后,英语查询就可以回答有关
客户购买产品的问题了。

英语查询的下一个版本包括那些新的特性,什么时候能够得到它?
Blum:SQL Server的下一个版本将对英语查询做出重大的增强。它将支持SQL
Server联机分析处理(OLAP)服务,可以产生MDX命令来查询OLAP立方体。它还提
供了项目向导,可以基于SQL Server数据库或者OLAP立方体的结构自动建立实体和
关系。新的编著工具提供了图形化编著能力,可以使开发人员以图表的方式察看和
创建关系。所有这些功能都集成在Microsoft Visual Studio界面中,给开发人员
提供了一个熟悉的工作环境。下一版本英语查询的Beta版已经包含在七月份的微软
开发人员网络(MSDN)光盘中。

除了标准的SQL Server数据库和OLAP服务以外,英语查询还支持其它的数据库吗?
 Blum:通过SQL Server 7.0的分布式查询处理器,你可以连接到拥有OLE DB提供者
的任何数据源。这意味着只要你有SQL Server和你的数据库的OLE DB提供者,英语
查询就可以工作。SQL Server包含了Oracle和Microsoft Acess的数据库提供者。


英语查询能够支持其它非英语语言吗?
Blum:不能。但是这个功能非常重要。我们在做一项重要的工作,就是重新设计转
换英语到SQL语言的引擎,以便它能够支持非英语语言的语法分析器。但是这需要
我们做非常大量的工作,所以这个版本诞生至少还需要两年的时间。

对于开发人员,他们可能希望建立的数据库能够与英语查询一起工作得很好。你对
此有什么建议吗?
Blum:如果希望数据库能够与英语查询一起工作得很好,在创建数据库时需要记住
的最重要的事情就是,遵照所有的经典设计准则,建立规范化的、结构化的数据库
。使用容易理解的表名和字段名。主键是非常重要的,因为一个表没有主键时英语
查询就不能工作。当表和表之间有联系时,你应当创建外键。使用OLAP是个好主意
,因为下一版本的英语查询在从OLAP立方体获取知识方面做得非常棒。

最后一个问题。你认为将来英语查询会如何发展?
Blum:我们在开始给它加入程序化编著的能力。使用程序化编著,你可以创建实体
和关系,把它们保存成扩展标记语言(XML)格式,称为语义模型格式。这就允许
开发人员在没有确定的数据库方案时使用英语查询,并可以在他们应用程序的代码
中改变英语查询的模型。这是使英语查询能够成为其它应用程序的一个强大功能的
第一步。

还有,在将来的版本中,我们希望这样来设计英语查询:开发人员建立概念模型,
就可以自动产生一个代表该模型的结构良好的数据库,同时作为副产品,该数据库
能够让人们可以立即用英语进行查询。我们期望有一天,你可以从任何地方访问信
息,只需要问你的计算机一些问题。这也是我们小组在这里努力工作的重要原因,
我们希望能够创造某些东西可以彻底改变人们使用计算机的方式。


--


   我想超越这平凡的生活,注定我暂时漂泊!

   我无法停止我内心的狂热,对未来的执着!

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.18.222]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.18.236]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店