IMS Control Blocks definieren die Struktur der IMS-Datenbank und eines Programms Zugang zu ihnen. Die folgende Grafik zeigt den Aufbau des IMS-Steuerblöcke.
DL / I nutzt die folgenden drei Arten von Control Blocks:
Punkte zu beachten: :
DBD beschreibt die vollständige physische Struktur der Datenbank, einmal alle Segmente definiert wurden.
Während der Installation einer DL / I-Datenbank, eine DBD muss erstellt wie es erforderlich ist, um die IMS-Datenbank zugriff.
Anwendungen können verschiedene Ansichten der DBD verwenden. Sie sind Anwendungsdatenstrukturen genannt und sie in der Programmspezifikation Sperren festgelegt sind.
Der Datenbankadministrator erstellt ein DBD durch Codierung DBDGEN Steueranweisungen.
DBDGEN ist eine Datenbank Descriptor Generator. Erstellen von Steuerblöcken liegt in der Verantwortung des Datenbankadministrators. Alle Lademodule sind im IMS Bibliothek gespeichert. Assembler Sprache makro- erklärungen werden verwendet, um Steuerblöcke erstellen. Da unten ist eine Beispielcode, wie man erstellen ein DBD Verwendung DBDGEN Steueranweisungen:
PRINT NOGEN DBD NAME=LIBRARY,ACCESS=HIDAM DATASET DD1=LIB,DEVICE=3380 SEGM NAME=LIBSEG,PARENT=0,BYTES=10 FIELD NAME=(LIBRARY,SEQ,U),BYTES=10,START=1,TYPE=C SEGM NAME=BOOKSEG,PARENT=LIBSEG,BYTES=5 FIELD NAME=(BOOKS,SEQ,U),BYTES=10,START=1,TYPE=C SEGM NAME=MAGSEG,PARENT=LIBSEG,BYTES=9 FIELD NAME=(MAGZINES,SEQ),BYTES=8,START=1,TYPE=C DBDGEN FINISH END
Lassen sie uns verstehen die in der obigen DBDGEN verwendeten Begriffe :
Wenn Sie Ausführen die oben Steueranweisungen in JCL, erstellt es eine physikalische Struktur wo BIBLIOTHEK ist die Root-Segment und BÜCHER und magzines sind seine Kind Segmente.
Der erste DBD Makro Erklärungen identifiziert die Datenbank. Hier müssen wir zu erwähnen den Namen und die ACCESS, die durch DL/I verwendet wird, zu Zugriff auf diese Datenbank.
Die zweite DATASET Makro Erklärungen identifiziert die Datei, der die Datenbank enthält.
Die Segmenttypen werden mit dem SEGM Makro-Anweisung definiert. Wir müssen die PARENT dieses Segments angeben. Wenn es ein Root-Segment ist, dann erwähnen PARENT = 0 ist.
In der folgenden Tabelle zeigt Parameter verwendet im FIELD Makro-Anweisung :
Parameters | Beschreibung |
---|---|
Name | Name des Feldes, in der Regel 1 bis 8 Zeichen lang sein |
Bytes | Länge des Feldes |
Start | Position des Feldes im Segment |
Typ | Datentyp des Feldes |
Typ C | Character-Datentyp |
Typ P | Lunch Dezimal-Datentyp |
Typ Z | zoned Dezimal-Datentyp |
Typ X | Hexadezimal Datentyp |
Typ H | Halbwort binärer Datentyp |
Typ F | VollWort binärer Datentyp |
Die Grundlagen der PSB werden wie unten angegeben:
Eine Datenbank hat einzige physischen Struktur definiert durch ein DBD aber den Anwendungs programmen, dass kann verarbeiten verschiedene Ansichten der Datenbank . Diese Ansichten werden namens als Anwendungs daten struktur und sind definiert in der PSB.
Kein Programm kann mehr als ein PSB in einer einzigen Ausführung zu verwenden.
Anwendungsprogramme haben ihre eigenen PSB und es ist üblich, dass Anwendungsprogramme, dass haben ähnliche Datenbankverarbeitungsanforderungen einen PSB zu teilen.
PSB besteht aus einem oder mehr Steuerblöcke genannt werden die Kommunikationsbausteine (PCBs). Die PSB enthält eine PCB für jedes DL / I-Datenbank das Anwendungsprogramm zugreifen. Wir werden diskutieren, mehr über PCB in den kommenden Module.
PSBGEN durchgeführt werden müssen, um eine PSB für das Programm zu erstellen.
PSBGEN ist als Programmspezifikations Block-Generator bekannt. Im folgenden Beispiel erstellt ein PSB verwendung PSBGEN:
PRINT NOGEN PCB TYPE=DB,DBDNAME=LIBRARY,KEYLEN=10,PROCOPT=LS SENSEG NAME=LIBSEG SENSEG NAME=BOOKSEG,PARENT=LIBSEG SENSEG NAME=MAGSEG,PARENT=LIBSEG PSBGEN PSBNAME=LIBPSB,LANG=COBOL END
Lassen Sie uns die in der obigen DBDGEN verwendeten Begriffe verstehen:
Das erste Makro-Anweisung ist die Programm-Kommunikation Baustein (PCB), dass beschreibt den Datenbanktyp, Name Key-Länge und Verarbeitungsoption.
DBDNAME Parameter auf der PCB Makro Gibt an den Namen des DBD. KEYLEN gibt die Länge des längsten verketteten Taste. Das Programm kann in der Datenbank zu bearbeiten. PROCOPT Parameter gibt die Verarbeitungsoptionen des Programms. Zum Beispiel LS bedeutet nur LOAD Operationen.
Senseg als Segmentebene Empfindlichkeit bekannt. Es definiert das Programm Zugriff auf Teile der Datenbank und auf Segmentebene identifiziert wird. Das Programm greift auf alle Felder innerhalb der Segmente, auf die sie empfindlich ist. Ein Programm kann auch auf Feldebene Empfindlichkeit. Dabei definieren wir einen Segmentnamen und das übergeordnete Name des Segments.
Die letzte Makroanweisung ist PCBGEN. PSBGEN ist die letzte Anweisung zu sagen gibt es keine Aussagen zu verarbeiten. PSBNAME definiert den Namen an den Ausgang PSB-Modul gegeben. Der Parameter LANG gibt die Sprache an, in der das Anwendungsprogramm geschrieben wird, zB COBOL.
Im folgenden sind die Punkte, über Zutrittskontrollblöcke beachten Sie:
Access Control Blocks für ein Anwendungsprogramm kombiniert die Datenbank Descriptor und die Programm-Spezifikation-Block in eine ausführbare Form.
ACBGEN ist bekannt als Access Control Blocks Generator . Es ist verwendung zur ACBs zu erzeugen.
Für die Online-Programme,wir müssen vor Gebaut ACBs. Daher die ACBGEN Dienstprogramm wird vor der Ausführung des Anwendungsprogramms ausgeführt wird.
Für Batch-Programmen, ACBs kann zur Ausführungszeit zu erzeugen allzu.