COBOL 文件組織

2018-10-17 13:53 更新

文件組織是指記錄如何在文件中進(jìn)行組織。有不同類型的文件的組織,以提高訪問(wèn)記錄的效率。以下是文件組織方案的類型:

  • 順序文件組織
  • 索引順序文件組織
  • 相對(duì)文件組織

在該章節(jié)中提及的語(yǔ)法及其各自的術(shù)語(yǔ),僅涉及它們?cè)诔绦蛑械挠梅āJ褂眠@些語(yǔ)法的完整程序在上一章“COBOL-文件處理”中討論。

順序文件組織

順序文件由按照順序存儲(chǔ)和訪問(wèn)的記錄組成。以下是順序文件組織的關(guān)鍵屬性:

  • 記錄可以按順序讀取。讀取第10條記錄時(shí),應(yīng)該先閱讀前面的9條記錄。

  • 記錄按順序?qū)懭?。記錄間不能插入新紀(jì)錄。新記錄總是插入在該文件的末尾。

  • 將記錄放入順序文件后,則無(wú)法刪除,縮短或延長(zhǎng)的記錄。

  • 記錄的順序,一旦插入,就永遠(yuǎn)不會(huì)改變。

  • 記錄是可以更新的。如果新的記錄的長(zhǎng)度與舊記錄的長(zhǎng)度相同,則可以覆蓋記錄。

  • 按順序輸出文件是打印的好選擇。

語(yǔ)法

以下是順序文件組織的語(yǔ)法:

INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name-jcl
   ORGANIZATION IS SEQUENTIAL

索引順序文件組織

索引順序文件由可以按順序訪問(wèn)的記錄組成。也可以直接訪問(wèn)。它由兩部分組成:

  • 數(shù)據(jù)文件:包含順序方案中的記錄。
  • 索引文件:包含數(shù)據(jù)文件中的主鍵及其地址。

以下是索引順序文件組織的關(guān)鍵屬性:

  • 記錄可以按順序讀取,就像順序文件組織一樣。

  • 如果主鍵已知,記錄可被隨機(jī)訪問(wèn)。索引文件用于獲取記錄的地址,然后從數(shù)據(jù)文件中提取記錄。

  • 排序索引被保持在文件系統(tǒng)中,其將關(guān)鍵值與文件中記錄的位置相關(guān)聯(lián)。

  • 也可以創(chuàng)建備用索引來(lái)獲取的記錄。

語(yǔ)法

以下是索引順序文件組織的語(yǔ)法:

INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name-jcl
   ORGANIZATION IS INDEXED
   RECORD KEY IS primary-key
   ALTERNATE RECORD KEY IS rec-key

相對(duì)文件組織

相對(duì)文件由依據(jù)相對(duì)地址排序的記錄組成。以下是相對(duì)文件組織的關(guān)鍵屬性:

  • 記錄可以按順序讀取,就像順序和索引順序文件組織一樣。

  • 記錄可以使用relative key(相對(duì)鍵)訪問(wèn)。relative key表示記錄相對(duì)于文件起始地址的位置。

  • 記錄可以使用relative key插入。相對(duì)地址使用relative key計(jì)算。

  • 相對(duì)文件提供對(duì)記錄最快的訪問(wèn)。

  • 這個(gè)文件系統(tǒng)的主要缺點(diǎn)是,如果某些中間記錄丟失,它們也將占據(jù)空間。

語(yǔ)法

以下是相對(duì)文件組織的語(yǔ)法:

INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name-jcl
   ORGANIZATION IS RELATIVE
   RELATIVE KEY IS rec-key
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)