Museo&Web

Kit di progettazione di un sito di qualità per un museo medio-piccolo

logo MINERVA
vai al contenuto

Ti trovi in: Home - Patrimonio - Inserimento di un database in un sito Web

Inserimento di un database in un sito Web

In questa pagina si indica come inserire un database già esistente in un sito Web, in modo tale che il suo contenuto sia agevolmente accessibile/consultabile attraverso un qualsiasi browser (user agent).
Si prescinde dal formato del database, dal supporto fisico sul quale è memorizzato il database, dalla struttura interna del database, dal sistema operativo nel quale è stato realizzato.
A questo proposito si presuppone che il database sia già ottimizzato e che la sua organizzazione interna sia soddisfacente per gli scopi che ci prefiggiamo; ovvero questo documento non indica come organizzare logicamente (attraverso entità e relazioni), come strutturare o come ottimizzare il database.

Per formato del database si intende il formato in cui sono memorizzati i dati nel database e tale informazione riguarda essenzialmente con quale prodotto software (RdatabaseMS, Relational Data Base Management System) è stato creato/è gestito il database.

Il livello di complessità informatica suggerisce che, ai fini di una migliore riuscita, il lavoro debba essere svolto congiuntamente tra un informatico/tecnico e un responsabile dei contenuti: la funzione del responsabile dei contenuti è fondamentale, soprattutto nella fase preliminare, di progettazione del database e delle modalità di interrogazione e visualizzazione dei dati del database attraverso il sito Web.

Le operazioni da effettuare e le scelte da compiere per poter inserire il database nel sito Web sono essenzialmente le seguenti (tali operazioni sono di natura generale e non è detto che siano sempre tutte necessarie):

a) Operazioni preliminari riguardanti la struttura, il formato, la complessità del database

1. Capire in che formato e con quale RdatabaseMS è stato realizzato il database.
Ovvero capire in che formato e con quale RdatabaseMS (o programma) è realizzato il database. Questa informazione serve a capire come trattare i dati e come eventualmente trasformare il database in un formato adeguato agli scopi che ci siamo preposti. Non secondario è capire su che supporto fisico risiede attualmente il database: in caso di vecchie banche dati è possibile che il supporto usato per la sua memorizzazione sia così obsoleto che non si trova più in commercio hardware adatto alla sua lettura (ad esempio vecchi floppy disk da 5,25 pollici, dischi plasmon, nastri ecc...).

2.Capire/decidere in quale formato trasformare il database
Ovvero capire se è possibile farlo e con quale costo.
La scelta deve tener presente considerazioni quali:

  • la semplicità di gestione del database "a regime": ovvero quanto sarà complessa la gestione del nuovo database in termini di professionalità coinvolte;
  • il costo della gestione del database "a regime": ovvero quanto sarà costosa la gestione del nuovo database in termini di spese per l'acquisto e la manutenzione di hardware e software adeguato, tenendo conto anche, ovviamente, delle opzioni di software open source, il cui costo delle licenze è, notoriamente, nullo;
  • il tipo di server che si ha a disposizione per "pubblicare"/mettere on-line il database;
  • il costo necessario alla trasformazione, tenendo conto del punto 1: nel caso in cui il database sia ancora su vecchi supporti si deve valutare attentamente la possibilità/convenienza a recuperare il database;
  • le prestazioni che si vogliono assicurare nell'accesso al database on-line in termini di numero di connessioni contemporanee e di velocità di risposta delle pagine Web.
    Per questa operazione la scelta che normalmente si fa, attualmente, ricade in due possibilità, a seguito delle considerazioni sopra esposte, ovvero:
    • per database di dimensioni non eccessive, semplici da gestire, facilmente trasportabili e manutenibili la scelta ricade in prodotti tipo Access o Filemaker: il database risiede in unico file che contiene "tutto il necessario" al suo funzionamento (tabelle, query, eventuali maschere per l'inserimento e la modifica dei dati);
    • per database di dimensioni medio/grandi e/o di tipo professionale, di dimensioni ragguardevoli, che assicurino prestazioni, sicurezza, efficienza elevati e i cui formati di dati debbano essere interoperabili e maggiormente aderenti agli standard, la scelta ricade su prodotti tipo SQLServer, MySQL, Oracle;
      A fronte però di un maggiore costo in termini di professionalità necessarie al loro utilizzo/manutenzione e in termini di potenza di calcolo/elaborazione necessari al loro funzionamento;

3. Capire la struttura del database e la sua complessità
Ovvero conoscere il numero di tabelle che compongono il database e numero di relazioni tra esse.Ciò è necessario per poi riuscire a realizzare agevolmente il punto 5.Si tratta di analizzare la struttura del database (numero di tabelle, numero e tipo di relazioni esistenti tra le tabelle, indicizzazione, nomenclatura delle tabelle e dei campi ecc.) e la sua complessità.

4. Convertire il database
Ovvero convertire il database dal formato originale al nuovo formato. Questo punto varia, ovviamente, a seconda delle caratteristiche del database "destinazione" e del database "origine". La sua complessità può variare molto a seconda dei casi: ad esempio nel caso di RdatabaseMS "evoluti" (SQL Server, MySQL, Oracle) l'importazione da formati "minori" (Access, Filemaker, Excel) è, normalmente, molto semplice e guidata passo-passo.

Vengono qui riassunti due casi particolari, importanti uno per la diffusione dei prodotti coinvolti (Access) e l'altro per il conivolgimento di un prodotto open source sempre più diffuso (MySQL).
4.1 da Access 97 a Access 2000
4.2 da Access 2000 a MySQL

A questo punto, alla fine del punto a) avremo il database disponibile e pronto per essere utilizzato in un sito Web e molte informazioni sulla sua struttura, la cui conoscenza è fondamentale per la realizzazione della successiva fase b): l'implementazione vera e propria in sito Web.

