版权归原作者所有,如有侵权,请联系我们

[科普中国]-处理语言

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

数据处理语言

“数据处理语言”的功能就是完成添加数据、修改数据,删除数据。这几项功能和后面要介绍的“数据库查询语言”都是数据库应用中最常用的操作命令,而且这两部分也经常协同工作。

下面是常用的DML命令:

●INSERT:

●UPDATE;

●DELETE。

(1)添加数据

在建了数据表后,使用INSERT命令向表中添加新的数据。可以简单地一条一条添加记录,也可以结合后面要讲的SELECT命令,将一个数据表中的记录批量地向另一个数据表中添加。注意,INSERT命令用来向数据表中添加一条新记录,而不是添加某个字段。如果没有指定某个字段的值,数据库会自动添加一个默认值或者空,只要这个字段在创建数据表的时候指定了默认值或者允许为空。

(2)修改数据

数据的修改是数据库操作中最常见的操作之一。使用UPDATE命令可以改变一条记录中某些字段的内容。UPDATE命令通常与WHERE子句一起使用,该子旬的作用是限制对指定范围中的那些行的数据进行修改。如果在UPDATE命令中不使用WHERE子旬,那么数据表中的所有记录行都将被修改。

(3)删除数据

使用DELETE命令可以将不需要的数据记录删除。与UPDATE类似,DELETE通常与WHERE子句一起使用,来删除特定一条或多条记录。由于它的用法与UPDATE命令相同,在此不赘述。2

符号处理语言符号处理语言(symbol processinglanguage)是专为表达和处理复杂概念而设计的计算机语言。如LISP和PRO-LOG语言等3。它们中的有些版本正在向知识工程环境方向发展。两种语言具有不同的特点(如右图所示)因此有不同适用范围。下面分别介绍这两种语言。还将提到两者的组合POPLOO。

LISP语言LISP语言(LISt Processing)正如其名字所描述的,是一种表处理语言。这种语言是最早的人工智能语言,计算机上用的最早的两种高级语言之一。仅在FORTRAN之后。这种语言是McCarthyl958年发明的,1962年推出第一个版本LISP1.5。后来,LISP繁衍成了一种语族。目前,几乎在各种品牌、档次、结构的机器上都有相应的LISP版本。

关于LISP语言的特点。1978年,McCarthy在一篇文章中谈到,LISP的基本思想有6点:

①处理的是符号表达式而不是数字量,也就是说,计算机内存中的码位组合可以表征任意的符号,但绝不表征算术意义上的数码。

②表处理即在机器中按链表结构表示信息,在纸面上按多层表格书写程序。

③控制结构,由部分较简单函数形成较复杂函数。

④将递归作为刻划问题和过程的一种基本方法。

⑤LISP程序的表述方式,内部按链表(Linked-Lists),在外部按多层表(Multilevel Lists),即所有信息均按统一的方式表述。

⑥用LISP本身写成的函数EVAL既做为LISP的解释程序,又做为LISP的一种形式定义。

他着重指出,LISP中的信息和程序之间没有原则区别。因而,一种LISP程序可以把别的LISP程序作为它的数据信息。LISP是高度递归的,并且,数据和程序都可以按表来表达。这种表可以一层一层嵌套,像中国古老游戏中一层套一层的“魔盒”一样。这种嵌套造成LISP的可读性很差,但是,却可使它能够对那些用传统语言很难解决的问题得到很漂亮的答案。

LISP只有很少的基本函数,其它函数都是由这些基本函数为基础来定义(形成)的。这表明,LISP很容易建立新的高层函数。所以,不难建立一个LISP操作系统,然后进入希望达到的任何一个更高层面,正因为LISP有这样大的灵活性,因此它没有像FORTRAN和BASIC语言那样的标准。以极少的基本函数为基础,它已经繁衍出大量LISP方言。

