Sql - Programma di interfaccia a Sql e Db2

Sql e' stato creato con i seguenti obiettivi:

Programma Sql

Mediante questo programma si può facilmente accedere alle tabelle DB2 sia del CICS che dell'utente.
Lanciando il comando Sql viene visualizzata la seguente barra di menù : File Tables Sql Data Security Help

Menu File

File
+-------------------+
| Set directory...  |
| ----------------  |
| Connect to...     |
| Connect...        |
| Connect Reset     |
| ----------------  |
| Vi file...        |
| Spread a file...  |
| ----------------  |
| Quit              |
+-------------------+

Menu Tables

Da questo menu si possono eseguire le operazioni di routine, cioè visualizzare le tabelle ed i loro contenuti in modo molto veloce e semplificato.
 Tables
+-------------------+
| tables...         |
| ---------------   |
| SYSIBM tables...  |
| SYSCAT tables...  |
| ---------------   |
| tablespaces...    |
| indexes...        |
+-------------------+

Tables

Nella figura seguente si vede un esempio di output selezionando la voce tables...
+- DB2 TABLES ------------------------------------------------------+
^ ZZTFUNR            ZZ       T    ARCHIVIOFUNZIONI                 |
| ZZTGRPR            ZZ       T    ARCHIVIO GRUPPI DI LAVORO(PER    |
| ZZTHLPR            ZZ       T    ARCHIVIOHELP                     |
[.....]
| ZZTRLMR            ZZ       T    RICHIESTE DI RICARICO LOGMODU    |
| ZZTSICR            ZZ       T    ARCHIVIO GESTIONESICUREZZA       |
# ZZTTERR            ZZ       T    ARCHIVIOTERMINALI                |
v ZZTTTER            ZZ       T    ARCHIVIO   TIPOTERMINALI         |
+- 1SEL * ------ 3GETFLD------ 5SPREAD------ 7MOVE  ------ 9DROP  --+
Le tabelle visualizzate sono quelle utente e quelle relative alla regione CICS selezionata.
Da questa tabella sono disponibili mediante i tasti funzioni sulla tabella selezionata mediante i tasti cursore e visualizzata in reverse le operazioni di utilizzo più frequente:

Select *

Con il tasto funzione F1 compare una finestra che contiene il risultato di una SELECT * dalla tabella selezionata, la visualizzazione è però limitata ad 80 caratteri, per cui non si possono vedere i campi oltre questo limite.
Può essere utilizzata per controllare velocemente il numero di record presenti e la tipologia dei primi campi, ove tipicamente risiedono le chiavi di ricerca.

Get Field

Selazionando il tasto funzione F3, sulla tabella ZZTISTR compare la seguente finestra:
+- FIELDS of ZZ.ZZTISTR ---------------------------------------------------
^ NAME               COLTYPE  LENGTH REMARKS
# ------------------ -------- ------ --------------------------------------
| CIST               DECIMAL       5 CODICE ABI DELL" ISTITUTO
| CBAN               DECIMAL       5 CODICE ABI DELL" ISTITUTO
| CTERINS            CHAR          8 LOG INSERIMENTO TERMINALE
| COPRINS            CHAR          8 LOG INSERIMENTO OPERATORE
| DDATINS            DECIMAL       9 LOG INSERIMENTO DATA (SSAAMMGG
| OORAINS            DECIMAL       7 LOG INSERIMENTO ORA (HHMMSS)
| CTERAGG            CHAR          8 LOG AGGIORNAMENTO TERMINALE
| COPRAGG            CHAR          8 LOG AGGIORNAMENTO OPERATORE
| DDATAGG            DECIMAL       9 LOG AGGIORNAMENTO DATA (SSAAMM
| OORAAGG            DECIMAL       7 LOG AGGIORNAMENTO ORA (HHMMSS)
| ZIST               CHAR         40 DESCRIZIONE
| ZISTRID            CHAR         20 DESCRIZIONE RIDOTTA
| ZSYS               CHAR          8 NOME SISTEMA
| CFUNSTA            CHAR          4 FUNZIONE DI PARTENZA
| CLNG               DECIMAL       3 LINGUA
| SSIC               DECIMAL       1 TRATTAMENTO SICUREZZA
| COPRMOD            CHAR          8 OPERATORE MODELLO
v SAIRGES            CHAR          1 SWITCH GESTIONE ISTITUTO DI
+- 1CLEAR  2ADD    3DEL    4SELECT 5VIEW  ---------------------------------
Da questa finestra mediante i tasti cursore ed i tasti funzione è possibile effettuare una sorta di select mirato sui campi della tabella.
Infatti con i tasti F1 ed F2 si può aggiungere o togliere campi ad una lista di SELECT, che può essere visualizzata poi mediante il tasto F4. I campi selezionati con F2 vengono evidenziati da un * prima del nome.
In questo modo si possono visualizzare solamente alcuni campi interessanti.
Premendo il tasto F1 si rimuove tutte le selezioni effettuate, mentre premendo F5 si può vedere il comando SQL corrispondente alla select impostata.
ATTENZIONE: i campi vengono presentati a video nell'ordine cronologico di selezione, non nell'ordine dei campi.
Allo stesso modo selezionando le opzioni tablespaces... e la voce indexes... è possibile vedere i relativi componenti.

Spread

Con questo comando il risultato del comando SELECT * sulla tabella evidenziata, viene inserito in uno spreadsheet (o foglio elettronico) dal quale è possibile effettuare la visione dei dati.

Move

Da questa voce è possibile eseguire la copiatura dei dati da una tabella di un database ad un altra tabella di un altro database.
L'utilizzo tipico di questa opzione è il riempimento di un tabella nel database di Sviluppo con i dati presenti nella stessa tabella nel database in Produzione.

Drop

La voce Drop provvede alla cancellazione della tabella selezionata.

SYSIBM Tables

Opera sostanzialmente come il menu precedente, ma solo per le tabelle di sistema del DB2 appartenenti a SYSIBM.

SYSCAT Tables

Opera sostanzialmente come il menu precedente, ma solo per le tabelle di sistema del DB2 appartenenti a SYSIBM.

TableSpaces

Consente la visualizzazione dei TableSpaces esistenti.

Indexes

Consente la visualizzazione degli indici esistenti.

Menu Sql

Sql
+------------+
| Select...  |
| Delete...  |
| Insert...  |
| Update...  |
| ---------  |
| Import...  |
| Export...  |
+------------+
Da questo menu è possibile effettuare operazioni SQL verso il DB2.
La prima serie di 4 voci corrisponde uno a uno al rispettivo comando SQL, mentre le ultime due voci consentono di esportare ed importare il contenuto di una tabella utilizzando files di appoggio in vari formati, di cui viene di solito utilizzato il formato DEL, che corrisponde ad ASCII DELIMITED.

Select

+- SQL SELECT -----------------------------------------------------------+
|                                                                        |
| SELECT     ?  *                                                        |
| FROM       ?                                                           |
| WHERE      ?                                                           |
| GROUP BY   ?                                                           |
| HAVING     ?                                                           |
| ORDER BY   ?                           ASC/DESC   ?  ASC               |
|                                                                        |
|     [  OK  ]                           [Cancel]                        |
|                                                                        |
+------------------------------------------------------------------------+
I dati inseriti sono mantenuti finche il programma è attivo.

Delete

+- SQL DELETE -----------------------------------------------------------+
|                                                                        |
| DELETE FROM  ?                                                         |
| WHERE        ?                                                         |
|                                                                        |
|     [  OK  ]                           [Cancel]                        |
|                                                                        |
+------------------------------------------------------------------------+
I dati inseriti sono mantenuti finche il programma è attivo.

Insert

+- SQL INSERT -----------------------------------------------------------+
|                                                                        |
| INSERT INTO TABLE ?                                                    |
| fields            ?                                                    |
| VALUES            ?                                                    |
|                                                                        |
|     [  OK  ]                           [Cancel]                        |
|                                                                        |
+------------------------------------------------------------------------+
I dati inseriti sono mantenuti finche il programma è attivo.

Update

+- SQL UPDATE -----------------------------------------------------------+
|                                                                        |
| UPDATE TABLE     ?                                                     |
| SET              ?                                                     |
| WHERE            ?                                                     |
|                                                                        |
|     [  OK  ]                           [Cancel]                        |
|                                                                        |
+------------------------------------------------------------------------+
I dati inseriti sono mantenuti finche il programma è attivo.

Import

Mediante Import... il contenuto di un file viene letto ed inserito nella tabella indicata.
+- IMPORT ---------------------------------------------------------------+
|                                                                        |
| IMPORT FROM FILE ?                                                     |
| OF {ASC|DEL|IXF} ?  ASC                                                |
| INSERT/REPLACE   ?  INSERT                                             |
| INTO TABLE       ?                                                     |
|                                                                        |
|     [  OK  ]                           [Cancel]                        |
|                                                                        |
+------------------------------------------------------------------------+
sono presentati dei default che corrispondono alle operazioni più eseguite.
Il formato di import ha il seguente significato:

Export

Mediante Export... il contenuto della tabella selezionata viene inserito nel file con il formato indicato.
+- EXPORT ---------------------------------------------------------------+
|                                                                        |
| EXPORT TO FILE    ?  export.out                                        |
| OF {IXF|DEL|WSF}  ?  DEL                                               |
| SELECT statement  ?  select * from                                     |
|                                                                        |
|     [  OK  ]                           [Cancel]                        |
|                                                                        |
+------------------------------------------------------------------------+
sono presentati dei default che corrispondono alle operazioni più eseguite.

Menu Data

Dal menu Data si può operare sugli elementi fisici e logici del database. Alcune operazioni sono possibili solamente all’amministratore AIX.
Data
+-----------------------+
| Alter table...        |
| Comment on...         |
| Create view...        |
| Create table...       |
| Describe...           |
| Drop table...         |
| Drop synonym...       |
| Drop view...          |
| Include...            |
| Label on...           |
| --------------------  |
| Alter index...        |
| Alter stogroup...     |
| Alter tablespace...   |
| Create database ...   |
| Create index...       |
| Create stogroup...    |
| Create tablespace...  |
| Drop database ...     |
| Drop index...         |
| Drop stogroup...      |
| Drop tablespace...    |
+-----------------------+
+- SQL create table ----------------------------------------------------+
|                                                                       |
| CREATE TABLE  ?                                                       |
| fields        ?                                                       |
| IN DATABASE   ?                                                       |
|                                                                       |
|     [  OK  ]                                             [Cancel]     |
|                                                                       |
+-----------------------------------------------------------------------+
+- SQL create database -------------------------------------------------+
|                                                                       |
| CREATE DATABASE          ?                                            |
| WITH (entry a comment)   ?                                            |
|                                                                       |
|     [  OK  ]                                             [Cancel]     |
|                                                                       |
+-----------------------------------------------------------------------+
+- SQL create tablespace -----------------------------------------------+
|                                                                       |
| CREATE TABLESPACE            ?                                        |
| MANAGED by {SYSTEM|DATABASE} ?  SYSTEM                                |
| USING (an empty directory)   ?                                        |
|                                                                       |
|     [  OK  ]                                             [Cancel]     |
|                                                                       |
+-----------------------------------------------------------------------+

Menu Security

Da questo menu è possibile accedere ad operazioni relative alla sicurezza.
Security
+----------------+
| Grant...       |
| Revoke...      |
| Lock table...  |
| Commit...      |
| Rollback...    |
+----------------+
+- SQL grant -------------------------------------------------------------+
|                                                                         |
| GRANT {SELECT|UPDATE|ALTER|DELETE|INDEX|INSERT} ?                       |
| ON TABLE                                        ?                       |
| TO USER                                         ?                       |
|                                                                         |
|     [  OK  ]                           [Cancel]                         |
|                                                                         |
+-------------------------------------------------------------------------+
+- SQL revoke ------------------------------------------------------------+
|                                                                         |
| REVOKE {SELECT|UPDATE|ALTER|DELETE|INDEX|INSERT} ?                      |
| ON TABLE                                         ?                      |
| TO USER                                          ?                      |
|                                                                         |
|     [  OK  ]                                              [Cancel]      |
|                                                                         |
+-------------------------------------------------------------------------+

Menu Help

Da questo menu si accede ad un mini help.

Modalità da linea di comando

Si possono attivare alcune delle operazioni dalla linea di comando per semplificare alcuni casi.
Le opzioni disponibili sono:
Sql table Corrisponde a Sql-->Tables-->Tables... e stampa a video l'elenco delle tabelle configurate con l'utente e la descrizione.
Sql seltable [creator] [table] Consente di eseguire una select * su una tabella table creata dall'utente creator.

Esempi

un esempio

Porting

Sono disponibili i seguenti porting: