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