下面介紹下IMS層次資料庫:
IMS概述Information Management System
IMS的數據定義
IMS的數據定義包括資料庫模式定義和外模式定義。
IMS的資料庫模式是物理資料庫記錄型的集合。每個物
理資料庫記錄型對應於層次數據模型中的一個層次模式,
由一個DBD定義。物理資料庫記錄型到存儲資料庫的映
射包含在這個物理資料庫記錄型的DBD定義中。
IMS的外模式是邏輯資料庫記錄型的集合。每個邏輯數
據庫記錄型由一個PCB定義。一個邏輯資料庫記錄型到
IMS資料庫模式的映射包含在這個邏輯資料庫記錄型的
PCB定義中。用戶是按照外模式操縱數據的。
下邊分別介紹資料庫模式定義和外模式定義:
1 資料庫模式定義
2 外模式定義
資料庫模式定義
IMS的資料庫模式是一組物理資料庫記錄型(PDBR型),
每個PDBR型是由若干相關聯的片段型組成的一棵層次樹結構。
它的一個根片段值及其後裔片段值構成了該PDBR型的一個值,
即資料庫記錄或實例。
每個PDBR型通過一個DBD語句群定義其邏輯結構及其存儲結
構映像,IMS資料庫模式的定義是一組DBD定義的排列。
在DBD定義過程中各片段型出現的次序決定了資料庫各片段值
的存儲次序,從而會影響到某些DL/1語句的執行結果。要求這
種次序與片段型在PDBR型樹的層次順序(自頂向下,自左向右)
保持一致。
(1)教學資料庫的PDBR型及其一個實例.
(2)PDBR型的DBD定義,
(3)PDBD型各片段型的型碼和片段的層次順序值
外模式定義
外模式是各個用戶所需數據的局部邏輯結構,是應用程式的
數據視圖,一般地只涉及資料庫的一部分,故需在PDBR型
的基礎上分別定義。一個資料庫模式有若干外模式,允許多
個應用程式共享一個外模式,但每個程式只能啟動一個外模
式。一個外模式是一組邏輯資料庫記錄型(LDBR型)的集合,
記為PSB。一個LDBR型是某個PDBR型的子樹,由一個PCB
定義。
外模式的定義遵循如下規則:
‘若外模式包含某個片斷型,則必須包含其父片斷型。’
下邊說明一個邏輯資料庫記錄型是如何定義的。
(1)教學資料庫的一個LDBR型
(2)LDBR型的PCB定義
用PCB定義一個邏輯資料庫記錄型LDBR
(1)PCB type=DB,DBDname=TS,KEYLENGH=10
(2)SENSEG name=dept,PROCopt=G
(3)SENSEG name=course,parent=dept,procopt=all
(4)SENSEG name=student,parent=course,procopt=r
IMS的數據操縱語言是DL/1。
用戶使用某種高級語言(稱為宿主語言)編程,
通過嵌入DL/1語句實現對資料庫的存取。
DL/1命令
GU 檢索某片段
GN 順序檢索下一片段
GNP 在當前父片段內檢索下一片段
GHU 同GU, 為刪改作準備
ghn 同GN, 為刪改作準備
GHNP 同GUP, 為刪改作準備
ISRT 插入片段
REPL 修改片段內容
DELT 刪除某片段及其後裔
LOAD 初始載入一個片段
CHKP 建立檢查點
SCHD 調度PSB
TERM 釋放PSB
IMS的存儲結構
IMS提供四種存儲結構:
以下各存儲結構的示例均以教學資料庫PDBR為模型。
1.HSAM: 層次順序訪問方法,片段按層次順序作物理鄰接存儲。
2.HISAM:層次索引順序訪問方法,
非根片段按層次順序值升序鄰接存儲,
根片段用順序域索引的方法組織並指向下屬區域。
3.HDAM: 層次直接訪問方法,片段的存儲採用離散分布方式,
根片段用順序域HASH方法組織,從根片段出發用指針
按層次順序值的順序把物理上分散的從屬片段連結起來。
4.HIDAM:層次索引直接訪問方法,類似於HDAM,不同的是,
根片段採用順序域索引技術組織,而不是HASH方法。
故是HDAM和HISAM兩種方法的混合。
根片段 從片段
HSAM 順序鄰接 順序鄰接
HISAM 索引法 順序鄰接
HDAM HASH法 鍊表
HIDAM 索引法 鍊表