... anche se non serve

Nelle scuole, a proposito di OpenOffice come sostituto di ms-office, spesso si sente dire:

... Nessuno degli insegnanti fortic che conosco è interessato/costretto a usare database ma tutti sostengono che una suite office che ne è sprovvista non è adeguata a sostitutire ms-office nei piani acquisti...

Premetto che uso Access dal 1996, dopo due anni d'esperienza con Q&A in ambiente DOS, e accettandone i limiti intrinseci lo considero una piattaforma utile per certi contesti, anche se all'occorrenza preferisco utilizzare database più potenti specie in applicazioni client/server. Da qualche anno uso pochissimo le suite per ufficio in quanto impiego il computer soprattutto per elaborazioni grafiche, per lo sviluppo di software e per il Web publishing. Non sono un esperto di database, le mie limitate conoscenze si fondano su una formazione da autodidatta, tuttavia lavoro moltissimo con i RDBMS (Relational Data Base Management System), usando in genere i proprietari Access e SQL Server e, più raramente e al momento solo per scopi di studio, MySQL.

A prescindere da ogni considerazione sui pro e i contro del software proprietario, dovrò fare una disquisizione parlando soprattutto di software Microsoft, partendo dalla citazione del collega Andrea. Concordo con lui quando asserisce che molte persone sono convinte che Microsoft Office Professional (la suite che comprende anche Access) abbia una marcia in più rispetto al rivale OpenOffice.org, fino a ritenerlo insostituibile (ah... quanti danni ha causato il piano ForTic!). Uso OpenOffice solo occasionalmente per il word processor che ormai sostituisce il mio "vecchio" MS Word 2000, non posso certo parlare con cognizione di causa, ma se non sbaglio offre la possibilità di interfacciarsi con applicazioni database esterne. Presumo che non deve aver raggiunto ancora, in questo aspetto, quei requisiti di accessibilità che dovrebbe avere una piattaforma user friendly. In altri termini dovrebbe ancora mancare un componente assimilabile a Microsoft Access.

Arriviamo al dunque ragionando per assurdo. Il libero e gratuito OpenOffice non può sostituire il proprietario MS Office Professional perché non dispone di un RDBMS assimilabile ad Access. Qualche arcano motivo ci impedisce di optare per il proprietario Star Office. Poco importa se è provvisto di un componente assimilabile ad Access, poco importa se la recente convenzione tra il MIUR e Sun Microsystems permette ad una scuola di dotarsi di una suite d'ufficio professionale a costo zero in tutte le sue postazioni. Con queste premesse la conclusione è ovvia: la nostra scuola non può fare a meno di acquistare ad esempio 30 licenze Microsoft per installare Office Professional in altrettante postazioni. Poco importa se Microsoft rende incompatibili i formati della sua suite fra una versione e l'altra, poco importa se questa inevitabile e sofferta scelta tecnica peserà sulle tasche dei contribuenti, poco importa se con lo stesso budget avremmo la possibilità di portare a 50 il numero di postazioni del nostro parco hardware, poco importa se fra due anni la nostra suite sarà obsoleta e prenderemo in considerazione la necessità di un upgrade. MS Office Professional lo impone una legge naturale, sancita e avvallata da un luogo comune diffuso in particolare fra i colleghi formati nel corso ForTic del livello A o quelli che prima o poi si sono avventurati nel pianeta ECDL.

