Brevi cenni sui Database.

Spesso in Excel usiamo definire una zona di celle contenenti dati, come "Database" che in definitiva significa: un contenitore di dati (siano essi testo, numeri, date).

Questi dati dovranno essere organizzati in una struttura basata su righe e colonne che ci consenta di tenere in un determinato ordine tutti i dati inseriti o che andremo inserendo. Ovviamente è la natura dei dati che andremo ad inserire, unito al tipo di consultazione dei dati a noi necessario, che potranno determinare come costruire lo schema di questo contenitore.

Excel si presta ottimamente, visto che ogni suo foglio è composto da 65536 righe e 256 colonne, ad ospitare il componente principale di un Database, cioè una (o più) "Tabella".

Ogni database infatti è costituito da almeno una Tabella che contiene i dati. E' nella Tabella che si inseriscono e si memorizzano i dati, ed è nella Tabella, che con istruzioni (vba, per Excel) o formule e funzioni, potremo gestire o interrogare i dati ivi contenuti.

Esistono molti tipi di database, e non staremo qui a identificarne i tipi, ma tutti si basano su insiemi di dati, organizzati in righe e colonne. In pratica ogni riga è un "record", e le divisioni rappresentate dalle colonne sulla stessa riga, formano i "campi" del database, per cui possiamo dire che un record è l'insieme dei dati contenuti nei campi della stessa riga. Schema di una tabella :

  campo1 campo2 campo3 ecc.
record 1 cmp1 del rcd1 cmp2 del rcd1 cmp3 del rcd1  
record 2 cmp1 del rcd2 cmp2 del rcd2 cmp3 del rcd2  
ecc.        

Diventa di primaria importanza quindi, determinare esattamente lo schema di una Tabella, cioè di come struttureremo i campi, in funzione del tipo di utilizzo (interrogazioni comprese) che vorremo eseguire sui dati. Tenete presente che ogni libro che tratta l'argomento "Database", inizia sempre chiarendo che un buon database e impostato su Tabelle il cui schema viene prima "pensato" (in funzione delle nostre esigenze) e poi realizzato; intervenire con modifiche di struttura su Tabelle costruite in un determinato schema, in genere porta poi a dover rifare tutto.

Facciamo un esempio per chiarire quanto detto finora.

Supponiamo di voler tenere le registrazioni dei rifornimenti di carburante fatti con la nostra vettura: la prima domanda che ci porremo sarà:

  • che cosa mi interessa registrare riguardo ai rifornimenti?

la risposta potrà essere:

  • da quale marca ho fatto rifornimento (nome Compagnia; Agip, Q8, ecc.ecc)

  • il costo al litro del carburante, per ogni Compagnia

  • la data del rifornimento

  • quanti litri ho rifornito per ogni rifornimento

  • quanto ho speso in Euro

la seconda domanda che ci porremo sarà :

  • a parte il registrare i dati, cosa voglio ottenere dai dati inseriti?

le possibili risposte saranno:

  • voglio sapere quanto avrò speso in totale per i vari acquisti.

  • voglio sapere quanto avrò speso per ogni singola Compagnia.

  • quante volte ho fatto rifornimento da una stessa Compagnia

  • quanti e quali rifornimenti ho fatto in un determinato arco di tempo e loro totale spesa

  • quanti e quali rifornimenti ho fatto in un determinato arco di tempo presso una specifica compagnia e il totale spesa nell'arco di tempo

  • ecc. ecc.

Una volta stabiliti i punti sopra, siamo quasi pronti a realizzare lo schema della nostra Tabella, mancano ancora alcune considerazioni:

  • avendo necessità di aggiungere registrazioni a piacere, dovremo usare della Tabella, le righe (o records) quindi useremo le colonne come "campi" dove inserire i dati relativi ad ogni rifornimento.

  • con quale campo inizio la mia tabella? è infatti abbastanza determinante, per il tipo di necessità legate alla seconda domanda, stabilire una "priorità" nella formazione della sequenza dei campi.

  • se pensiamo di usare funzioni del foglio di lavoro, tipo la funzione CERCA.VERT, (o la CERCA.ORIZZ), oppure la funzione INDICE, ci dobbiamo ricordare che queste funzioni cercheranno un dato sempre nella prima colonna a sinistra di una tabella, condizione questa che ci suggerisce "cosa" usare come campo iniziale.

In questo articolo non ci occupiamo di esaminare formule e funzioni e loro posizionamento rispetto alla tabella, ma solo suggerire una possibile soluzione su come impostare la Tabella sui dati presi in esame sopra.

Un possibile schema di una Tabella atta a contenere questo tipo di dati, potrebbe essere questa (i dati e i valori sono solo d'esempio) : le celle gialle formano campi del database con le "intestazioni di campo" meglio dette in Excel : "intestazioni di colonna",  le righe invece formeranno i records del database, dove verranno inseriti i dati, riga dopo riga.

  A B C D E F
1            
2 Compagnia costo/lt Data rif. quantità Spesa  
3            
4            
5            
6            
7            

 

una tabella invece possibile, ma che limiterebbe molto l'utilizzo di formule e funzioni, quindi secondo me sbagliata, potrebbe essere questa impostata in orizzontale: usiamo cioè le righe in giallo come intestazioni di campo, e le colonne come record dove, per ogni data (celle verdi), vengono inseriti dati nelle celle sottostanti

  A B C D E F
1            
2

Data rif.

         
3 Compagnia          
4 costo/lt          
5 quantità          
6 Spesa          
7            

Risulterebbe problematico usare funzioni di ricerca, e comunque concettualmente questa tabella, per il tipo di dati che vogliamo inserire e consultare, è sbagliata nell'impostazione.

Se ho aiutato i meno esperti ad imparare qualcosa su come impostare le proprie tabelle, meglio.

Buon lavoro.

prelevato sul sito http://ennius.altervista.org