[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 326.   PostgreSQL: accesso attraverso PgAccess

PgAccess (1) è un componente di una libreria Tcl/Tk: LibPgTcl. A volte viene distribuito come un pacchetto autonomo, che comunque dipende dalla libreria indicata, oppure viene incluso nello stesso pacchetto della libreria. PgAccess è un programma frontale (che utilizza l'interfaccia grafica) per accedere alle funzionalità di PostgreSQL.

Prima di poter utilizzare qualunque programma frontale per PostgreSQL, occorre ricordare di configurare correttamente PostgreSQL stesso, in modo che questo consenta gli accessi previsti.

PgAccess è costituito in pratica dall'eseguibile pgaccess, che si utilizza senza argomenti e si presenta inizialmente come si vede nella figura 326.1.

Figura 326.1. Finestra iniziale di PgAccess, quando viene avviato per la prima volta dall'utente.

figure/a2-pgaccess-inizio

Mentre lo si usa, PgAccess memorizza alcune informazioni nel file ~/.pgaccessrc e questo fatto facilita successivamente le operazioni di accesso alla base di dati da parte dell'utente.

Contrariamente a quello che ci si potrebbe aspettare, PgAccess è un programma frontale realizzato con molta cura e molto potente, che permette di sfruttare bene le potenzialità di PostgreSQL. Purtroppo è un po' difficile spiegare nel dettaglio il suo funzionamento; pertanto, lo scopo di questo capitolo è solo quello di permettere all'utilizzatore di cominciare e di sapere come continuare. Con l'uso, i particolari del suo funzionamento dovrebbero rivelarsi senza troppi problemi.

326.1   Accesso alla base di dati

PostgreSQL è un DBMS in grado di gestire diverse basi di dati simultaneamente; pertanto, con PgAccess è necessario stabilire per prima cosa quale sia la base di dati. Dal menù Database, si seleziona la funzione Open, ottenendo la mascherina che si vede nella figura 326.2. Da lì si possono indicare tutte le informazioni necessarie alla connessione con la base di dati desiderata; in particolare, per quanto riguarda le informazioni sull'autenticazione, queste sono richieste solo in base al modo in cui sono stati regolati i permessi di accesso da parte di PostgreSQL.

Figura 326.2. Connessione alla base di dati prova, presso il nodo locale, utilizzando l'autenticazione predefinita.

figure/a2-pgaccess-connessione-base-dati

Attraverso PgAccess non è possibile creare una base di dati. Per questo occorre usare il comando createdb di PostgreSQL, descritto nel capitolo 324.

La base di dati aperta, assieme all'indicazione del nodo presso la quale si trova il DBMS con cui si interagisce, appare in basso, nella finestra principale di PgAccess.

Figura 326.3. Quando è attiva una connessione con una base di dati, lo si vede dalle informazioni che appaiono in basso nella finestra principale di PgAccess.

figure/a2-pgaccess-connessione-avvenuta

È importante ricordare che PgAccess tiene nota dell'ultima base di dati aperta attraverso il file di configurazione ~/.pgaccessrc; in questo modo la connessione viene ritentata automaticamente all'avvio del programma la volta successiva che lo si utilizza. Tuttavia, questo particolare del funzionamento di PgAccess può essere configurato attraverso la funzione {Preferences} del menù {Database}.

326.2   Gli «oggetti» secondo PgAccess

Dal punto di vista di PgAccess, una base di dati contiene degli «oggetti» (secondo la stessa filosofia di PostgreSQL). Questi possono essere delle tabelle, il risultato di interrogazioni SQL, delle viste, delle stampe, ecc.

Per intervenire su ognuno di questi oggetti basta selezionare la voce relativa che si trova sulla parte sinistra (nella figura 326.3 si vede selezionata la gestione delle tabelle). Nel riquadro centrale c'è lo spazio per elencare i nomi degli oggetti di quel tipo che risultano presenti, mentre sopra appaiono alcuni pulsanti grafici che si riferiscono alle cose che si possono fare con tali oggetti.

Evidentemente, il pulsante grafico <New> serve a creare un oggetto nuovo, <Open> serve ad accedervi e <Design> serve a modificarne la struttura (ammesso che ciò sia consentito in base al tipo di oggetto). Tuttavia, il menù {Object} offre altre possibilità, per esempio la modifica del nome dell'oggetto e la visualizzazione della sua struttura.

PgAccess gestisce una serie di oggetti aggiuntiva rispetto a quanto fa PostgreSQL. Per realizzarli, PgAccess gestisce delle tabelle aggiuntive che non vengono mostrate all'utente, distinguibili per il fatto di avere un nome che inizia per pga_. In generale, queste tabelle hanno tutti i permessi di accesso per tutti gli utenti di PostgreSQL.

326.3   Tabelle

La figura 326.4 mostra l'esempio della creazione di una tabella molto semplice, per contenere una serie di indirizzi. In particolare si può osservare il fatto che PgAccess abbia convertito opportunamente la lettera «à» nella sequenza \xe0. Alla creazione della tabella, dopo avere selezionato la voce relativa a questo tipo di oggetto, si accede selezionando il pulsante grafico <New>.

Figura 326.4. Finestra per la creazione di una tabella.

figure/a2-pgaccess-creazione-tabella

Una volta creata la tabella (si ottiene questo confermando con il pulsante grafico <Create table>), il suo nome appare nella parte centrale della finestra principale del programma; per accedere al suo contenuto basta selezionare il pulsante grafico <Open>, ottenendo così una tabella di scorrimento con la quale si possono aggiungere e modificare righe preesistenti. La figura 326.5 mostra l'inserimento di alcuni nomi. Si osservi in particolare il fatto che, eventualmente, si può richiedere espressamente l'aggiunta di una riga nuova premendo il terzo tasto del mouse.

Figura 326.5. Finestra per lo scorrimento del contenuto di una tabella.

figure/a2-pgaccess-scorrimento-tabella

Vale la pena di osservare che la maschera di scorrimento e inserimento dati nella tabella, permette di leggere le righe in ordine, in base a una certa colonna, filtrando eventualmente le righe in base a una condizione. Si stabilisce questo mettendo il nome di una colonna nella casella Sort field e mettendo l'espressione della condizione di filtro nella casella Filter conditions: se poi si seleziona il pulsante grafico <Reload>, si riottiene il contenuto ordinato e filtrato in base alle preferenze indicate.

326.4   Interrogazioni e viste

È possibile realizzare facilmente dei modelli di interrogazione e delle viste, attraverso la selezione delle voci <Queries> e <Views>. Nel primo caso si tratta di interrogazioni SQL che vengono memorizzate da PgAccess e richiamate a piacere, mentre nel secondo si tratta di viste vere e proprie. A livello operativo, con PgAccess le due cose sono praticamente identiche, per cui si passa generalmente per la creazione di un'interrogazione SQL che poi, eventualmente, si salva come vista. La figura 326.6 mostra la definizione dell'interrogazione Nominativi, abbinata al comando SELECT Cognome, Nome FROM "Indirizzi", scritto manualmente dall'utilizzatore.

Figura 326.6. Finestra per la creazione di un'interrogazione.

figure/a2-pgaccess-interrogazione-con-nome

Nella figura si può osservare che è disponibile una casella di selezione attraverso la quale si può richiedere di salvare come vista. In particolare, con il pulsante grafico <Save query definition> si salva il modello dell'interrogazione, con il nome fissato in alto; ma volendo, con il pulsante grafico <Visual designer>, si accede a una maschera per la definizione grafica dell'interrogazione, come si vede nella figura 326.7.

Figura 326.7. Finestra per la creazione visuale di un'interrogazione.

figure/a2-pgaccess-interrogazione-creazione-visuale

In alto appare una casella in cui si deve indicare il nome di una tabella da cui si vogliono prelevare i campi; una volta fatto, appare un riepilogo di questi campi, in un riquadro. Questi nomi possono essere trascinati con il puntatore del mouse, in basso, dove vengono elencati i campi da includere nell'interrogazione; se si sbaglia, gli elementi che si vogliono togliere possono essere cancellati premendo il tasto [Canc] ([Del] nelle tastiere inglesi). Nella figura mostrata, sono già stati trascinati e depositati i campi del nome e del cognome.

Al termine, se si è soddisfatti del risultato, si può confermare con il pulsante grafico <Save to query builder>, ritrovando poi nella finestra precedente l'interrogazione corrispondente alle scelte fatte, che può essere ritoccata a mano se lo si desidera. Nel caso dell'esempio mostrato, l'interrogazione SQL che si ottiene è:

select t0.nome, t0.cognome from "Indirizzi" t0

L'apertura di un'interrogazione o di una vista, genera lo scorrimento del risultato dell'interrogazione, oppure della vista, come si vede nella figura 326.8 che fa sempre riferimento agli esempi precedenti.

Figura 326.8. Scorrimento di una vista.

figure/a2-pgaccess-scorrimento-vista

326.5   Stampe

Con PgAccess è possibile definire anche delle stampe, nel senso di rapporti stampati contenenti il risultato di un'interrogazione SQL. La figura 326.9 mostra la finestra che si utilizza per questo scopo, dove è già iniziata la compilazione dello schema di stampa.

Figura 326.9. Creazione di un rapporto.

figure/a2-pgaccess-report-generator

Una volta selezionata la tabella da cui prelevare i campi, dopo aver indicato il nome del rapporto che si vuole generare, basta fare un clic con il tasto sinistro del mouse mentre si punta sul nome del campo che si vuole inserire sullo schema di destra (che rappresenta il modello della stampa). Una volta che sono apparsi i nomi nello spazio a destra, questi possono essere trascinati dove si vuole, eventualmente possono anche essere cancellati usando il tasto [Canc]. Nell'esempio della figura, si vede anche che è stato inserito un titolo.

Spostando il puntatore del mouse sullo spazio che rappresenta lo schema di stampa, si vede cambiare la sua descrizione in alto. Nella figura mostrata viene indicato Page footer, perché in quel momento il puntatore del mouse era nella penultima riga di quello schema.

Per verificare il risultato, è disponibile anche un'anteprima, che si ottiene selezionando il pulsante grafico <Preview>. Seguendo gli esempi precedenti, la figura 326.10 mostra questa anteprima. Da lì si può passare alla stampa, che però potrebbe limitarsi a generare un file PostScript.

Figura 326.10. Anteprima di stampa.

figure/a2-pgaccess-report-generator-anteprima

326.6   Riferimenti

Appunti di informatica libera 2003.01.01 --- Copyright © 2000-2003 Daniele Giacomini -- daniele @ swlibero.org

1) PgAccess   software libero con licenza speciale


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome postgresql_accesso_attraverso_pgaccess.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]