[ Pagina Principale || Redazione || Informazioni || Vai a... ]

IBM DATABASE 2 OS/2

di Paolo Tortiglione

Nel vasto panorama dei database oggi presenti sul mercato, esiste di certo una discreta carenza di tali applicativi in ambiente OS/2. E certo l'IBM non poteva tardare a presentare alla grande utenza un proprio database relazionale studiato non solo per la piattaforma PC, ma anche per il collegamento ad host. Continuiamo quindi la nostra analisi sui servizi aggiuntivi di OS/2 3.0 parlando questa volta del nuovissimo nato in casa IBM: si tratta del DB2/2. In nome esatto è DATABASE 2 OS/2 e segue il famoso DataBase Manager dei servizi estesi di OS/2 le cui funzionalità sono ben note agli sviluppatori e agli amministratori di rete. Ma la vera novità sta nel fatto che il DATABASE 2 è disponibile ora in due versioni: la versione Utente Singolo e la versione Utenza/Servente. Entrambe le versioni hanno ovviamente le stesse caratteristiche di database relazionale, per cui coprono entrambe tutte le possibili esigenze, anche quelle dell'utente più esperto! La versione Utenza/Servente dà peraltro una serie di funzioni aggiuntive tra cui vogliamo ricordare:

1) Un modulo ridistribuibile che offre la funzione di abilitazione come Client di Query Manager in ambiente OS/2 3.0.
2) Un modulo ridistribuibile che offre la funzione di abilitazione come Client del Database in ambiente DOS/WINDOWS ed ovviamente OS/2.
3) La funzione fondamentale di Database Server.
4) Il supporto per il DBCS (Double Byte Character Set) per i paesi esteri che usano tale sistema come Giappone, Corea ecc.

Il DB2/2 soddisfa quindi le esigenze sia dell'utente finale che quelle dei programmatori più esperti dato che il prodotto include, come vedremo in seguito, i precompilatori e le interfacce API di programmi applicativi che consentono al programmatore di scrivere ed installare tramite DB2/2 le proprie applicazioni.

LA "FILOSOFIA" DEL DB2/2

Il Database2 OS/2 è composto principalmente da quattro elementi fondamentali:

1) Le utilità per la gestione dei Database (DBA Services).
2) I Servizi di Database veri e propri.
3) I Servizi per l'accesso ai Database remoti.
4) Il Query Manager.

Analizziamo un po' più approfonditamente alcuni dettagli che meglio ci faranno comprendere la funzione di questi componenti.
Partiamo dai Database Services in quanto sono proprio questi che forniscono le funzioni fondamentali del DB2/2: il controllo dell'accesso ai dati stessi, la gestione di tali dati, la creazione di pacchetti (ovvero la gestione di percorsi determinati per l'accesso e la consultazione dei dati), la gestione delle transazioni ed i controlli necessari quando in rete si verifica un accesso simultaneo ai dati in modo da garantirne la integrità.
Altri elementi fondamentali dei Servizi di Database sono i file di configurazione, i cataloghi di sistema, e gli "oggetti" veri e propri del database sui quali l'utente è abituato a lavorare come le tabelle, le viste, gli indici ecc. (vedi Fig.1).


Fig. 1 - Le Icone del DATABASE 2 OS/2 e le utility pricipali per il recupero.

Il database è relazionale in quanto è composto da una o più tabelle le quali possono avere indici associati ad una o più colonne. Tutte le interrogazioni si possono anche ottenere ovviamente anche da SQL.
Un Database relazionale quale il DB2/2 quindi organizza i dati in un insieme di distinte tabelle le quali sono a loro volta composte da un preciso numero di colonne da un infinito numero di righe (il lettore avrà notato la stretta analogia tra i campi ed i record di altri database relazionali). Un Database nella sua interezza è definito da un numero preciso di differenti tabelle appartenenti ai cataloghi del sistema i quali a loro volta descrivono la struttura fisica e logica di tali dati, da un file di registrazione per il recupero delle transazioni in corso e da un file di configurazione che contiene tutti i valori dei parametri assegnati al database.
La tabella invece essendo costituita da dati disposti logicamente in colonne e righe è accessibile tramite riferimento ai dati stessi piuttosto che la loro locazione di memoria. Una tabella DB2 può contenere fino a 2GB di dati ed essere divisa fino a 255 colonne. Mentre l'Indice è, come negli altri Database, usato per rendere maggiormente agevole l'accesso ai dati, la "Vista" invece ha una grande importanza in quanto consiste in una rappresentazione dei dati alternativa e può anche essere costituita dalla fusione di più tabelle, può includere un qualsiasi numero di colonne e quindi si può prestare a innumerevoli utilizzi.
Il "pacchetto" è un altro oggetto del database relazionale che include tutte le informazioni necessarie per elaborare le istruzioni SQL che provengono da un singolo file.