Secondo la mia modesta opinione le affermazioni come quelle citate dal collega Andrea sono fatte da persone che mai hanno operato con le basi di dati. Solo chi non ha esperienza di archiviazione con i RDBMS può reputare insostituibile Access. Parliamo di fatti?

  1. Nel mio istituto sono l'unico docente che ha usato - e ancora usa - Microsoft Access. Alcuni colleghi hanno a suo tempo seguito un corso di livello intermedio comprendente anche un modulo su Access, tuttavia i sistemi archiviazione continuano ad essere il solito word processor e, per i più intraprendenti, il foglio elettronico. Sarebbe inutile osservare che chi si ostina ad usare queste piattaforme per l'archiviazione poco ha capito delle potenzialità che offre un qualsiasi database relazionale. In ogni modo, perché una scuola deve acquistare 30 licenze per una piattaforma che ad essere ottimisti sarà utilizzata occasionalmente da due o tre docenti? Attenzione, uso il termine occasionalmente perché presumo che quei docenti abbiano il loro Access installato nel proprio computer e molto probabilmente impiegheranno soprattutto quello.
  2. In questo periodo sto sviluppando un'interfaccia grafica per la gestione della biblioteca. L'archivio è un database Access preesistente, comprendente decine di migliaia di record fra cataloghi, indice analitico, registrazioni di utenti e prestiti. L'interfaccia che sto predisponendo ha lo scopo di permettere la gestione informatizzata anche alle colleghe che mi affiancano nell'amministrazione della biblioteca e che troverebbero ostica la GUI (Graphic User Interface) di Access che da anni utilizzo. Il sistema si basa sulle Active Server Pages (purtroppo sono un novellino in materia di PHP) e il formato HTML ottimizzato per Mozilla, un ottimo browser che ho scelto per le sue specifiche come supporto grafico del programma gestionale. Questa soluzione mi permette di amministrare il database della biblioteca differenziando tre livelli d'accesso, per l'amministratore master, per l'operatore di biblioteca, per l'utente che deve consultare l'archivio in sola lettura. Il tutto si risolve con una GUI semplice da utilizzare perché non bombarda il malcapitato con lo sfoggio di pulsantini, menu e finestre della GUI di Access, ma nello stesso tempo con script adeguati e sufficientemente elastici mi permette di usare SQL per operazioni avanzate sul database. Tutto questo su un banalissimo Windows 98 dotato del Personal Web Server senza che sia installato Microsoft Office. Se optassi per la GUI di Access dovrei fare i conti con la versione della mia licenza (Access 2000), incompatibile con quelle disponibili nella mia scuola (Access 97), e procedere di volta in volta con le conversioni ad ogni implementazione e/o modifica della struttura dei dati.
  3. Chi usa sistematicamente i RDBMS, anche partendo da una piattaforma semplice come Microsoft Access, prima o poi dovrà fare i conti con lo Structured Query Language. A questo punto la GUI di Access, ma soprattutto l'originale versione di SQL interpretata da Microsoft Jet, diventano strettini. Per questo motivo nel mio computer ho convertito la maggior parte dei database Access in file di progetto e uso MSDE (Microsoft Data Engine) sfruttando il motore di database di SQL Server, che senza dubbio è più efficiente, ma soprattutto il suo Transact-SQL è più vicino allo standard di SQL 99 di quanto lo sia il dialetto di Microsoft Jet in Access. Per amministrare i database con MSDE posso continuare ad usare la GUI di Access, ma ormai trovo più immediata un'interfaccia HTML che mi permette di digitare un qualsiasi enunciato SQL processato da uno script polivalente in ambiente ASP. Perché non fare lo stesso in una scuola? Invece di acquistare 30 licenze di Office Professional è sufficiente acquistarne una sola e installarlo su un server e sfruttare MSDE con l'ambiente ASP. A quel punto il nostro database Access è disponibile anche per le altre 29 postazioni che disporranno di un browser e di una suite OpenOffice. Quanto facciamo risparmiare al fedele contribuente italiano? Se poi abbiamo la necessità di superare il limite dei 5 accessi contemporanei (è inutile, Microsoft le studia tutte pur di vendere il suo SQL Server), se proprio vogliamo essere avari con gli acquisti, se siamo strenui difensori del software libero, a quel punto diamo un calcio a tutto il software Microsoft e optiamo definitivamente per PHP e MySQL.
  4. A questo punto devo toccare un tasto dolente. A chi è capitato di dover scalare una struttura di dati da Access in un altra piattaforma, come SQL Server o MySQL? E' in queste occasioni che si paga lo scotto di fare gavetta con Access. Questa splendida piattaforma semplifica molte cose: permette l'uso di locuzioni contenenti spazi per nominare le colonne (pardòn, campi), supporta formati specifici dei dati ma, soprattutto, usa un dialetto SQL decisamente singolare, a scapito della portabilità. Insomma, che piaccia o non, Access si rivela una piattaforma utile per gestire i dati in un contesto vincolato, peraltro con una visione tutta sua del concetto di database. E' in queste occasioni che mi sono pentito di aver perso tanto tempo a studiare la GUI di Access e non averlo invece dedicato allo standard ANSI di SQL. L'avessi fatto da subito probabilmente avrei ora le carte per diventare un database administrator di livello accettabile e, chissà, magari aspirare a cambiare mestiere.

