數據處理語言
“數據處理語言”的功能就是完成添加數據、修改數據,刪除數據。這幾項功能和後面要介紹的“資料庫查詢語言”都是資料庫套用中最常用的操作命令,而且這兩部分也經常協同工作。
下面是常用的DML命令:
●INSERT:
●UPDATE;
●DELETE。
(1)添加數據
在建了數據表後,使用INSERT命令向表中添加新的數據。可以簡單地一條一條添加記錄,也可以結合後面要講的SELECT命令,將一個數據表中的記錄批量地向另一個數據表中添加。注意,INSERT命令用來向數據表中添加一條新記錄,而不是添加某個欄位。如果沒有指定某個欄位的值,資料庫會自動添加一個默認值或者空,只要這個欄位在創建數據表的時候指定了默認值或者允許為空。
(2)修改數據
數據的修改是資料庫操作中最常見的操作之一。使用UPDATE命令可以改變一條記錄中某些欄位的內容。UPDATE命令通常與WHERE子句一起使用,該子旬的作用是限制對指定範圍中的那些行的數據進行修改。如果在UPDATE命令中不使用WHERE子旬,那么數據表中的所有記錄行都將被修改。
(3)刪除數據
使用DELETE命令可以將不需要的數據記錄刪除。與UPDATE類似,DELETE通常與WHERE子句一起使用,來刪除特定一條或多條記錄。由於它的用法與UPDATE命令相同,在此不贅述。
符號處理語言
符號處理語言(symbol processinglanguage)是專為表達和處理複雜概念而設計的計算機語言。如LISP和PRO-LOG語言等 。它們中的有些版本正在向知識工程環境方向發展。兩種語言具有不同的特點(如右圖所示)因此有不同適用範圍。下面分別介紹這兩種語言。還將提到兩者的組合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的說明型編程風格已使官在世界各地愛到廣泛首視。
知識處理語言
在數據處理中,用戶為了表達數據處理的各種要求和編寫各種處理程式,可藉助於各種各樣的程式設計語言。在知識處理中也與此類似,為了表示知識、表達知識運用的意圖和描述知識處理過程也需要有各種知識處理語言的支持。
知識處理語言,按描述方式分類可以分為過程性的和描述性的兩大類。描述性的處理語言只要求用戶描述“做什麼”,至於“如何做”的問題則由機器中煞處理程式自動來寵成。而過程性處理語言則不但要求用戶描述“做什麼”,而且還要求詳細指出“如何做”。
因為知識的處理顯然有時也包含不少數據的處理,但主要是符號的處理和邏輯的推理。因此用一些面向數據處理的程式設計語言,例如FORTRAN、COBOI。等來解決知識處理問題,無論在被處理對象的結構描述方面還是在可施行於被處理對象的各種操作方面,都是不方便或根本不可能的。因此從人工智慧研究的初期人們就開始在尋求適合解決人工智慧問題的程式設計語言。其中Lisp是一個先驅,而且後來有了很大發展。此外,Prolog、Smalltalk、OPS與FRL等是幾種在人工智慧領域很有影響的通用程式設計語言。這些語言在知識處理領域,在不少具體的基於知識的系統中,起著十分重要的作用。由於這些知識處理語言的設計往往總是與某種知識的表示模式與知識的處理方式聯繫在一起的,所以它們都各有其獨特的知識表示模式與知識處理方式。
呼叫處理語言
IETF的IPTEL工作組在RFC2824描述了呼叫處理語言(Call Processing Language,CPL)的框架以及實現的要求,隨後在草案draft—ietf—iptel—cpl一06.txt中定義了CPL語言的細節。用戶可以通過CPL編寫腳本檔案,並上傳到信令伺服器(Signaling Server)。在用戶發起或接收呼叫的過程中,信令伺服器根據CPL腳本檔案運行的結果動態為用戶提供呼叫轉移、遇忙前轉等服務。
CPL腳本運行的網路模型由兩部分組成:端系統和信令伺服器。端系統指的是發起和接收信令信息和媒體流的設備,包括電話設備、PC電話客戶端、自動語音系統等。信令伺服器是指中繼和控制信令信息的設備。在SIP協定構建的網路中,指的是代理伺服器、重定向伺服器和註冊伺服器。