I file di configurazione sono molto importanti in DB2/2 in quanto contengono tutti i valori dei parametri che definiscono sia le risorse di cui il DB2/2 può disporre sia le risorse dei singoli database. Si possono distinguere due tipi di file configurazione: il "file di configurazione del database" relativo ad ogni singolo database ed il "file di configurazione del Database Manager" che è relativo all'intero DB2/2.
Il primo file di configurazione viene creato al momento della creazione del singolo database ed ogni database ha il suo proprio. I parametri specificati in tale file specificano le risorse assegnate e possono essere soggetti a modifica per migliorare le prestazioni del database in ambienti diversi dall'originario dipendentemente dal tipo di attività che l'utente finale desidera svolgere.
Il secondo file di configurazione, quello del Database Manager, viene creato solo se vengono installati i Servizi di Database e contiene i parametri necessari al sistema DB2/2 per una singola installazione (vedi Fig.2).


Fig. 2 - Attraverso le utilità di configurazione è possibile modificare qualsiasi parametro per la gestione del Database Manager.

La "filosofia" con cui opera DB2/2 non si esaurisce certo qui e molto importanti sono anche le tabelle dei cataloghi di sistema sulle quali faremo qui solo una rapida analisi. Il Database 2 oltre alle normali tabelle di cui abbiamo parlato sopra crea e gestisce anche gruppi di tabelle dei cataloghi di sistema per ogni database creato. Il concetto non e' forse dei più semplici. Cercando di chiarire al meglio possiamo dire genericamente che tali tabelle contengono informazioni tipo descrizione delle tabelle del database, descrizione dei pacchetti e descrizione delle singole viste create dall'utente. L'utente non se ne preoccupi troppo comunque! Tali tabelle vengono create quando una API viene richiamata in seguito ad una istruzione SQL di tipo CREATE DATABASE e vengono automaticamente aggiornate durante lo svolgimento di tutte le operazioni che sono effettuate sulle tabelle del database. Tali tabelle per ovvie ragioni di sicurezza sono protette e l'utente non può modificarle ma può tuttavia interrogarle e vederne il contenuto ai fini della manutenzione del database stesso.
L'altro componente a cui avevo accennato sopra, il Catalogo, è necessario per accedere ai database locali o ai database remoti (vedi Fig.3). Infatti una volta definito, l'accesso al database è trasparente all'utente o al programma applicativo, per cui non è necessario di seguito conoscere la locazione fisica degli archivi. Per precisione bisogna comunque dire che DB2/2, essendo un database molto sofisticato, usa ben tre tipi ti cataloghi:

1)il catalogo del database del volume che contiene il nome del database e la sua ubicazione fisica.
2) il catalogo Servizi Connessioni del database che è in funzione esclusivamente se nel sistema sono installati gli IBM SAA DDCS/2 (Distributed Database Connection Services/2) che servono alle singole stazioni di lavoro per accedere ed aggiornare i database DB2 in ambiente MVS, SQL/DS (Structured Query Language/Data System), OS/400 e tutti gli atri sistemi di archiviazione conformi alle norme DRDA (Distributed Relational Database Architecture).
3) il catalogo database di sistema contiene invece informazioni circa il nome, l'alias, la locazione fisica, il tipo (locale o remoto) proprio di ciascun database inserito nel catalogo del database del volume.
Le utilità per la gestione del Database (DBA Services) sono costituite principalmente da un'interfaccia che permette all'utente finale come all'amministratore di accedere a funzioni quali il recupero di un Database (ripristino da backup), la definizione e creazione di cataloghi di database di cui sopra e la configurazione del sistema nella sua globalità.

