時間:2022-11-03 16:30:01 | 來源:信息時代
時間:2022-11-03 16:30:01 來源:信息時代
NDL模塊語言 : 定義訪問網(wǎng)狀數(shù)據(jù)庫的模塊的命令集合,也是網(wǎng)狀數(shù)據(jù)庫語言標準的主要組成部分。網(wǎng)狀數(shù)據(jù)庫語言標準規(guī)定:訪問網(wǎng)狀數(shù)據(jù)庫的模塊是使用NDL模式定義語言說明的一個持久對象。模塊是為了完成某一特定功能所需的一段可執(zhí)行代碼序列,是一個或一組過程或函數(shù),每個模塊都有唯一的一個可以用來調(diào)用它的名字。
在網(wǎng)狀數(shù)據(jù)庫中,用戶對數(shù)據(jù)庫的訪問主要通過模塊和數(shù)據(jù)操縱語言來實現(xiàn)。一個模塊在運行期間應與一個使用指定程序設計語言編寫的應用程序相關聯(lián),一個應用程序最多與一個模塊相關聯(lián)。
NDL模塊語言的語法使用BNF(巴科斯范式或巴科斯一諾爾范式)表示法。這種格式便于理解整個ML的句法,在NDL模塊語言中,定義一個模塊的命令格式為:
〈模塊〉::=〈module name子句〉〈language子句〉〈子模式說明〉[〈臨時系說明組〉]〈過程〉…
它表示一個模塊由一個任選的〈module name子句〉、一個〈language子句〉、一個〈子模式說明〉、至多一個〈臨時系說明組〉和一個或多個〈過程〉所組成。其中:
〈module name子句〉: 命名一個模塊。因為在一個數(shù)據(jù)庫系統(tǒng)中,可以包含多個模塊,為了使DBMS能夠識別它們,必須對每一個模塊進行唯一命名。
〈language子句〉: 指定與該模塊相關聯(lián)的應用程序所使用的程序設計語言,例如: COBOL、FORTRAN、PASCAL或PL1。
〈子模式說明〉: 申明與該模塊在相同環(huán)境中的一個子模式及其源模式。
〈臨時系說明組〉: 申明一個臨時系,即定義一個臨時的〈系類型〉。
〈過程〉: 定義一個過程(或函數(shù))。包括: 過程名、過程的參數(shù)說明及由NDL語句組成的過程體。
由于一個模塊的執(zhí)行與一個使用指定程序設計語言編寫的應用程序相關聯(lián),在第一次執(zhí)行一個模塊并調(diào)用其中的過程之前,要構造一個初始的會話狀態(tài),并把該會話狀態(tài)與調(diào)用該模塊中任一個過程的程序設計語言代理相關聯(lián)。在最后一次調(diào)用模塊內(nèi)的過程之后,要執(zhí)行一個rollback語句,以指明FINISH(結束),同時撤銷與該模塊相關聯(lián)的會話狀態(tài)。
微信公眾號
版權所有? 億企邦 1997-2022 保留一切法律許可權利。