sekundär Indexierung wird verwendet, wenn wir uns um eine Datenbank, ohne verwendung die komplette verkettete Taste oder, wenn wir nicht um die Sequenz Primärfelder verwenden möchten zugreifen möchten.
DL / I stores the pointer to parts of the indexed database in a separate database. Index pointer segment is the only type of secondary index. It consists of two parts:
The prefix of the index pointer segment contains a pointer to the index target segment. Index target segment is the segment that may be accessed through use of the secondary index.
Das Datenelement enthält wird der Schlüsselwert von dem Segment in der indizierten Datenbank über die der Index aufgebaut. Dies wird auch als Index-Ausgangssegment bekannt.
Hier sind die wichtigsten Punkte, beachten über Secondary Indexing beachten Sie:
Der Index Ausgangssegment und das Zielausgangssegment muss nicht gleich sein.
Wenn wir die Einrichtung eines Sekundärindex, wird diese automatisch von der DL / I beibehalten werden.
Das DBA definiert viele Sekundärindizes nach den mehreren Zugriffspfaden. Diese Sekundärindizes werden in einem separaten Index-Datenbank gespeichert.
Wir sollten nicht mehr Sekundärindizes zu erstellen, wie sie auf der DL / I ergeben sich zusätzliche Verarbeitungsaufwand.
Punkte zu beachten:
Das Feld im Index Ausgangssegment, über den der Sekundärindex aufgebaut wird ist als Sekundärschlüssel genannt.
Jedes Feld kann als Sekundärschlüssel verwendet werden. Es muss nicht die Segmente Sequenz-Feld sein.
Sekundärschlüssel kann eine beliebige Kombination von einzelnen Feldern innerhalb des Index Quelle Segment sein.
Sekundärschlüsselwerte müssen nicht eindeutig sein.
Punkte zu beachten:
Wenn wir bauen einen Sekundärindex, ist die offensichtliche hierarchische Struktur der Datenbank geändert.
Der Index Zielsegment wird die scheinbare Root-Segment. Wie in der folgenden Abbildung dargestellt, wird das Segment Engineering das Root-Segment, auch wenn es kein Root-Segment.
Die Umlagerung der Datenbankstruktur von der Sekundärindex verursacht wird als Sekundärdatenstruktur bekannt.
Sekundäre Datenstrukturen tut Nehmen Sie keine Änderungen an der wichtigsten physikalischen Datenbankstruktur auf der Festplatte vorhanden ist. Es ist nur ein Weg, um die Datenbankstruktur vor dem Anwendungsprogramm zu ändern.
Punkte zu beachten:
Wenn ein UND (* oder &) Operator wird mit Sekundärindizes verwendet wird, wird als abhängige AND-Operator bekannt.
Eine unabhängige UND (#) ermöglicht es uns, Qualifikationen, wäre mit einer abhängigen und nicht angegeben werden.
Dieser Operator kann nur für Sekundärindizes in dem der Index Ausgangssegment ist abhängig von der Index-Zielsegment eingesetzt werden.
Wir können eine SSA mit einer unabhängigen und Code, um festzulegen, dass ein Auftreten des Zielsegments auf der Grundlage der Felder in zwei oder mehr abhängigen Ausgangssegmente verarbeitet werden.
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 ')'.
Punkte zu beachten:
Sparse-Sequenzierung ist auch als Sparse Indexing bekannt. Wir können einige der Index Quelle Segmente aus dem Index mit spärlichen Sequenzierung mit Sekundärindex-Datenbank zu entfernen.
Sparse-Sequenzierung ist verwendet, um die Leistung zu verbessern. Wenn einige Vorkommen des Index Quelle segment nicht verwendet werden, können wir das zu entfernen.
DL / I nutzt eine Unterdrückung wert oder eine Unterdrückung Routine oder beides, um festzustellen, ob ein Segment indiziert werden sollen.
Wenn der Wert einer Sequenz-Feld im Index Ausgangssegment Streichhölzer eine Unterdrückung Wert dann kein Index Beziehung ist etabliert .
Die Unterdrückung Routine ist eine vom Benutzer geschriebenen Programms, die das Segment auswertet und bestimmt, ob oder nicht indiziert sein soll.
Wenn spärlich Indizierung verwendet wird, ihre Funktionen werden von der DL / I behandelt. Wir brauchen nicht zu machen auf die Sondervorschriften für die es im Anwendungsprogramm.
Wie diskutiert bereits in früheren Modulen wird DBDGEN verwendet, um eine DBD erstellen. Als wir schaffen Sekundärindizes werden zwei Datenbanken beteiligt. Ein DBA muss zwei DBDs mit zwei DBDGENs zum Erstellen einer Beziehung zwischen einer indizierten Datenbank und einem sekundären Index-Datenbank zu erstellen.
Nach der Erstellung des Sekundärindex für eine Datenbank, muss der DBA die PSBs erstellen. PSBGEN für das Programm gibt den richtigen Verarbeitungsreihenfolge für die Datenbank auf dem PROCSEQ Parameter des PSB-Makro. Für die PROCSEQ Parameter, die DBA-Codes der DBD Namen für den Sekundärindex-Datenbank. .