COBOL - Tổ chức tệp
Tổ chức tệp cho biết cách tổ chức các bản ghi trong một tệp. Có nhiều loại tổ chức khác nhau cho tệp để tăng hiệu quả truy cập hồ sơ của chúng. Sau đây là các loại lược đồ tổ chức tệp:
- Tổ chức tệp tuần tự
- Tổ chức tệp tuần tự được lập chỉ mục
- Tổ chức tệp tương đối
Các cú pháp trong mô-đun này, được đề cập cùng với các thuật ngữ tương ứng, chỉ đề cập đến cách sử dụng của chúng trong chương trình. Các chương trình hoàn chỉnh sử dụng các cú pháp này sẽ được thảo luận trong chương 'Động từ xử lý tệp'.
Tổ chức tệp tuần tự
Tệp tuần tự bao gồm các bản ghi được lưu trữ và truy cập theo thứ tự tuần tự. Sau đây là các thuộc tính chính của tổ chức tệp tuần tự:
Các bản ghi có thể được đọc theo thứ tự tuần tự. Để đọc bản ghi thứ 10 , nên đọc tất cả 9 bản ghi trước đó.
Hồ sơ được viết theo thứ tự tuần tự. Một bản ghi mới không thể được chèn vào giữa. Bản ghi mới luôn được chèn vào cuối tệp.
Sau khi đặt bản ghi thành một tệp tuần tự, không thể xóa, rút ngắn hoặc kéo dài bản ghi.
Thứ tự của các bản ghi, một khi được chèn vào, không bao giờ có thể thay đổi được.
Có thể cập nhật hồ sơ. Một bản ghi có thể được ghi đè, nếu độ dài bản ghi mới bằng với độ dài bản ghi cũ.
Các tệp đầu ra tuần tự là tùy chọn tốt để in.
Cú pháp
Sau đây là cú pháp của tổ chức tệp tuần tự:
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name-jcl
ORGANIZATION IS SEQUENTIAL
Tổ chức tệp tuần tự được lập chỉ mục
Một tệp tuần tự được lập chỉ mục bao gồm các bản ghi có thể được truy cập tuần tự. Truy cập trực tiếp cũng có thể. Nó bao gồm hai phần -
Data File chứa các bản ghi trong lược đồ tuần tự.
Index File chứa khóa chính và địa chỉ của nó trong tệp dữ liệu.
Sau đây là các thuộc tính chính của tổ chức tệp tuần tự:
Các bản ghi có thể được đọc theo thứ tự tuần tự giống như trong tổ chức tệp tuần tự.
Các bản ghi có thể được truy cập ngẫu nhiên nếu khóa chính được biết. Tệp chỉ mục được sử dụng để lấy địa chỉ của một bản ghi và sau đó bản ghi được tìm nạp từ tệp dữ liệu.
Chỉ mục đã sắp xếp được duy trì trong hệ thống tệp này liên quan đến giá trị khóa với vị trí của bản ghi trong tệp.
Chỉ mục thay thế cũng có thể được tạo để tìm nạp các bản ghi.
Cú pháp
Sau đây là cú pháp của tổ chức tệp tuần tự được lập chỉ mục:
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
Tổ chức tệp tương đối
Một tệp tương đối bao gồm các bản ghi được sắp xếp theo thứ tự relative address. Sau đây là các thuộc tính chính của tổ chức tệp tương đối:
Các bản ghi có thể được đọc theo thứ tự tuần tự giống như trong tổ chức tệp tuần tự và được lập chỉ mục.
Hồ sơ có thể được truy cập bằng cách sử dụng khóa tương đối. Khóa tương đối đại diện cho vị trí của bản ghi so với địa chỉ nơi bắt đầu tệp.
Các bản ghi có thể được chèn bằng khóa tương đối. Địa chỉ tương đối được tính bằng khóa tương đối.
Tệp tương đối cung cấp quyền truy cập nhanh nhất vào các bản ghi.
Nhược điểm chính của hệ thống tệp này là nếu thiếu một số bản ghi trung gian, chúng cũng sẽ chiếm dung lượng.
Cú pháp
Sau đây là cú pháp của tổ chức tệp tương đối:
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name-jcl
ORGANIZATION IS RELATIVE
RELATIVE KEY IS rec-key