OpenOffice 2.x integra un modulo database denominato Base che consente di creare una base dati, anche di buona complessità. Nel corso dell’articolo illustreremo le funzionalità principali di OpenOffice Base mostrando come possa rappresentare una valida alternativa. Base poggia su HyperSonic SQL, un “relational database engine” che a sua volta fa perno sulla tecnologia Java.
Un Relational Database Management System (RDBMS) tipicamente consiste di quattro elementi principali:
– tabelle
– interrogazioni
– form
– report
I dati memorizzati all’interno di un database sono salvati all’interno di tabelle. Vengono utilizzate interrogazioni (query) per estrarre, visualizzare e modificare i dati presenti nelle varie tabelle. Le interrogazioni possono recuperare dati da più tabelle combinandoli assieme rendendoli poi disponibili per la visualizzazione all’interno di “form”.
Un form può essere immaginato come una sorta di interfaccia grafica per il database.
I report sono invece impiegati per produrre documenti riepilogativi, pronti per essere inviati alla stampante.
Prima di creare la struttura vera e proprio del database che ospiterà i dati da memorizzare e da gestire, è sempre bene crearne un “modello” in forma grafica. Per l’effettuazione di questa operazione, è possibile seguire le linee guida illustrate, a suo tempo, in questo articolo.
Lo schema grafico del database può essere impostato anche con lo stesso OpenOffice Draw, componente della suite opensource nata dalla versione 5.2 di StarOffice. Draw include, infatti, la possibilità di usare diagrammi, molto utili nella fase di progettazione di una base dati.
Dopo aver avviato OpenOffice Base, il programma richiederà se si desidera creare un nuovo database od aprirne uno esistente. Scegliendo di creare un nuovo database quindi cliccando su Crea tabella in vista struttura, si può passare a definire tabelle, campi e relazioni. Per ciascun campo si può impostare il tipo di dati che verrà in esso memorizzato mentre per creare una chiave primaria è sufficiente cliccare con il tasto destro del mouse sulla prima colonna quindi sull’apposita voce.
Una chiave primaria deve soddisfare due requisiti: non può essere un campo a valore nullo e deve contenere un valore unico. Selezionando Sì dal menù a tendina Valore automatico (Proprietà di campo), OpenOffice Base penserà automaticamente ad assegnare al campo un valore univoco.
La finestra per la creazione di relazioni è molto simile a quella di Access ed è accessibile dalla finestra principale di Base, selezionando la voce Relazioni dal menù Strumenti. La finestra Aggiungi tabelle permetterà di selezionare tutte le tabelle i cui campi saranno probabilmente coinvolti in delle relazioni.
Interrogazioni SQL per inserire, aggiornare e recupeare dati possono essere create in forma grafica (Crea ricerca in vista struttura), ricorrendo ad una procedura guidata (Usa la procedura guidata per la creazione di interrogazioni), oppure digitando la query vera e propria (Crea ricerca in vista SQL). Tutte le tre possibilità sono accessibili facendo riferimento alla sezione Ricerche di OpenOffice Base.
OpenOffice Base è in grado di collegarsi a basi dati create nei formati più disparati: Microsoft Access, MySQL, JDBC Oracle sono le principali. In questi casi, la struttura del database, insieme con il suo contenuto vengono convertiti nel formato .ODB, proprio di OpenOffice Base.
Per quanto riguarda la reportistica, il modulo integrato in OpenOffice Base lascia davvero a desiderare. Per fortuna che è disponibile un valido sostituto, sviluppato da Sun e distribuito a titolo completamente gratuito.
Il suo nome è Sun Report Builder (SRB) ed è installabile in OpenOffice Base come un’estensione. Il “Report Builder” di Sun è basato sul motore di reportistica di Pentaho.
Per installare l’estensione, è sufficiente scaricare il file sun-report-builder_x.oxt
facendo riferimento a questa pagina quindi avviare OpenOffice Base, selezionare il comando Gestione estensioni dal menù Strumenti del programma, cliccare sul pulsante Aggiungi infine scegliere il file precedentemente prelevato.
Se durante l’installazione dell’estensione dovessero essere visualizzati dei messaggi d’errore, verificate:
– di avere installato la versione più aggiornata di OpenOffice.org
– di avere installato la più recente versione di Java JRE
– che nel menù Strumenti, Opzioni, OpenOffice.org, Java di OpenOffice Base o di qualsiasi altra applicazione della suite, la casella Usa un ambiente runtime Java sia attivata e che nell’elenco Java Runtime Environment (JRE) già installati sia selezionata la versione più recente di Java JRE presente sul sistema.
Al termine di questi controlli, tornate nel menù Strumenti, Gestione estensioni di OpenOffice Base, disabilitate l’estensione sun-report-builder_x.oxt
, selezionandola quindi cliccando sull’apposito pulsante, infine riabilitatela.
Diversamente dalle altre estensioni, Sun Report Builder non aggiunge nuovi menù ma si integra perfettamente con OpenOffice Base. Per iniziare a creare subito un report è sufficiente infatti cliccare sul pulsante Rapporti nella finestra principale del programma.
Ricalcando l’impostazione tipica dei più famosi software di reportistica, anche Sun Report Builder suddivide la pagina in tre differenti aree: Intestazione pagina, Dettagli e Pié di pagina.
Le parti relative all’intestazione ed al pié di pagina sono solitamente utilizzate per inserire elementi quali il titolo del report, la data di elaborazione dello stesso, il numero di pagina e così via.
Il contenuto generato dinamicamente sull base delle informazioni presenti nel database viene visualizzato nell’area Dettagli. In questa zona del documento debbono essere quindi inseriti i riferimenti ai vari campi del database da mostrare.
Come primo passo è necessario indicare quale tabella della base dati si intende utilizzare all’interno del report. Questa operazione si concretizza indicando nella scheda Dati del pannello visualizzato a destra, il nome della tabella da usare (Contenuto). E’ possibile anche specificare query SQL (menù a tendina Tipo di contenuto).
Per aggiungere un campo all’interno del report, va selezionato dalla finestra Aggiungi campo che comparirà a video e trascinarlo nella zona desiderata.
E’ possibile impostare criteri di raggruppamento ed ordinamento dei dati visualizzati sul report in modo estremamente semplice: basta accedere al menù Visualizza quindi cliccare sulla voce Sorting and Grouping. Ogniqualvolta si specifica un nuovo criterio all’interno dell’apposita finestra, Sun Report Builder inserisce automaticamente, nel report, una nuova intestazione di pagina: qui l’utente può aggiungere, ad esempio, un nuovo titolo esplicativo.
Accanto alle semplici caselle di testo, Sun Report Builder offre la possibilità di utilizzare le “funzioni”. In questo modo è possibile visualizzare dei campi speciali che contengano il risultato di operazioni (per esempio, calcoli matematici) condotte sul contenuto di altri campi di dato. Per aggiungere una funzione, basta accedere al Navigatore rapporti (premere il tasto F5), fare clic con il tasto destro del mouse su Funzioni infine selezionare Nuova funzione. A questo punto, nelle proprietà della funzione (scheda Generale), è possibile attribure un nome più esplicativo e, servendosi del campo Formula, introdurre il calcolo che OpenOffice Base deve effettuare automaticamente. L’unico problema, in questo caso, è che non è disponibile online una documentazione approfondita su tutti gli operatori utilizzabili. Auspichiamo che questa vacanza sia presto risolta. Alcune informazioni sono comunque riportate nel wiki di Sun Report Builder (ved. questa pagina).