Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2005-11-03 Tutorial 15 DB2 und QMF Copyright © Abt. Computersysteme, Institut für Informatik, Universität Leipzig Ziel dieses Tutorials ist es, auf eine z/OS - DB2 relationale Datenbank über die DB2 Query Management Facility (QMF) zuzugreifen und sie auszulesen. In den hier beschriebenen Schritten wird auf die bereits in Tutorial 4 erstellte DB2 Datenbank zugegriffen. Diese wird ausgelesen und durch einen weiteren Eintrag ergänzt. Aufgabe: Beschäftigen Sie sich mit diesem Tutorial und lösen Sie exakt und gewissenhaft die kursiv geschriebenen und umrahmten Aufgaben. Nachdem wir uns als TSO-Benutzer eingeloggt haben, wählen wir aus dem "ISPF PRIMARY OPTION MENU" die Option "m" aus (s. Abbildung 1). Nun erscheint das „IBM Products Panel“ (s. Abbildung 2) . Menu Utilities Compilers Options Status Help -----------------------------------------------------------------------------ISPF Primary Option Menu 0 1 2 3 4 5 6 7 9 10 11 M Settings View Edit Utilities Foreground Batch Command Dialog Test IBM Products SCLM Workplace More Terminal and user parameters Display source data or listings Create or change source data Perform utility functions Interactive language processing Submit job for language processing Enter TSO or Workstation commands Perform dialog testing IBM program development products SW Configuration Library Manager ISPF Object/Action Workplace Additional IBM Products User ID . : Time. . . : Terminal. : Screen. . : Language. : Appl ID . : TSO logon : TSO prefix: System ID : MVS acct. : Release . : PRAKT22 11:16 3278 1 ENGLISH ISR ISPFPROC PRAKT22 P390 ACCT# ISPF 5.5 Enter X to Terminate using log/list defaults Option ===> m F1=Help F2=Split F10=Actions F12=Cancel F3=Exit F7=Backward F8=Forward Abbildung 1: "ISPF Primary Option Menu" 1 F9=Swap Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2005-11-03 Menu Help -----------------------------------------------------------------------------IBM Products Panel More: + 1 SMP/E System Modification Program/Extended 2 ISMF Integrated Storage Management Facility 3 RACF Resource Access Control Facility 4 HCD Hardware Configuration Dialogs 5 SDSF Spool Search and Display Facility 6 IPCS Interactive Problem Control System 7 DITTO DITTO/ESA for MVS Version 1 8 RMF Resource Measurement Facility 9 DFSORT Data Facility Sort 10 OMVS MVS OpenEdition 11 DB2 Data Base Products 12 RRS Resource Recovery Services 13 DB2ADM Data Base Admin Tool 14 QMF Query Management Facility 15 MQ WMQ Series Operations and Control 16 FMN File Manager 3.1.0perations and Control 17 WLM Workload Manager Option ===> 14 F1=Help F2=Split F3=Exit F7=Backward F8=Forward F9=Swap F10=Actions F12=Cancel Abbildung 2: "IBM Products Panel" Hier wählen wir die Option 14 (QMF) um zur „Query Management Facility“ zu gelangen. Mit Enter bestätigen und wie in Abbildung 3 gezeigt durch drücken von F6 zur Query Eingabe wechseln. ______________________________________________________________________________ Licensed Materials - Property of IBM 5675-DB2 5697-F42 (C) Copyright IBM Corp. 1982, 2000 All Rights Reserved. IBM is a registered trademark of International Business Machines ______________________________________________________________________________ QMF HOME PANEL Version 7 Release 1 Authorization ID PRAKT22 Connected to DALLAS7 Query Management Facility ****** ** ** ******** ___ ** ** *** *** ** ___ ** ** **** **** ******* ___ ** ** ** ** ** ** ** ___ ** * ** ** **** ** ** ___ ****** ** *** ** ** ______ ** ___________________________________ Enter a command on the command line or press a function key. For help, press the Help function key or enter the command HELP. ______________________________________________________________________________ 1=Help 2=List 3=End 4=Show 5=Chart 6=Query 7=Retrieve 8=Edit Table 9=Form 10=Proc 11=Profile 12=Report OK, you may enter a command. COMMAND ===> Abbildung 3: "Query Management Facility" 2 Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2005-11-03 Der Query-Bildschirm sieht aus, wie in Abbildung 4 gezeigt. In den Bereich zwischen „SQL QUERY“ und „*** END ***“ fügt man den Query ein. Er kann beliebig lang sein und sich über mehrere Zeilen erstrecken, solange er nicht über diesen Bereich hinaus reicht. Abgeschlossen wird ein Query mit dem bei SQL üblichen Semikolon. Es können auch mehrere Queries auf einmal, jeweils durch ein Semikolon getrennt, eingegeben werden um sie direkt hintereinander auszuführen. SQL QUERY LINE 1 *** END *** 1=Help 2=Run 7=Backward 8=Forward OK, QUERY is displayed. COMMAND ===> 3=End 9=Form 4=Print 10=Insert 5=Chart 11=Delete 6=Draw 12=Report SCROLL ===> PAGE Abbildung 4: "Query Eingabe" SQL QUERY LINE 1 SELECT * FROM PRAKT22.TAB022; *** END *** 1=Help 2=Run 7=Backward 8=Forward OK, QUERY is displayed. COMMAND ===> 3=End 9=Form 4=Print 10=Insert 5=Chart 11=Delete 6=Draw 12=Report SCROLL ===> PAGE Abbildung 5: "Select Query 1" Wir wollen nun auf die Datenbank, die wir in z/OS Tutorial 4 angelegt haben mit einem Select-Statement zugreifen. Dabei soll die ganze Tabelle ausgegeben werden (s. Abbildung 5). Der Query wird mit F2 gestartet. 3 Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2005-11-03 REPORT VNAME -------------------SANTA MAX TES LINE 1 POS 1 79 NNAME -------------------CLAUS MUSTER TER *** END *** 1=Help 2= 3=End 4=Print 7=Backward 8=Forward 9=Form 10=Left OK, this is the REPORT from your RUN command. COMMAND ===> 5=Chart 11=Right 6=Query 12= SCROLL ===> PAGE Abbildung 6: "SQL Report 1" Das Resultset unseres Query's sieht dann in etwa so aus wie in Abbildung 6 gezeigt wird. Nun, da wir einen ersten Query auf unsere Datenbank mit QMF ausgeführt haben, wollen wir einen Blick darauf werfen, was mit der QMF noch möglich ist. Als nächstes wollen wir einen neuen Eintrag in unsere Datenbank einfügen. Wir werden einen neuen Namen zu unserer bereits bestehenden Tabelle hinzufügen. Hierzu wird der SQLBefehl INSERT benutzt. Wir kehren also mit F6 zum Query Bildschirm zurück und geben den in Abbildung 7 gezeigten Befehl ein. Das Ausführen erfolgt wieder mit F2. SQL QUERY MODIFIED LINE 1 INSERT INTO TAB022 VALUES VALUES ('RUMPEL', 'STILZCHEN'); *** END *** 1=Help 2=Run 7=Backward 8=Forward OK, QUERY is displayed. COMMAND ===> 3=End 9=Form 4=Print 10=Insert 5=Chart 11=Delete 6=Draw 12=Report SCROLL ===> PAGE Abbildung 7: "SQL Insert" Nachdem wir F2 gedrückt haben werden wir mit einer Meldung konfrontiert, die uns davor warnt, dass mit dem Query der Inhalt der Datenbank modifiziert wird. Wir akzeptieren dies 4 Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2005-11-03 und bestätigen die Option 1 im Auswahlmenü (s. Abbildung 8) mit Enter. Unser SQL-Befehl wird nun endgültig ausgeführt und der neue Eintrag in der Datenbank vorgenommen. Nun wollen wir noch nachprüfen, ob der Befehl auch wirklich ausgeführt wurde. Wir führen daher wieder einen Select-Query auf die Datenbank aus, wie bereits weiter oben beschrieben (s. Abbildung 9). SQL QUERY MODIFIED LINE 1 +----------------------------------------------------------------------+ | RUN Confirmation | IN | | | WARNING: | | Your RUN command modified this number of rows in the | | database: 1 | | | | Do you want to make this change? | | 1 1. YES - Make the changes permanent in the database. | | 2. NO - Restore the table to what it was before the query | | was run; make no changes. This option is only in effect if your | | data is in recoverable storage pool. | +----------------------------------------------------------------------+ | F1=Help F12=Cancel | +----------------------------------------------------------------------+ QUERY MESSAGES: FUNCTION VALUES was not found. *** END *** Please follow the directions on the confirmation prompt panel. Abbildung 8: "SQL Warnung" SQL QUERY MODIFIED LINE 1 SELECT * FROM PRAKT22.TAB022; *** END *** 1=Help 2=Run 3=End 4=Print 7=Backward 8=Forward 9=Form 10=Insert OK, number of rows modified in the database: 1. COMMAND ===> 5=Chart 11=Delete 6=Draw 12=Report SCROLL ===> PAGE Abbildung 9: "Select Query 2" Das Ergebnis unserer Anfrage ist wieder die Ausgabe der Tabelle aus dem ersten Select Query ergänzt um unseren neuen Eintrag (s. Abbildung 10). 5 Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2005-11-03 REPORT VNAME -------------------SANTA MAX TES RUMPEL LINE 1 POS 1 79 NNAME -------------------CLAUS MUSTER TER STILZCHEN *** END *** 1=Help 2= 3=End 4=Print 7=Backward 8=Forward 9=Form 10=Left OK, this is the REPORT from your RUN command. COMMAND ===> 5=Chart 11=Right 6=Query 12= SCROLL ===> PAGE Abbildung 10: "SQL Report 2" Aufgabe: Führen Sie alle Schritte auf Ihrem Account durch.. Ersetzen sie PRAKT22 und TAB022 entsprechend durch Ihre eigene Benutzerkennung. Sollten Sie Tutorial 4 noch nicht durchgeführt haben, bearbeiten Sie zunächst z/OS Tutorial 4. Aufgabe: Erstellen Sie zwei Screenshots entsprechend den Abbildungen 6 und 10, die alle Einträge Ihrer Tabelle zeigen. Schicken Sie anschließend beide Screenshots an Ihren Tutor. Bitte beachten Sie, dass die Screenshots jeweils nicht größer sind als 250 Kbyte. Dazu eignet sich das JPEG Format (notfalls auch BMP). Bitte achten Sie darauf, dass die Screenshots für Ihren Tutor gut lesbar sind. 6