In definitiva queste considerazioni possono dare un'idea di come anche noi insegnanti nel nostro piccolo contribuiamo a incrementare lo spreco di denaro pubblico, perché ci ostiniamo nella pretesa di far acquistare applicativi e piattaforme poco utili pur di sapere che sono disponibili in ogni postazione (lasciamo perdere a quale scopo, il gulag della pubblica amministrazione è disseminato di strumenti inutilizzati). Vorrei però evidenziare un altro aspetto, non economico ma didattico. Qualcuno finora potrebbe obiettare su un limite alla mia tesi dell'inutilità di Access con un quesito apparentemente inopinabile: come dovrebbero orientarsi quelle scuole che devono formare gli allievi sulla progettazione e l'amministrazione dei RDBMS?

Arduo quesito, ma solo in apparenza. E' vero, a questo punto sarebbe indispensabile disporre di una piattaforma per basi di dati con relativa GUI in ogni postazione, almeno in un laboratorio-classe. E a questo punto si prospetta come inevitabile la necessità d'introdurre Access, l'applicazione database user friendly per eccellenza, dalla porta di servizio. Fermate il mondo, voglio scendere! basta con questo mito dell'accessibilità di Access! Perché impegnare risorse finanziarie imponendo l'acquisto delle licenze alle scuole e agli allievi o, peggio, fomentare la pirateria visto i costi di Office Professional? Perché concentrare tutte le risorse umane, in termini di tempo, per apprendere l'uso di un'interfaccia grafica complessa come quella di Access? Per quanto sia concettualmente banale - facile a dirsi per chi lo usa da anni - Access richiede un impegno di tutto rispetto per poterlo conoscere bene ed usarlo proficuamente. La prova è che a differenza degli altri componenti della suite, Access è il meno usato in ambito sia domestico sia lavorativo. Eppure dovrebbe essere il componente più versatile dal punto di vista ergonomico: potrebbe essere un supporto utile per insegnare contabilità, per classificare e archiviare di tutto, dalle ricette di cucina alla nostra biblioteca, per amministrare il "parco studenti", per ordinare i nostri documenti e le nostre collezioni di foto digitali con le automazioni OLE, invece d'impantanarci quotidianamente in un hardisk stracolmo di file salvati alla rinfusa. Invece no, in ufficio, a casa, a scuola, ci ostiniamo ad usare Word o Excel con operazioni quotidiane ridondanti, eseguite sistematicamente con la complicità del drag&drop e del taglia&incolla, perché in fondo apprendere questo misterioso Access ci spaventa a causa del suo interminabile sfoggio di componenti. Menu, pulsanti, finestre, query, interfacce e barre che cambiano drasticamente passando da una tabella ad una finestra, da una query ad un report. Per non parlare delle macro o dell'arcano mistero dei moduli, tanto cari ai visualbasisti. Insomma, scagli la prima pietra chi non ha mai vissuto un attimo di sconforto aprendo per la prima volta Microsoft Access.

All'arduo quesito offro una semplice risposta: invece di spendere tempo e risorse in un corso su Access, optiamo per un semplice training che tratti i rudimenti delle basi di dati, lo storyboard in fase di progettazione, lo Structured Query Language standard, magari limitandoci agli enunciati più frequenti come create table, create database, select, insert, update, ecc. In fondo la semantica di SQL è accessibile anche a chi ha una scarsa dimestichezza nell'inglese o una pessima memoria e la sua sintassi è di una semplicità tale che considero SQL il metalinguaggio per eccellenza. Una semplicità che va a cozzare con gli enunciati farraginosi generati delle query grafiche di Access (provate a districarvi nella struttura sintattica di un enunciato SQL creati da una query su Access con una join e una clausola where un po' complesse e vi renderete conto che i protagonisti delle barzellette sui carabinieri sono fautori dell'ergonomia e nemici della ridondanza). Insomma, pochi concetti, poche nozioni, poche regole e una giusta dose di esercizio potrebbero rivelarsi gli ingredienti utili a formare potenziali database administrator competenti. Ostinandoci con Access non diamo alcuna competenza ai discenti perché gli sforzi si concentreranno su una palude di concetti, astrazioni e nozioni e tanto esercizio finalizzata ad un solo scopo: quello di accedere graficamente ad una struttura di dati usando una GUI di scarsa scalabilità. Una competenza, peraltro, che richiede aggiornamenti ogni due o tre anni con ulteriore dispendio di tempo e denaro.

In definitiva, chi sostiene l'estrema indispensabilità di Access in ambito scolastico di database ha capito poco o nulla. Dubito che in un futuro prossimo o remoto possa trovare la passione e la pazienza di operare con Access. E allora, perché farlo acquistare o... piratare?

Giancarlo Dessì
I.P.S.A.A. "S. Cettolini" Cagliari
E-mail gian@cettolini.it


Un ringraziamento ad Antonio Berardi per il simpatico suggerimento del titolo