COBOL - Organizacja plików

Organizacja plików wskazuje, w jaki sposób rekordy są zorganizowane w pliku. Istnieją różne typy organizacji plików, aby zwiększyć ich efektywność dostępu do rekordów. Poniżej przedstawiono typy schematów organizacji plików -

  • Sekwencyjna organizacja plików
  • Indeksowana sekwencyjna organizacja plików
  • Względna organizacja plików

Składnie w tym module, wymienione wraz z odpowiednimi terminami, odnoszą się tylko do ich użycia w programie. Pełne programy korzystające z tych składni zostaną omówione w rozdziale „Czasowniki obsługi plików”.

Sekwencyjna organizacja plików

Plik sekwencyjny składa się z rekordów, które są przechowywane i dostępne w kolejności sekwencyjnej. Poniżej przedstawiono kluczowe atrybuty sekwencyjnej organizacji plików -

  • Rekordy można odczytywać w kolejności sekwencyjnej. Do czytania 10 th rekord, wszystkie poprzednie rekordy 9 należy czytać.

  • Rekordy są zapisywane w kolejności. Nie można wstawić nowego rekordu pomiędzy. Nowy rekord jest zawsze wstawiany na końcu pliku.

  • Po umieszczeniu rekordu w pliku sekwencyjnym nie można usunąć, skrócić ani przedłużyć rekordu.

  • Kolejność rekordów, raz wstawionych, nigdy nie może zostać zmieniona.

  • Aktualizacja rekordu jest możliwa. Rekord można nadpisać, jeśli długość nowego rekordu jest taka sama, jak długość starego rekordu.

  • Sekwencyjne pliki wyjściowe są dobrym rozwiązaniem do drukowania.

Składnia

Poniżej znajduje się składnia sekwencyjnej organizacji plików -

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

Organizacja plików indeksowanych sekwencyjnych

Indeksowany plik sekwencyjny składa się z rekordów, do których można uzyskać dostęp sekwencyjnie. Możliwy jest również bezpośredni dostęp. Składa się z dwóch części -

  • Data File zawiera rekordy w schemacie sekwencyjnym.

  • Index File zawiera klucz podstawowy i jego adres w pliku danych.

Poniżej przedstawiono kluczowe atrybuty sekwencyjnej organizacji plików -

  • Rekordy można czytać w kolejności sekwencyjnej, tak jak w sekwencyjnej organizacji plików.

  • Dostęp do rekordów można uzyskać losowo, jeśli znany jest klucz podstawowy. Plik indeksu służy do pobrania adresu rekordu, a następnie rekord jest pobierany z pliku danych.

  • W tym systemie plików utrzymywany jest posortowany indeks, który wiąże wartość klucza z pozycją rekordu w pliku.

  • Można również utworzyć indeks alternatywny w celu pobrania rekordów.

Składnia

Poniżej przedstawiono składnię indeksowanej sekwencyjnej organizacji plików -

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

Względna organizacja plików

Plik względny składa się z rekordów uporządkowanych według ich relative address. Poniżej przedstawiono kluczowe atrybuty względnej organizacji plików -

  • Rekordy można odczytywać w kolejności sekwencyjnej, podobnie jak w sekwencyjnej i indeksowanej organizacji plików.

  • Dostęp do rekordów można uzyskać za pomocą klucza względnego. Względny klucz reprezentuje lokalizację rekordu względem adresu początku pliku.

  • Rekordy można wstawiać za pomocą klucza względnego. Adres względny jest obliczany za pomocą klucza względnego.

  • Plik względny zapewnia najszybszy dostęp do rekordów.

  • Główną wadą tego systemu plików jest to, że jeśli brakuje niektórych rekordów pośrednich, zajmują one również miejsce.

Składnia

Poniżej znajduje się składnia względnej organizacji plików -

INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name-jcl
   ORGANIZATION IS RELATIVE
   RELATIVE KEY IS rec-key