b) Operazioni inerenti l'accesso ai dati del database

Una volta che il database è stato convertito nel formato scelto le operazioni da svolgere riguardano come far consultare il database attraverso il sito Web, ovvero:

5. Decidere il numero e il tipo di interrogazioni (query) da implementare nel sito
Si tratta di decidere che tipo di interrogazioni far compiere agli utenti del sito.
Per ogni query si deve decidere:

  • Come organizzare il modulo (o form) di interrogazione: quantità e tipo di campi (input text, combo box, check box ecc.)
    Questa scelta deve tendere a permettere una interrogazione abbastanza articolata in relazione alla complessità del database ma non eccessivamente dispersiva e con "troppe" opzioni.
    Altresì dovranno essere scelti e implementati strumenti per limitare il più possibile le possibilità di errore dell'utente: ad esempio se l'utente deve scegliere tra un insieme ristretto di opzioni, che sono note a priori, deve essere utilizzato il tipo di campo combo box, o menu a discesa, che dà la possibilità di scegliere solo tra le opzioni già previste piuttosto che utilizzare un input box, il cui testo può essere libero (e quindi maggiormente soggetto ad errori di digitazione);
  • come organizzare la Pagina dei risultati: vedi punto 6
  • come organizzare la Pagina di dettaglio: vedi punto 7

6. Pagina dei risultati: decidere quali dati visualizzare e in che forma
Tale scelta riguarda il layout/impaginazione della pagina dei risultati della query e se e come implementare il paging (organizzazione dei risultati in pagine)
I formati più comuni sono:

  • formato tabellare: la pagina dei risultati sarà una tabella, ovvero i risultati appariranno in celle di tabella, a sua volta formattata in righe e colonne. Sulla prima riga sono presenti i nomi dei singoli campi, sulle altre righe andranno i valori corrispondenti;
  • formato "piano": ogni campo del database che si è scelto di visualizzare sarà presentato su una nuova riga preceduto da una label/etichetta che lo identifica;

Il paging riguarda essenzialmente la scelta del numero di risultati per pagina da visualizzare: la scelta deve essere una via di mezzo tra un numero troppo esiguo (la conseguenza di ciò è che l'utente sarà costretto a navigare molte pagine prima di arrivare, eventualmente, al risultato cercato) e un numero troppo alto (maggiore carico di lavoro per il server e conseguente maggiore lentezza nel visualizzare la pagina, con, al limite, problemi di errata visualizzazione della pagina quando il numero di risutati sia eccessivamente alto).

7. È possibile realizzare anche una eventuale pagina di dettaglio del singolo risultato
Si tratta di realizzare anche una pagina di maggior dettaglio dei risultati, nel caso in cui nella precedente pagina dei risultati si sia scelto di mettere un sottoinsieme di tutte le informazioni estratte come risultato della query. Tale soluzione è adeguata quando la mole di informazioni da visualizzare è grande e si vuole evitare di "sovraccaricare" di informazioni la pagina dei risultati: l'utente, avendo trovato l'informazione che cercava, per avere informazioni estese può approfondire nella pagina di dettaglio. Anche in questo caso vanno scelti la quantità delle informazioni da visualizzare e il layout di visualizzazione.

Ad esemplificazione dei punti 6 e 7 e alla loro realizzazione pratica si rimanda alla sezione "Musei e monumenti" del sito della Direzione generale per il paesaggio, le belle arti, l'architettura e l'arte contemporanee (http://www.pabaac.beniculturali.it) le cui figure seguenti fanno riferimento.

Figura 1. Modulo di ricerca delle informazioni sul database
http://www.pabaac.beniculturali.it/opencms/opencms/BASAE/sito-BASAE...

Figura 2. Pagina dei risultati: elenco dei monumenti visualizzati a seguito di una ricerca
http://www.pabaac.beniculturali.it/opencms/opencms/BASAE/sito-BASAE...

Figura 3. Pagina di dettaglio: informazioni esaustive sul singolo monumento cercato http://www.pabaac.beniculturali.it/opencms/export/BASAE/sito-BASAE...

c) Implementazione

A questo punto non resta che implementare le funzionalità di accesso e consultazione del database attraverso il sito Web. Ovvero si tratta di realizzare le pagine Web, in un linguaggio di script adatto, che permettono la selezione e la consultazione delle informazioni presenti nel database.
Anche qui la scelta del linguaggio di script da usare implica considerazioni quali:

  • il tipo di server Web che si è scelto per pubblicare il sito o che si ha disposizione;
  • il tipo di RdatabaseMS che si è scelto;
  • considerazioni inerenti i costi di acquisto e/o di gestione del sito Web e del RdatabaseMS;

d) Manutenzione

9. A regime, ovvero quando il database sia stato correttamente inserito nel sito Web, è necessario prevedere delle politiche di aggiornamento periodico dei dati, di manutenzione della base di dati, di backup/restore.

  • Aggiornamento significa pianificare se, ogni quanto tempo, con quali procedure e con quali strumenti software i dati on-line devono essere aggiornati;
  • Manutenzione significa pianificare operazioni di controllo di coerenza dei dati e di qualità del database;
  • Backup/restore significa pianificare le operazioni di copia periodica per evitare la perdita di dati a seguito di eventi accidentali.

Piè di pagina

© Progetto Minerva 2004-10, ultima revisione 2006-03-27, a cura del WP5, Commissione di studio per la creazione di un prototipo di sito web culturale pubblico.
URL: www.minervaeurope/structure/workinggroups/userneeds/prototipo/protomuseo/patrimonio/database.html