Das Füllen des Informationskatalogs mit beschreibenden Daten ist am leichtesten, wenn vorhandene Beschreibungen der Informationen im Unternehmen verwendet werden. Viele Datenbanken und Desktop-Anwendungen enthalten bereits beschreibende Daten, die in den Informationskatalog übertragen werden können.
Mit Hilfe der Befehlssprache von Information Catalog Manager können Sie:
Durch das Extrahieren beschreibender Daten wird auch das Aktualisieren des Informationskatalogs vereinfacht. Die Befehlssprachendateien können mit einem beliebigen Textverarbeitungsprogramm bearbeitet werden, das ASCII-Textdateien importieren und exportieren kann.
Information Catalog Manager wird mit einem Satz von Programmen geliefert, die beschreibende Daten aus unterschiedlichen Quellen extrahieren können. Sie können diese Extrahierungsprogramme bei der Installation von Information Catalog Manager oder zu einem späteren Zeitpunkt installieren. Information Catalog Manager für Windows stellt diese Programme in die Unterverzeichnisse \SQLLIB\SAMPLES\DGEXTxxx.
Damit Sie die Extrahierungsprogramme verwenden können, müssen Sie mit den jeweiligen Betriebsumgebungen vertraut sein, in denen die Programme ausgeführt werden. Informationen über das Ausführen der erforderlichen Extrahierungsprogramme enthält Anhang A, Extrahierungsprogramme von Information Catalog Manager.
Gegebenenfalls müssen Sie ein Extrahierungsprogramm schreiben, wenn Sie Daten aus vorhandenen Katalogen kopieren wollen, die nicht mit den mit Information Catalog Manager gelieferten Extrahierungsprogrammen extrahiert werden können. Das erstellte Extrahierungsprogramm muß diese beschreibenden Daten in die Befehlssprache von Information Catalog Manager umsetzen. Dann können Sie die beschreibenden Daten direkt als Objektarten und Objekte in Information Catalog Manager importieren.
Das Format der vorhandenen Daten ist das Standardeingabeformat. Das Extrahierungsprogramm muß als Ausgabe eine Befehlssprachendatei erstellen. Durch die Merkmale, die für die Daten der Informationsquelle verwendet werden sollen, wird jedoch auch die Befehlssprachenausgabe festgelegt, die das Extrahierungsprogramm erstellen muß.
Diese ausgegebene Befehlssprachendatei kann einige oder alle der folgenden Befehle enthalten:
Weitere Informationen über die Information Catalog Manager-Befehlssprache enthalten Anhang D, Befehlssprache, und Anhang E, Aufbau einer Befehlssprachendatei.
Wird die Befehlssprachendatei auf mehreren Disketten gespeichert, muß das Extrahierungsprogramm den Befehl DISKCNTL an den Anfang der Befehlssprachendatei stellen, damit Information Catalog Manager weiß, wieviele Disketten für die Befehlsdatei erforderlich sind.
Für die erste Diskette muß beispielsweise folgendes angegeben werden:
:DISKCNTL.SEQUENCE(1, +)
Der Befehl DISKCNTL. muß auf den einzelnen Disketten der erste Befehl in der Datei sein.
In Information Catalog Manager werden beschreibende Daten als Merkmale eines Objekts gespeichert. Mit einer Objektart wird ein Satz von Merkmalen beschrieben, über die alle Objekte mit dieser Objektart verfügen. Werden beschreibende Daten mit einem Satz von nicht definierten Merkmalen extrahiert, muß das Extrahierungsprogramm eine Befehlssprachendatei erzeugen, die eine Objektart erstellt.
Der Datenbankkatalog der Datenbank kann beispielsweise mehrere Tabellen in der Datenbank beschreiben. Dieser Katalog enthält die folgenden Merkmale enthalten, die im Informationskatalog gespeichert werden sollen:
Um eine Objektart mit diesen Merkmalen zu erzeugen, muß das Extrahierungsprogramm eine Befehlssprachendatei erzeugen, die die in n Abbildung 11 gezeigten Befehle enthält.
Abbildung 11. Befehlssprachenausgabe eines Extrahierungsprogramms zum Erstellen einer Objektart
:ACTION.OBJTYPE(ADD) :OBJECT.TYPE(MEINTAB) CATEGORY(GROUPING) EXTNAME(Tabellen in meiner Datenquelle) :PROPERTY.EXTNAME(Name der Datenquelle) DT(C) DL(8) SHRTNAME(DQNAME) UUISEQ(2) NULLS(N) :PROPERTY.EXTNAME(Tabellenname) DT(C) DL(10) SHRTNAME(TABNAME) UUISEQ(1) NULLS(N) :PROPERTY.EXTNAME(Tabellenbeschreibung) DT(V) DL(80) SHRTNAME(TABBESCH) NULLS(Y) :PROPERTY.EXTNAME(Tabelleneigner) DT(V) DL(8) SHRTNAME(TABEIG) NULLS(Y) |
Beim Erstellen einer neuen Objektart müssen Sie mindestens ein Merkmal mit dem Parameter UUISEQ angeben, der den Wert 1 hat. Sie können bis zu vier weitere Merkmale mit dem Parameter UUISEQ angeben. Diese Parameter müssen den Wert 2, 3, 4 oder 5 haben. Mit dem Parameter UUISEQ wird die Position des Merkmals in der UUI angegeben, mit der ein Objekt in einem Informationskatalog eindeutig gekennzeichnet wird.
Der Datenbankkatalog kann beispielsweise beschreibende Daten für drei Tabellen beinhalten, die im Informationskatalog gespeichert werden sollen. Das Extrahierungsprogramm kann die beschreibenden Daten für diese drei Tabellen aus dem Datenbankkatalog lesen und die Befehlssprachendatei schreiben, um drei Objekte der Objektart MEINTAB zu generieren.
Angenommen, die Tabellen haben folgende Merkmale:
Quellenname | Tabellenname | Tabellenbeschreibung | Eigner |
---|---|---|---|
MEINDAT | PERSONAL | Personaldaten über Mitarbeiter | LONGO |
MEINDAT | VERKAUF | Daten über die bisherigen Verkäufe im Jahr 2000 | VALDEZ |
MEINDAT | KUNDEN | Versandinformationen für Kunden | MARSH |
Das Extrahierungsprogramm muß die in Abbildung 12 gezeigten Befehle erzeugen, die Sie in der Befehlssprachendatei nach den Befehlen einfügen müssen, mit denen die Objektart definiert wird.
Abbildung 12. Befehlssprachenausgabe für die Objektart MEINTAB
:ACTION.OBJINST(ADD) :OBJECT.TYPE(MEINTAB) :INSTANCE.NAME(Personaldaten) DQNAME(MEINDAT) TABNAME(PERSONAL) TABBESCH(Personaldaten über Mitarbeiter) TABOWNER(LONGO) :INSTANCE.NAME(Verkäufe nach Jahren) DQNAME(MEINDAT) TABNAME(VERKAUF) TABDESC(Daten über die Verkäufe 1997) TABOWNER(VALDEZ) :INSTANCE.NAME(Versandinformationen) DQNAME(MEINDAT) TABNAME(KUNDEN) TABBESCH(Versandinformationen für Kunden) TABOWNER(MARSH) |
Vorhandene Objektartdefinitionen wiederverwenden: Die Befehlssprachendatei, die zum Erzeugen der mit Information Catalog Manager gelieferten Objektartdefinitionen verwendet wurde, kann in Ihre eigenen Extrahierungsprogramme kopiert oder aufgenommen werden. Die Befehlssprachendatei befindet sich im Verzeichnis SQLLIB\DGWIN\TYPES auf dem Laufwerk, auf dem die DB2 Universal Database installiert ist. Weitere Informationen zu anderen in der Data Warehouse-Zentrale enthaltenen Metadatenschablonen finden Sie in der Veröffentlichung Data Warehouse Center Application Integration Guide.
Extrahierungsprogramme werden häufig eingesetzt, um beschreibende Daten zu extrahieren, wenn der Informationskatalog aktualisiert wird. In diesem Fall müssen Sie darauf achten, daß die Objektarten und Objekte so gemischt werden, daß beim Importieren der Befehlssprachendatei nicht immer neue Objekte hinzugefügt werden.
Enthalten zwei Informationskataloge dieselben Objektarten, müssen die Objektarten gemischt werden, bevor Objekte gemischt werden können. Auch sollten Objektarten gemischt werden, wenn nicht eindeutig feststeht, daß die Informationskataloge dieselben Objektarten enthalten.
Angenommen, der Inhalt eines Informationskatalogs (die Quelle), der die Objektart "Tabelle" beinhaltet, soll in einen anderen Informationskatalog (das Ziel) importiert werden, der ebenfalls die Objektart "Tabelle" beinhaltet. Wissen Sie jedoch nicht genau, ob die Objektarten identische Merkmale aufweisen. Die Objektartdefinitionen müssen übereinstimmen, wenn Sie Objekte mischen möchten. Haben die Objektarten übereinstimmende Merkmale, kann das Mischen ohne Probleme erfolgen. Stimmen die Merkmale nicht überein, müssen die UUI-Merkmale identisch sein, und alle Merkmale der Objektart im Quellen-Informationskatalog müssen mit Merkmalen der Objektart im Ziel-Informationskatalog übereinstimmen.
Hat die Objektart im Quellen-Informationskatalog mehr Merkmale als die Objektart im Ziel-Informationskatalog, kann die Objektart des Ziel-Informationskatalogs aktualisiert werden, bevor die beiden Informationskataloge gemischt werden.
Das Extrahierungsprogramm muß Befehle zum Mischen der Objektarten und Objekte erstellen (siehe Abbildung 13). Beim Mischen aktualisiert Information Catalog Manager weder den externen Namen noch das Symbol einer Objektart.
Abbildung 13. Befehlssprachenausgabe zum Mischen von Objektarten
:ACTION.OBJTYPE(MERGE) :OBJECT.TYPE(Kurzname_der_Objektart) CATEGORY(Kategorie_der_Objektart) EXTNAME(Erweiterter_Name_der_Objektart) ICOFILE(OS/2-Symboldateiname) ICWFILE(Windows-Symboldateiname) :PROPERTY.SHRTNAME(Kurzname) DT(Datentyp) DL(Länge) UUISEQ(Position_in_UUI) NULLS(y_oder_n) EXTNAME(Erweiterter_Name) |
Einschränkung
Die Objektarten "Programme" und "Kommentare" können nicht gemischt werden.
Zum Mischen von Objekten muß das Extrahierungsprogramm die in Abbildung 14 gezeigten Befehle erstellen.
Abbildung 14. Befehlssprachenausgabe zum Mischen von Objekten
:ACTION.OBJINST(MERGE) :OBJECT.TYPE(Kurzname_der_Objektart) :INSTANCE.NAME(Erweiterter_Name_des_Objekts) UUI-Kurzname(Wert_für_Merkmal) . . Kurzname(Wert_für_Merkmal) . . |
Wenn Information Catalog Manager eine Befehlssprachendatei importiert, speichert es die in der Befehlssprachendatei definierten beschreibende Daten auf der Informationskatalog-Datenbank. Information Catalog Manager schreibt diese hinzugefügten beschreibenden Daten jedoch erst dann in der Datenbank fest, wenn das Ende einer Befehlssprachendatei erreicht ist. Information Catalog Manager sucht einen Prüfpunkt-Befehl (:COMMIT.), mit dem ein COMMIT-Aufruf (Festschreibungsaufruf) an die Datenbank abgesetzt wird. Ist die Befehlssprachendatei sehr lang, sollte das Extrahierungsprogramm in regelmäßigen Abständen den Befehl :COMMIT. in die Befehlssprachendatei einfügen. Innerhalb der Befehlssprachendatei müssen alle Prüfpunktbefehle eine eindeutige Kennung haben.
Beispiel: Das Extrahierungsprogramm soll immer einen Befehl :COMMIT. nach der vollständigen Angabe eines Befehls :ACTION. einfügen (d.h. nach allen zur Angabe einer Aktion erforderlichen Daten). Das Programm kann den Befehl :COMMIT. in die Befehlssprachendatei stellen, wenn das Programm alle zum Erstellen einer Objektart oder eines Objekts erforderlichen Befehle generiert hat.
Tritt während des Importierens der Befehlssprachendatei ein Fehler auf, müssen Sie den Rest der Befehlssprachendatei ab dem letzten erfolgreich festgeschriebenen Prüfpunkt erneut importieren. Information Catalog Manager führt bis zum letzten erfolgreich festgeschriebenen Prüfpunkt eine ROLLBACK-Operation für die Datenbank durch (alle ab dem letzten erfolgreich festgeschriebenen Prüfpunkt vorgenommenen Änderungen werden rückgängig gemacht). Wenn Sie diese Datei erneut importieren, können Sie angeben, daß Information Catalog Manager das Importieren ab dem letzten erfolgreich festgeschriebenen Prüfpunkt fortsetzen soll. Beispielsweise können Sie das Programm so schreiben, daß der folgende Prüfpunkt nach den Befehlen zum Erstellen der Objektart in der Befehlssprachendatei eingerichtet wird:
:COMMIT.CHKPID(Objektart1)
Wenn das Extrahierungsprogramm Werte für die Merkmale generiert, entfernt Information Catalog Manager die führenden Leerzeichen nicht. Generiert das Programm zum Beispiel TABNAME( PERSONAL) anstelle von TABNAME(PERSONAL) für ein Merkmal, das maximal 8 Byte lang sein darf, gibt Information Catalog Manager eine Fehlernachricht zurück, da der Wert 10 Byte lang ist und somit die für das Merkmal TABNAME in der Definition der Objektart festgelegte Länge von 8 Byte überschreitet.
Wenn das Extrahierungsprogramm eine Befehlssprache für Werte mit runden Klammern generiert, muß es diese runden Klammern zwischen einfache Anführungszeichen setzen. Andernfalls werden diese runden Klammern als Begrenzer interpretiert. Ist der Wert des Merkmals RUFNUM beispielsweise die Rufnummer (0123) 456789, muß das Extrahierungsprogramm diesen Wert wie folgt darstellen: RUFNUM('('0123')' 456789).
Importiert Information Catalog Manager eine Befehlssprachendatei, werden alle Zeichen ignoriert, deren Hexadezimalwert kleiner als X'20' ist. Die beschreibenden Daten dürfen nur alphanumerische Zeichen oder Zeitmarken enthalten.