PROLOG语言PROLOG语言(PROgramnung"language for LOGic)英文原意为“逻辑程序设计语言”。这种语言是法国马赛大学的A.Colrnerauer 和P.Roussel 1972年推出的,由于它实现简化的谓词演算所以是一种真正的逻辑性语言。第一个成功的PROLOG编译程序是在英国的爱丁堡大学开发的。在日本及在匈牙利等欧洲国家,PROLOG都得到了较为广泛的应用,就象LISP在美国一样。PROLOG已繁衍成一种语族并在世界各地流行。目前,已有若干种各种机器的PROLOG版本。

在一定意义上,PROLoG中的推理可能是一种受控制的逻辑演绎推理。只要你简单地陈述你已知道的事实,PROLOG然后就会告诉你能不能从这些事实推出你想知道的某个结论。按照知识工程的术语,PROLOG的控制结构是逻辑推理。有人认为PROLOG就是一个推理机。虽然PROLOG还不能作所有理论上可行的谓词演算即演绎推理,但它目前仍然是最好的逻辑程序设计工具。一种逻辑程序设计语言必然会碰上一些超越逻辑的过程,例如输人操作和输出操作过程,因此,PROLOG备有少量控制这类隋况的基本程序。

PROLOG的编程风格有两种:一种是说明型风格,一种是过程型风格。按说明型风格编程时,人们只肖告诉系统应该知道的东西,说明则依靠系统来完成。按过程型风格来编程时,人们必须把计算机将要产生的所有问题求解步骤完全刻划清楚。一般来讲,只有设计新型智能系统的知识工程师才需要跟过程型编程风格打交道,用户根本用不着。他们只要提供事实和提出问题就可以了。PROLOG的说明型编程风格已使官在世界各地爱到广泛首视。4

知识处理语言在数据处理中,用户为了表达数据处理的各种要求和编写各种处理程序,可借助于各种各样的程序设计语言。在知识处理中也与此类似,为了表示知识、表达知识运用的意图和描述知识处理过程也需要有各种知识处理语言的支持。

知识处理语言,按描述方式分类可以分为过程性的和描述性的两大类。描述性的处理语言只要求用户描述“做什么”,至于“如何做”的问题则由机器中煞处理程序自动来宠成。而过程性处理语言则不但要求用户描述“做什么”,而且还要求详细指出“如何做”。

因为知识的处理显然有时也包含不少数据的处理,但主要是符号的处理和逻辑的推理。因此用一些面向数据处理的程序设计语言,例如FORTRAN、COBOI。等来解决知识处理问题,无论在被处理对象的结构描述方面还是在可施行于被处理对象的各种操作方面,都是不方便或根本不可能的。因此从人工智能研究的初期人们就开始在寻求适合解决人工智能问题的程序设计语言。其中Lisp是一个先驱,而且后来有了很大发展。此外,Prolog、Smalltalk、OPS与FRL等是几种在人工智能领域很有影响的通用程序设计语言。这些语言在知识处理领域,在不少具体的基于知识的系统中,起着十分重要的作用。由于这些知识处理语言的设计往往总是与某种知识的表示模式与知识的处理方式联系在一起的,所以它们都各有其独特的知识表示模式与知识处理方式。5

呼叫处理语言IETF的IPTEL工作组在RFC2824描述了呼叫处理语言(Call Processing Language,CPL)的框架以及实现的要求,随后在草案draft—ietf—iptel—cpl一06.txt中定义了CPL语言的细节。用户可以通过CPL编写脚本文件,并上传到信令服务器(Signaling Server)。在用户发起或接收呼叫的过程中,信令服务器根据CPL脚本文件运行的结果动态为用户提供呼叫转移、遇忙前转等服务。

CPL脚本运行的网络模型由两部分组成:端系统和信令服务器。端系统指的是发起和接收信令信息和媒体流的设备,包括电话设备、PC电话客户端、自动语音系统等。信令服务器是指中继和控制信令信息的设备。在SIP协议构建的网络中,指的是代理服务器、重定向服务器和注册服务器。6