Sql - Programma di interfaccia a Sql e Db2
Sql e' stato creato con i seguenti obiettivi:
- interfacciare semplicemente il Database DB2
- interfacciare semplicemente il le tabelle
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:
- F1 Select * esegue un select * sulla tabella selezionata
- F3 Get Field mostra in una altra finestra tutti i campi della tabella con le relative caratteristiche
- F5 Spread visualizza i dati mediante uno spreadsheet
- F7 Move muove i dati in un altro database e/o tabella
- F9 Drop cancella la tabella
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:
- ASC file ASCII
- DEL file ascii delimitato
- IXF interchange format
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: