時間:2022-11-30 10:30:02 | 來源:信息時代
時間:2022-11-30 10:30:02 來源:信息時代
網(wǎng)狀數(shù)據(jù)庫語言 : 提供了網(wǎng)狀數(shù)據(jù)庫的邏輯數(shù)據(jù)結(jié)構的定義和網(wǎng)狀數(shù)據(jù)庫的設計、存取、控制和保護功能的計算機語言。主要有模式數(shù)據(jù)描述語言(schema data description language,模式DDL)、子模式數(shù)據(jù)描述語言(subschema data description language,子模式DDL)、物理數(shù)據(jù)描述語言(physical data description language,物理DDL)和數(shù)據(jù)操縱語言(data manipulation language,DML)。
1. 模式DDL
模式DDL是數(shù)據(jù)庫管理員(DBA)用來定義數(shù)據(jù)庫全局邏輯數(shù)據(jù)結(jié)構的描述語言。用模式DDL寫出的定義一個數(shù)據(jù)庫的全部語句稱為一個模式。模式DDL包括所有數(shù)據(jù)元素的名字、特征及其相互關系,還包括有關安全性和完整性的規(guī)定。模式DDL由模式節(jié)、區(qū)域節(jié)、記錄節(jié)和系節(jié)組成。模式節(jié)用以標明模式,定義模式名; 區(qū)域節(jié)標識存儲區(qū)域和其他物理細節(jié); 記錄節(jié)給出記錄的完整描述,包括記錄名、記錄所在的區(qū)域、記錄鍵以及數(shù)據(jù)的類型和長度等; 系節(jié)定義所有的系,定義每個系的系名、系主、系成員、系序以及其他細節(jié)。例如供應者和零件數(shù)據(jù)庫的模式可以用該語言描述如下:
SCHEMA NAME IS SUPPLIERS-AND
PARTS //模式節(jié)
RECORD NAME IS S; //記錄節(jié)
(供應者記錄S的描述,鍵是SNO)
RECORD NAME IS P; //記錄節(jié)
(零件記錄P的描述,鍵是PNO)
RECORD NAME IS SP; //記錄節(jié)
(供應者-零件記錄SP的描述,鍵是SNO,PNO)
SET NAME IS S-SP; //系節(jié)
OWNER IS S;
ORDER IS SORTED BY DEFINED KEYS;
MEMBER IS SP;
INSERTION IS AUTOMATIC;
RETENTION IS FIXED;
KEY IS ASCENDING PNO IN SP;
SET SELECTION IS BY VALUE OF SNO IN S.
SET NAME IS P-SP; //系節(jié)
OWNER IS P;
ORDER IS SORTED BY DEFINED KEYS;
MEMBER IS SP;
INSERTION IS AUTOMATIC;
RETENTION IS FIXED;
KEY IS ASCENDING SNO IN SP;
SET SELECTION IS BY VALUE OF PNO IN P.
2. 子模式DDL
子模式DDL是用戶或數(shù)據(jù)庫管理員用來描述他們關心的數(shù)據(jù)庫視圖的語言。網(wǎng)狀數(shù)據(jù)庫系統(tǒng)允許子模式中的某些項不同于模式中的定義,特別是可以改變模式中定義的數(shù)據(jù)項、記錄和系的名字,交換它們的順序,將幾個項組合起來,以及把模式中的組項分成基本項等。子模式DDL的格式與宿主語言密切相關。子模式DDL主要由首部(title division)、映像部(mapping division)和結(jié)構部(structure division)三部分組成。首部描述子模式名和相關的模式名;映像部用來重新命名模式中的區(qū)域、記錄型和系型,定義模式到子模式的轉(zhuǎn)換,給出子模式和模式之間變化了的名字之間的對應關系;結(jié)構部是子模式DDL的主要部分,它說明子模式包含的數(shù)據(jù)庫部分的結(jié)構和內(nèi)容,由區(qū)域節(jié)、記錄節(jié)和系節(jié)組成,它們分別描述子模式所涉及的區(qū)域、記錄和系。區(qū)域節(jié)中指出包含子模式的區(qū)域的名字,記錄節(jié)中標識記錄的數(shù)據(jù)項,系節(jié)中指出子模式中的系與相應的模式中的系描述條目中不同的地方。
3.物理DDL
物理DDL是用來定義數(shù)據(jù)的物理存儲方式的數(shù)據(jù)描述語言,由數(shù)據(jù)庫管理員使用,用戶一般不接觸它。物理DDL是內(nèi)部的描述,它描述數(shù)據(jù)在存儲介質(zhì)上的安排和存放,如怎樣建立索引以及數(shù)據(jù)如何壓縮和分頁等。它由存儲模式條目(storage schema entry)、映像描述條目(mapping description entry)、存儲區(qū)域條目(storage area entry)、存儲記錄條目(storage record entry)和索引條目(index entry)等五部分組成。存儲模式條目用于標識存儲模式并指出對應的模式; 映像描述條目定義模式記錄和存儲記錄之間的映像; 存儲區(qū)域條目、存儲記錄條目和索引條目分別用于定義存儲區(qū)域、存儲記錄和索引。物理DDL和計算機硬件的特性有關,一般的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)不作標準化的規(guī)定。在DBTG報告中也只提出了設備介質(zhì)控制語言(device media control language,DMCL)的概念,未定義規(guī)范語言。而在1978年的CODASYL DDLC報告中引進了數(shù)據(jù)存儲描述語言(data storage description language,DSDL)。DMCL是在數(shù)據(jù)庫管理系統(tǒng)中用來描述區(qū)域和物理設備之間映像的語言,使用它可以把邏輯數(shù)據(jù)描述映像到物理存儲器中。DMCL提供數(shù)據(jù)庫管理員對物理存儲設備的管理手段,如指定數(shù)據(jù)庫系統(tǒng)的緩沖區(qū),壓縮和分頁,指定尋址以及檢索方法等。
4. DML DML是網(wǎng)狀數(shù)據(jù)庫系統(tǒng)用來對數(shù)據(jù)庫中的數(shù)據(jù)進行存儲、檢索和修改的語言。DML嵌入在宿主語言中,并能與宿主語言實現(xiàn)無縫連接。用戶需用宿主語言編寫應用程序調(diào)用DML語句實現(xiàn)對數(shù)據(jù)庫的訪問。用戶對網(wǎng)狀數(shù)據(jù)庫中數(shù)據(jù)的檢索、修改、插入和刪除等操作都由DML來完成。宿主語言用于操作內(nèi)存中的數(shù)據(jù),如處理記錄內(nèi)的聯(lián)系,對取入內(nèi)存的數(shù)據(jù)庫數(shù)據(jù)進行運算等。網(wǎng)狀數(shù)據(jù)庫管理系統(tǒng)在內(nèi)存中提供了一個用戶工作區(qū)UMA作為程序運行環(huán)境,它的功能是負責應用程序與系統(tǒng)之間的通信。DML是過程式語言,因此,要求用戶熟悉數(shù)據(jù)庫的結(jié)構。
數(shù)據(jù)操縱語言由各種DML語句組成。例如,DBTG的DML語句包括管理區(qū)域的OPEN和CLOSE語句,對記錄進行操作的FIND、GET、STORE、MODIFY和DELETE語句,關于系序的ORDER語句,關于系成員記錄屬藉的INSERT和REMOVE語句,保留記錄當前狀態(tài)的KEEP和FREE語句,以及傳送記錄當前狀態(tài)字的MOVE語句等。
DBLTG對DBTG提出的許多DML語句名作了修改,例如,將OPEN改成READY,CLOSE改成FINISH,DELETE改成ERASE,INSERT改成CONNECT,REMOVE改成DISCONNECT,以及MOVE改成ACCEPT等。
美國數(shù)據(jù)語言委員會(CODASYL)下屬的數(shù)據(jù)庫任務小組(DBTG)于1969年提出了數(shù)據(jù)定義語言DDL和操縱語言DML的規(guī)范說明。1984年美國國家標準協(xié)會(ANSI)提出了一個網(wǎng)狀定義語言(network definition language,NDL)的推薦標準。1987年,ISO 8907定義了網(wǎng)狀數(shù)據(jù)庫語言(NDL)的國際標準,NDL包括模式定義語言、子模式定義語言和數(shù)據(jù)操縱語言的語法和語義。
微信公眾號
版權所有? 億企邦 1997-2022 保留一切法律許可權利。