IMS DB - Lập chỉ mục phụ

Lập chỉ mục thứ cấp được sử dụng khi chúng ta muốn truy cập cơ sở dữ liệu mà không sử dụng khóa nối hoàn chỉnh hoặc khi chúng ta không muốn sử dụng các trường chính trình tự.

Phân đoạn con trỏ chỉ mục

DL / I lưu trữ con trỏ đến các phân đoạn của cơ sở dữ liệu được lập chỉ mục trong một cơ sở dữ liệu riêng biệt. Phân đoạn con trỏ chỉ mục là loại chỉ mục phụ duy nhất. Nó bao gồm hai phần -

  • Phần tử tiền tố
  • Yếu tố dữ liệu

Phần tử tiền tố

Phần tiền tố của phân đoạn con trỏ chỉ mục chứa một con trỏ đến Phân đoạn mục tiêu chỉ mục. Phân đoạn mục tiêu chỉ mục là phân đoạn có thể truy cập được bằng cách sử dụng chỉ mục phụ.

Yếu tố dữ liệu

Phần tử dữ liệu chứa giá trị khóa từ phân đoạn trong cơ sở dữ liệu được lập chỉ mục mà chỉ mục được tạo. Đây còn được gọi là phân đoạn nguồn chỉ mục.

Dưới đây là những điểm chính cần lưu ý về Lập chỉ mục phụ -

  • Phân khúc nguồn chỉ mục và phân khúc nguồn mục tiêu không được giống nhau.

  • Khi chúng tôi thiết lập một chỉ mục phụ, nó sẽ tự động được duy trì bởi DL / I.

  • DBA xác định nhiều chỉ mục phụ theo nhiều đường dẫn truy cập. Các chỉ mục phụ này được lưu trữ trong một cơ sở dữ liệu chỉ mục riêng biệt.

  • Chúng ta không nên tạo thêm các chỉ mục phụ vì chúng áp đặt thêm chi phí xử lý lên DL / I.

Phím phụ

Những điểm cần lưu ý -

  • Trường trong phân đoạn nguồn chỉ mục mà chỉ mục phụ được tạo được gọi là khóa phụ.

  • Bất kỳ trường nào cũng có thể được sử dụng làm khóa phụ. Nó không cần phải là trường trình tự phân đoạn.

  • Khóa phụ có thể là bất kỳ sự kết hợp nào của các trường đơn lẻ trong phân đoạn nguồn chỉ mục.

  • Giá trị khóa phụ không nhất thiết phải là duy nhất.

Cấu trúc dữ liệu thứ cấp

Những điểm cần lưu ý -

  • Khi chúng ta xây dựng một chỉ mục phụ, cấu trúc phân cấp rõ ràng của cơ sở dữ liệu cũng bị thay đổi.

  • Phân đoạn mục tiêu chỉ mục trở thành phân đoạn gốc rõ ràng. Như thể hiện trong hình ảnh sau, phân đoạn Kỹ thuật trở thành phân đoạn gốc, ngay cả khi nó không phải là phân đoạn gốc.

  • Việc sắp xếp lại cấu trúc cơ sở dữ liệu do chỉ mục phụ gây ra được gọi là cấu trúc dữ liệu thứ cấp.

  • Cấu trúc dữ liệu thứ cấp không thực hiện bất kỳ thay đổi nào đối với cấu trúc cơ sở dữ liệu vật lý chính hiện diện trên đĩa. Nó chỉ là một cách để thay đổi cấu trúc cơ sở dữ liệu trước chương trình ứng dụng.

Nhà điều hành VÀ độc lập

Những điểm cần lưu ý -

  • Khi toán tử AND (* hoặc &) được sử dụng với các chỉ mục phụ, nó được gọi là toán tử AND phụ thuộc.

  • AND (#) độc lập cho phép chúng tôi chỉ định các điều kiện không thể với AND phụ thuộc.

  • Toán tử này chỉ có thể được sử dụng cho các chỉ mục phụ trong đó phân đoạn nguồn chỉ mục phụ thuộc vào phân đoạn mục tiêu chỉ mục.

  • Chúng tôi có thể mã hóa một SSA bằng AND độc lập để chỉ định rằng sự xuất hiện của phân đoạn đích được xử lý dựa trên các trường trong hai hoặc nhiều phân đoạn nguồn phụ thuộc.

01 ITEM-SELECTION-SSA.
   05 FILLER           PIC X(8).
   05 FILLER           PIC X(1) VALUE '('.
   05 FILLER           PIC X(10).
   05 SSA-KEY-1        PIC X(8).
   05 FILLER           PIC X   VALUE '#'.
   05 FILLER           PIC X(10).
   05 SSA-KEY-2        PIC X(8).
   05 FILLER           PIC X   VALUE ')'.

Sắp xếp theo trình tự thưa thớt

Những điểm cần lưu ý -

  • Sắp xếp theo trình tự thưa thớt còn được gọi là Lập chỉ mục thưa thớt. Chúng tôi có thể xóa một số phân đoạn nguồn chỉ mục khỏi chỉ mục bằng cách sử dụng trình tự thưa thớt với cơ sở dữ liệu chỉ mục phụ.

  • Giải trình tự thưa thớt được sử dụng để cải thiện hiệu suất. Khi một số lần xuất hiện của phân đoạn nguồn chỉ mục không được sử dụng, chúng tôi có thể loại bỏ điều đó.

  • DL / I sử dụng một giá trị triệt tiêu hoặc một quy trình triệt tiêu hoặc cả hai để xác định xem một phân đoạn có nên được lập chỉ mục hay không.

  • Nếu giá trị của trường trình tự trong phân đoạn nguồn chỉ mục khớp với giá trị loại bỏ thì không có mối quan hệ chỉ mục nào được thiết lập.

  • Quy trình ngăn chặn là một chương trình do người dùng viết để đánh giá phân đoạn và xác định xem nó có nên được lập chỉ mục hay không.

  • Khi lập chỉ mục thưa thớt được sử dụng, các chức năng của nó được xử lý bởi DL / I. Chúng tôi không cần phải đưa ra các điều khoản đặc biệt cho nó trong chương trình ứng dụng.

Yêu cầu DBDGEN

Như đã thảo luận trong các mô-đun trước, DBDGEN được sử dụng để tạo một DBD. Khi chúng tôi tạo chỉ mục phụ, hai cơ sở dữ liệu có liên quan. Một DBA cần tạo hai DBD bằng cách sử dụng hai DBDGEN để tạo mối quan hệ giữa cơ sở dữ liệu được lập chỉ mục và cơ sở dữ liệu được lập chỉ mục thứ cấp.

Yêu cầu PSBGEN

Sau khi tạo chỉ mục phụ cho cơ sở dữ liệu, DBA cần tạo các PSB. PSBGEN cho chương trình chỉ định trình tự xử lý thích hợp cho cơ sở dữ liệu trên tham số PROCSEQ của macro PSB. Đối với tham số PROCSEQ, DBA mã tên DBD cho cơ sở dữ liệu chỉ mục phụ.