[successivo] [precedente] [inizio] [fine] [indice generale] [indice analitico]
PgAccess è 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 14.1.
Figura 14.1. Finestra iniziale di PgAccess, quando viene avviato per la prima volta dall'utente. |
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.
PostgreSQL è un DBMS in grado di gestire diverse base di dati simultaneamente, e per questo, con PgAccess è necessario stabilire per prima cosa quale sia la base di dati. Dal menù Database, si seleziona la funzione Open, e questo fa apparire la mascherina che si vede nella figura 14.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 14.2. Connessione alla base di dati prova, presso il nodo locale, utilizzando l'autenticazione predefinita. |
Attraverso PgAccess non è possibile creare una base di dati. Per questo occorre usare il comando createdb di PostgreSQL, descritto nel capitolo 12. |
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 14.3. Quando è attiva una connessione con una base di dati, lo si vede dalle informazioni che appaiono in basso nella finestra principale di PgAccess. |
È importante ricordare che PgAccess tiene nota dell'ultima base di dati aperta attraverso il file di configurazione ~/.pgaccessrc
, e 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
}.
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 14.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, mentre <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.
La figura 14.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 14.4. Finestra per la creazione di una 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
>, e quello che si ottiene è una tabella di scorrimento con la quale si possono aggiungere e modificare righe preesistenti. La figura 14.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 14.5. Finestra per lo scorrimento del contenuto di una 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, e anche di filtrare 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.
È 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, e in generale si passa per la creazione di un'interrogazione SQL che poi, eventualmente, si salva come vista. La figura 14.6 mostra la definizione dell'interrogazione Nominativi, abbinata al comando SELECT Cognome, Nome FROM "Indirizzi", scritto manualmente dall'utilizzatore.
Figura 14.6. Finestra per la creazione di un'interrogazione. |
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 14.7.
Figura 14.7. Finestra per la creazione visuale di un'interrogazione. |
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, e 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
>, e nella finestra precedente si ritroverà 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 14.8 che fa sempre riferimento agli esempi precedenti.
Figura 14.8. Scorrimento di una vista. |
Con PgAccess è possibile definire anche delle stampe, nel senso di rapporti stampati contenenti il risultato di un'interrogazione SQL. La figura 14.9 mostra la finestra che si utilizza per questo scopo, dove è già iniziata la compilazione dello schema di stampa.
Figura 14.9. Creazione di un rapporto. |
Una volta selezionata la tabella da cui prelevare i campi, e 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, e anche 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 14.10 mostra questa anteprima. Da lì si può passare alla stampa, che però potrebbe limitarsi a generare un file PostScript.
Figura 14.10. Anteprima di stampa. |
PgAccess
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome postgresql_accesso_attraverso_pgaccess.html
[successivo] [precedente] [inizio] [fine] [indice generale] [indice analitico]