Organizzazione di dati fenologici in un database

CAPITOLO 6
Organizzazione di dati fenologici in un
database relazionale: l'esempio della banca
dati del Progetto Finalizzato Phenagri
A. Calì, G. Dal Monte
6.1 - Introduzione
Le informazioni provenienti da una rete di rilevamento fenologico,
annotate di solito su schede di campagna, necessitano di una organizzazione per
poter essere utilizzate al meglio. E’ opportuno, allora, che tali informazioni
affluiscano in una banca dati (o database) che permetta una loro consultazione
facile e veloce.
Prima ancora di dedicarsi alla realizzazione della banca dati, però, é
fondamentale assicurarsi che le informazioni provenienti dalla rete siano il più
possibile omogenee nel tempo e nello spazio. Ciò vuol dire che, in tutti i siti di
rilevamento che compongono la rete, i rilievi devono avvenire secondo gli
stessi criteri (per es. utilizzo della stessa scala fenologica per la descrizione
delle fasi), e questi ultimi devono rimanere, per quanto possibile, invariati nel
tempo. Pertanto molta attenzione dovrà essere rivolta all’impostazione dei
protocolli di rilevazione e alla formazione del personale addetto. Lo sforzo
compiuto in questa fase è garanzia per una più spedita organizzazione della
banca dati e permette di avere un insieme di dati confrontabili, che aumenta il
suo valore con l’allungarsi della serie storica.
La maggior parte dei software attualmente disponibili per la realizzazione
di banche dati sono del tipo definito “relazionale” (RDBMS: Relational
DataBase Management System -Sistema di gestione di banche dati relazionali),
anche se comincia a suscitare interesse e a diffondersi un altro tipo di database,
definito "orientato agli oggetti" (OODBMS: Object-Oriented DataBase
Management System). I database relazionali sono caratterizzati dalla capacità di
mettere in relazione informazioni che si riferiscono ad argomenti diversi ma
collegati, ciascuno memorizzato separatamente. Tramite queste “relazioni”,
ogni gruppo di informazioni può essere memorizzato una volta sola, per poi
essere richiamato e collegato agli altri gruppi di informazioni tutte le volte che
ciò risulta necessario. I vantaggi che ne conseguono sono relativi al ridotto
tempo di immissione dei dati, al risparmio di memoria e ad una gestione dei
dati più veloce e flessibile.
6.2 - Progettazione del database
In base all’esperienza condotta nell’ambito del Progetto Finalizzato
Phenagri (P.F.), la fase di progettazione di un database (DB) relazionale vede i
seguenti passaggi fondamentali:
1. definizione dello scopo
2. definizione delle tabelle
3. definizione dei campi
4. definizione delle relazioni
5. verifica e revisione della struttura
6.2.1 - Definizione dello scopo
Definire lo scopo per il quale si vuole realizzare una banca dati significa
definire il tipo di dati da memorizzare e le domande alle quali, tramite questi
dati, si vuole dare risposta.
I dati dei rilievi agrofenologici, prodotti sia dal P.F. che all'esterno, raccolti
su diverse specie, località e anni, sono organizzati nel DB Phenagri per i
seguenti scopi:
a) confrontarli in modo ragionato, sia nel tempo (ad es. comportamento di una
stessa specie nelle diverse annate in uno stesso sito) che nello spazio ( ad
es. comportamento di una stessa specie nella stessa annata ma in località
diverse ), anche in parallelo con i dati meteorologici;
b) effettuare delle specifiche elaborazioni (ad es. durata in giorni
dell'intervallo tra due fasi, anticipi o ritardi rispetto alla norma, etc.);
c) validare i modelli di sviluppo delle colture;
d) trasporli in un GIS (Sistema Informativo Geografico).
In concreto l'obiettivo del DB è stato quello di permettere:
1. l'immissione e l'organizzazione, direttamente dalle schede di campagna, dei
dati rilevati;
2. la consultazione e l’estrazione dei dati secondo criteri opportuni;
3. il trasferimento dei dati fenologici ad altri software, quali i GIS, i modelli
fenologici di sviluppo delle colture e i fogli elettronici.
6.2.2 - Definizione delle tabelle
Per la corretta impostazione del DB è necessaria una analisi approfondita
dei dati da archiviare, al fine di stabilire gruppi di informazioni omogenee.
Ciascuno gruppo si deve riferire ad un tema specifico all'interno dell'argomento
generale trattato nel database.
I gruppi di informazioni omogenee sono organizzati in tabelle e i legami
logici che le uniscono (“relazioni”) costituiscono la struttura portante del
database, sulla quale si appoggiano gli altri elementi, come query, maschere,
report, etc..
I dati da memorizzare vengono inseriti nelle tabelle, tante quanti sono gli
argomenti su cui il database si articola. Una tabella è composta da righe e
colonne, similmente ai fogli elettronici: le righe costituiscono i “record” del
database e le colonne i “campi” ( Fig. 1 ).
Fig. 1: Esempio di tabella creata con il programma MS Access con “campi” (colonne) e
“record” (righe).
La corretta definizione delle tabelle, e delle relazioni che le uniscono,
rappresenta il “cuore” del DB stesso.
Se questo aspetto risulta ben progettato (non a caso si parla di
“architettura” del DB), le informazioni contenute nella banca dati saranno
facilmente disponibili per qualsiasi tipo di elaborazione.
Per il DB Phenagri, l’analisi dei dati ha evidenziato tre tipologie di
informazioni:
1. anagrafiche: relative alla localizzazione del sito di osservazione, alle sue
caratteristiche topografiche, geografiche e pedologiche, all’ente o persona
responsabile dei rilievi, alla stazione meteorologica di riferimento;
2. sull’unità elementare di osservazione (tesi): informazioni riguardanti il
materiale biologico (famiglia, specie, varietà) e le pratiche colturali (regime
irriguo, epoca di semina, ...);
3. sui rilievi: informazioni relative ai rilievi fenologici veri e propri e agli
argomenti correlati, come dati di laboratorio (pH, acido tartarico, acido
malico, contenuto in olio, etc.), dati agronomici (avversità, trattamenti,
produzione etc.) e dati meteorologici (temperatura massima, temperatura
minima, precipitazioni, etc.).
E’ importante sottolineare che, mentre il primo tipo di informazioni di
norma rimane fisso nel tempo, gli altri due gruppi sono variabili e quindi
soggetti ad aggiornamenti ed integrazioni.
Nel DB Phenagri le tabelle in cui i dati sono stati raggruppati sono nove, e
cioè: ENTE, SITO, STAZIONE_METEO, RILIEVI_METEO, TESI,
DATI_AGRONOMICI, REPLICA, RILIEVI_FENO, RILIEVI_ACCESSORI.
6.2.3 - Definizione dei campi
Stabilire i campi che devono entrare a far parte di ogni tabella significa
individuare preliminarmente quali sono gli attributi necessari per definire in
modo compiuto l'argomento a cui la tabella si riferisce.
Per il Progetto Finalizzato Phenagri, ad esempio, l'argomento "Ente
responsabile dei siti di rilievo fenologico", trattato nella tabella ENTE, viene
compiutamente descritto dai 10 campi visibili in figura 2.
E’ opportuno citare alcuni criteri da seguire per la definizione dei campi, e
cioè:
- devono essere effettivamente attributi relativi all’argomento trattato dalla
tabella;
- devono descrivere compiutamente in tutti i suoi aspetti l’argomento di ogni
tabella;
- devono essere distinti per ogni elemento di informazione, in modo da
suddividere il più possibile le informazioni: ad esempio, può essere
opportuno creare due campi distinti "NOME" e "COGNOME" piuttosto che
inserire i due elementi in un unico campo;
-
non devono contenere dati derivanti da calcoli, perché sarà il DB stesso ad
effettuare i calcoli quando necessario;
uno stesso campo non può essere contenuto in più tabelle.
Fig. 2: Struttura di una tabella creata con il programma MS Access.
6.2.4 - Definizione delle relazioni
Per garantire un corretto funzionamento del DB, ogni tabella deve
contenere almeno un campo che identifichi in modo univoco ciascun record
memorizzato in quella tabella; un campo soddisfa questa condizione se, per
ciascun valore assunto dal campo, esiste uno, ed uno solo, record con quel
valore.
Tra i vari campi che possono presentare queste caratteristiche è necessario
sceglierne uno e definirlo come “chiave primaria” di quella tabella: ciò servirà
per associare e raggruppare rapidamente dati provenienti da tabelle diverse. Ad
esempio, in una tabella che memorizzi informazioni su una categoria di
persone, il campo "nome" e il campo "cognome" non possono garantire, né
singolarmente né combinati tra di loro, l'univocità del loro contenuto. Il campo
"codice fiscale", invece, offre questa garanzia e rappresenta pertanto un campo
che può diventare “chiave primaria” della tabella di cui fa parte.
Se una tabella di un DB non contiene alcun campo o combinazione di
campi con le caratteristiche di chiave primaria, può risultare utile inserire un
campo ad hoc, tramite il quale si assegna un numero identificativo ad ogni
record di quella tabella. Questo è ciò che é stato fatto nel DB Phenagri: poiché
in alcune tabelle non risultavano presenti campi con le caratteristiche di
univocità richieste, si è deciso di aggiungere in ogni tabella un apposito campo
ID (identificativo) che contiene un numero progressivo per individuare in
maniera univoca ogni record di ciascuna tabella. Così l'ID_RilievoFeno, ad
esempio, è un campo che contiene un numero progressivo con il quale è
identificato ciascun rilievo fenologico non appena viene memorizzato nel DB.
Una volta scelte le chiavi primarie di ogni tabella del DB, si può dire di
aver completato la prima parte della progettazione, quella in cui si è esplicitato
dettagliatamente quali saranno gli argomenti del DB (tabelle), quali saranno gli
attributi di ciascun argomento (campi) e qual è l'attributo che identifica
l'argomento in maniera univoca (chiave primaria).
Fig. 3: Schema relazionale del DB Phenagri.
A questo punto si può passare alla fase successiva, quella in cui bisogna
individuare i rapporti che sussistono tra i diversi argomenti del DB, cioè
bisogna analizzare i dati di ciascuna tabella e stabilire le relazioni che
intercorrono tra le informazioni contenute nelle diverse tabelle del DB.
Con questa operazione vengono messe in connessione le tabelle l'una con
l'altra e vengono attivati i collegamenti tra le informazioni. Il software di
gestione del DB si servirà di queste relazioni per ricercare le informazioni
correlate, memorizzate nel DB, e per effettuare le operazioni di aggiornamento,
ricerca, elaborazione, estrazione e confronto richieste dall'utente.
6.2.5 - Verifica e revisione della struttura
Una volta definite le relazioni del DB, per completare il processo di
progettazione è necessario sia analizzare di nuovo nel dettaglio ogni singolo
elemento, sia dare uno sguardo d'insieme a quanto realizzato, per verificarne la
coerenza logica e funzionale. Per garantire l'efficacia di questa verifica è
opportuno controllare che il DB sia conforme a due criteri fondamentali,
l'”integrità” e la “normalizzazione”.
L'integrità del DB è garantita dal rispetto di due regole generali, valide
indipendentemente dal software utilizzato per la gestione del DB: l’integrità
dell'entità e l'integrità referenziale.
La prima stabilisce che una chiave primaria non può contenere valori nulli
né valori duplicati, mentre la seconda serve ad assicurare che le relazioni tra i
record delle tabelle correlate siano valide e che non vengano eliminati o
modificati per errore i dati correlati.
La normalizzazione di un DB è un processo che mira a raggiungere tre
scopi: eliminare informazioni ridondanti, incrementare l'integrità dei dati e
rendere il sistema più efficiente.
Una volta effettuata la revisione, si può considerare esaurita l'attività di
progettazione della struttura portante del DB.
6.2.6 - Interrogazione dei dati
Il vero scopo finale di una banca dati non è tanto quello di contenere ed
organizzare i dati, quanto, piuttosto, quello di fornire risposte adeguate alle
interrogazioni effettuate dagli utenti. La parte del DB dedicata a rendere
possibili le interrogazioni è la parte che finalizza e dà visibilità a tutto il lavoro
precedentemente realizzato; è, di solito, l’unica parte con la quale l’utente finale
ha un contatto diretto.
Da qui l’importanza di curarne la facilità di utilizzo e la flessibilità dei
criteri di ricerca dei dati di interesse.
Un DB ben progettato dal punto di vista logico permetterà un accesso
flessibile ai dati, rispondendo in maniera puntuale alle interrogazioni degli
utenti.
Lo strumento tramite il quale vengono effettuate le interrogazioni
all’interno di un DB viene definito, con il termine inglese, “query” (domanda,
interrogazione). Le query sono uno strumento fondamentale in qualsiasi sistema
di gestione di DB. Possono essere utilizzate, ad esempio, per selezionare gruppi
di specifici record, per raggruppare e successivamente visualizzare informazioni
provenienti da differenti tabelle.
Il DB Phenagri è stato impostato in modo da permettere l’interrogazione
parallela dei dati fenologici e dei corrispondenti dati meteorologici. Le
interrogazioni vengono costruite dall’utente all’interno di una maschera (Fig.
4), che lo guida nelle scelte da effettuare di volta in volta: i criteri di selezione
dei dati da consultare vengono inseriti tramite menù a tendina, scegliendoli tra
tutti quelli disponibili.
Il punto di partenza dell’interrogazione è costituito dalla scelta dell’ente
responsabile delle osservazioni in campo.
Fig. 4: Maschera di consultazione dati.
Poiché un ente può gestire più di un campo o azienda sede di rilievi fenologici,
è possibile scegliere l’azienda di interesse, tra quelle afferenti all’ente già
selezionato in precedenza. Se il sito prescelto è associato ad una stazione
meteorologica di riferimento, si attiverà nella maschera anche una sezione che
consentirà all’utente di scegliere, tra i dati meteorologici disponibili, quelli che
maggiormente interessano.
Successivamente è necessario indicare l’intervallo temporale (data di inizio
e data di fine) su cui effettuare la ricerca e una serie di informazioni (varietà,
epoca di semina, regime idrico e numero di pianta), che consentono di
individuare la tesi sperimentale della quale si vogliono esaminare i dati.
L’informazione sul numero della pianta è resa necessaria dal fatto che,
nell’ambito di Phenagri, il rilievo della fase fenologica non è relativo ad una
parcella o ad un appezzamento nel suo complesso, ma è relativo a singoli
individui scelti a caso all’inizio della campagna di rilevamento; di conseguenza,
l’utente può selezionare la pianta (o le piante) di cui vuole avere i rilievi
fenologici, oppure tutte le piante (il numero varia da 5 a 20 a seconda della
coltura).
Dopo che l’utente ha inserito tutte le opzioni previste, il DB visualizza il
risultato della interrogazione in due maschere separate, una per i dati fenologici
e l’altra per i dati meteorologici, all’interno delle quali è possibile:
effettuare una stampa dei dati visualizzati;
trasferire i dati su foglio elettronico Excel (l’indirizzo in cui viene salvato il file
con formato *.xls viene comunicato all’utente tramite un apposito messaggio).
Tornando alla maschera di interrogazione dati, con un apposito pulsante si
possono poi annullare le selezioni precedentemente effettuate e procedere così
ad una nuova interrogazione.
Note
Si riportano alcuni siti Internet che contengono informazioni e spiegazioni
per la realizzazione di un DB
http://www.athree.com/
http://support.microsoft.com/support/kb/articles/Q88/6/57.asp>
Nella realizzazione del DB Phenagri sono stati presi come riferimento le
strutture dei DB agrofenologici del Servizio Meteorologico Regionale
dell'Emilia Romagna e del Servizio Agrometeorologico Regionale della
Sardegna.
Bibliografia
1994."Microsoft Access v. 2.0. Manuale dell'utente". Microsoft Corporation,
956 pp.
Atzeni P., Ceri S., Paraboschi S., Torlone R., 1999. “Basi di dati”. Mc GrawHill, Milano, 620 pp.
Bechini L.,1999. “Le strutture di database come elemento del sistema di qualità
in agrometeorologia”. Atti del workshop nazionale di agrometeorologia AIAM
99 “Agrometeorologia e qualità dei dati”, 66-73.
Gardin L, Napoli R., Costantini E. A. C., 1996. "Architettura di un database
relazionale per un sistema informativo pedologico". Atti del Convegno
"Contributi della scienza del suolo allo studio e alla difesa dei territori montani
e collinari", Bollettino della società italiana di scienza del suolo, n° 8, dicembre
1996, 165-182.
Gauthier, L., Guay, R., 1998. "Using object-oriented database management
technology in agricultural decision support software". Canadian Agricultural
Engineering Vol. 40, n° 3, 219-226.
Jennings R.,1997. "La Grande Guida ACCESS 97". Jackson libri. 921 pp.