Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2017-04-08 Tutorial 15 DB2 und QMF © Abteilung Technische Informatik, Institut für Informatik, Universität Leipzig © Abteilung Technische Informatik, Wilhelm Schickard Institut für Informatik,Universität Tübingen 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 F9=Swap Abbildung 1: "ISPF Primary Option Menu" 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 1 Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2017-04-08 6 IPCS 7 DITTO 8 RMF 9 DFSORT 10 OMVS 11 DB2 12 RRS 13 DB2ADM 14 QMF 15 MQ 16 FMN 17 WLM Option ===> F1=Help F10=Actions Interactive Problem Control System DITTO/ESA for MVS Version 1 Resource Measurement Facility Data Facility Sort MVS OpenEdition Data Base Products Resource Recovery Services Data Base Admin Tool Query Management Facility WMQ Series Operations and Control File Manager 3.1.0perations and Control Workload Manager 14 F2=Split F3=Exit F7=Backward F8=Forward F12=Cancel F9=Swap 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" 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 2 1 Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2017-04-08 *** 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. REPORT VNAME -------------------SANTA MAX TES LINE 1 NNAME -------------------CLAUS MUSTER TER *** END *** 3 POS 1 79 Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2017-04-08 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 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 | 4 Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2017-04-08 | 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). 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 5=Chart 11=Right 6=Query 12= SCROLL ===> PAGE Tutorial 15: "DB2 und QMF" (z/OS 1.5) - v01-2017-04-08 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