L'ACCESSO AI DATI ED IL QUERY MANAGER

Come accennato poco sopra l'accesso ai dati avviene normalmente tramite l'interfaccia SQL dei Database Services. La cosa interessante consiste nel fatto che DB2/2 mette a disposizione ben tre modalità per la consultazione e l'inserimento dei dati:

1) tramite il processore a riga di comandi.
2) tramite programmi applicativi.
3) tramite Query Manager.
Soffermiamoci brevemente su tali modalità. Il processore a linea di comando benché possa sembrare a prima vista il più scomodo ed il più "antiquato" offre in realtà una potenza davvero strabiliante; è possibile ad esempio emettere direttamente istruzioni SQL dal prompt di sistema oppure da un file .CMD; gestire tutte le richieste attraverso un file cronologico; richiedere l'Help in linea; accedere ai database locali o remoti ecc.
I programmi applicativi possono invece contenere istruzioni SQL per accedere ai dati oppure possono gestire direttamente le API messe a disposizione dal DB2/2 per controllare l'intero ambiente del database. Le istruzioni possono inserite in programmi scritti in linguaggio C, COBOL o FORTRAN o anche altri linguaggi ma solo usando il precompilatore di API del DATABASE 2. Queste istruzioni vengono poi eseguite dai Database Services e convertite in sequenze di operazioni interne che ottimizzano il richiamo dei dati. Ulteriormente è da sottolineare che tutte le istruzioni SQL sono immediatamente interpretate anche dal REXX per cui non essendo necessaria né precompilazione nè compilazione anche l'utente finale può tramite REXX/SQL effettuare complesse procedure di interrogazione e manutenzione delle tabelle del suo database.
Le API (Application Programming Interface) messe a disposizione riguardano le più svariate attività quali utenza/servente, ambiente, configurazione, servizi in fase di esecuzione e per i servizi DBA.
Il Query Manager fornisce invece all'utente finale una delle migliori utilità (vedi Fig.4 più sotto). Si tratta di una interfaccia per la definizione dei database, delle interrogazioni e per l'aggiornamento e l'interrogazione dei prospetti.


Fig. 4 - Il pannello principale di accesso ai dati attraverso Query Manager.

L'interfaccia è totalmente guidata e progettata per rendere il più semplice possibile l'accesso ad database agli utenti finali che non dispongono di esperienza precedente nel campo della grande elaborazione dati. I vari menù prevedono anche operazioni tipo definizione di tabelle, immissione dati, editazione dei dati nonché' una interfaccia SQL per utenti esperti. E' possibile inoltre gestire altre attività quali l'importazione ed esportazione di dati creati con un qualsiasi altro programma come DBase III+, Paradox, Lotus ecc., la creazione di profili da usare quando il programma stesso è in esecuzione ed un'interfaccia guidata per le informazioni sullo stato delle varie operazioni in corso (vedi Fig.5).


Fig. 5 - L'interfaccia amichevole per la gestione delle interrogazioni di Query Manager.

Come avete potuto leggere fino ad ora, non si tratta affatto di uno dei soliti programmi per la gestione dati, considerando che anche le richieste a livello di spazio su Hard Disk non sono certo poche: si può variare dagli 8 ai 25 MB. La documentazione è copiosa e molto ben fatta anche se la alcuni manuali sono rimasti in inglese. Gli Help in linea in formato INF comunque soddisfano come al solito anche l'utente più esigente anche se una buona conoscenza di SQL è un requisito quasi obbligatorio per poter usare al meglio tutte le funzioni avanzate.
Ci sarebbero ancora molte cose da dire e di certo la trattazione di un simile programma non può esaurirsi qui. Vi sono ancora decine di possibilità e di interessanti ed innovative caratteristiche nel campo dei database per PC. Ci proponiamo di esaurirle negli articoli che seguiranno.


[ Pagina Principale || Redazione || Informazioni || Vai a... ]
BETA - la rivista ipertestuale tecnica, copyright © 1994-95 Luciano Giustini e Fernando Carello. Tutti i diritti riservati.
Numero di accessi a questa pagina dal 29/08/95: (installazione in rete)