Banca dati e foglio di calcolo

È molto probabile che tu abbia già usato applicazioni per fogli di calcolo come Calligra Sheets, LibreOffice Calc o Microsoft® Excel. In tal caso, probabilmente ti starai chiedendo: visto che sia un foglio di calcolo che una banca dati hanno delle tabelle, perché dovrei usare una banca dati?

Confrontando i fogli di calcolo con le banche dati puoi incontrare i seguenti problemi, che verranno affrontati in maggior dettaglio in seguito.

In cosa una banca dati differisce da un foglio di calcolo?

Superando gradualmente la capacità di un telefono cellulare, amplia la tua tabella Contatti aggiungendo una colonna (campo) Indirizzo. Aggiungi più numeri di telefono (ufficio, casa) per ogni persona ed aggiungi dei cognomi ai nomi. Per rendere il tutto più facile facciamo le seguenti assunzioni:

  • La tabella è limitata a due persone (ovviamente ce ne potrebbero essere centinaia e migliaia in una vera banca dati)

  • Non esistono due persone con lo stesso nome e cognome

Tabella 6.2. Tabella dei contatti

Nome e cognomeTelIndirizzo

Joan Smith

699 23 43 12

Western Gate 1, Warsaw

Adam Willson

711 19 77 21

London, Frogs Drive 5

Joan Smith

110 98 98 00

Western Gate 1

Smith Joan

312 43 42 22

Warsaw, Western Gate 1

ADAM Willson

231 83 02 04

Frogs Drive 5, London


Una tabella di questo tipo può essere realizzata sia un foglio di calcolo che in una banca dati. Utilizzare un foglio di calcolo è sicuramente molto semplice. Quali problemi emergono a questo punto?

Integrità referenziale sui dati

Supponi di utilizzare un foglio di calcolo e di avere la necessità di modificare l'indirizzo di almeno una persona. Nasce un piccolo problema: devi cambiare spesso l'indirizzo su diverse righe. Ad esempio, Joan appare su tre righe. Sorgerebbe un problema serio se dimenticassi di modificarne una - l'indirizzo associato a questa persona risulterebbe ambiguo, quindi i tuoi dati perderebbero l'integrità.

Inoltre non c'è un modo semplice per cancellare una determinata persona dalla tabella dato che devi ricordarti di cancellare tutte le righe che la riguardano.

Ridondanza di dati

È direttamente connesso al problema precedente. Nei campi Nome e cognome e Indirizzo vengono inseriti più volte gli stessi dati. È tipico del modo inefficiente con il quale un foglio di calcolo memorizza i dati, poiché la banca dati cresce inutilmente, il che richiede più risorse (dimensione più grande dei dati ed accesso più lento).

Come puoi risolvere questi problemi con una banca dati? Puoi separare le informazioni in porzioni più piccole creando tabelle aggiuntive, come Persone con sole due colonne: Nome e cognome e Indirizzo:

Tabella 6.3. Tabella Persone

Nome e cognomeIndirizzo

Joan Smith

Western Gate 1, Warsaw

Adam Willson

Frogs Drive 5, London


Ogni riga della tabella Persone corrisponde ad una singola persona. La tabella Contatti è d'ora in poi in relazione con la tabella Persone.

Integrità e validità dei dati

Fai attenzione al modo con il quale vengono inseriti i dati nei campi Nome e cognome e Indirizzo. Chi inserisce i dati potrebbe commettere degli errori, alcune volte potrebbe essere addirittura negligente. Tra i nostri dati campione abbiamo sia sequenze diverse di inserimento per nome e cognome (Joan Smith e Smith Joan; Adam e ADAM) che un numero ancora maggiore di modi per inserire lo stesso indirizzo. Puoi certamente immaginarne altri.

Il problema summenzionato mostra come, ad es., quando si cerca un numero di telefono di una persona il cui indirizzo è «Western Gate 1, Varsavia» non si ottiene un risultato completo. Otterrai solo una riga invece di tre. Inoltre, non troverai neanche tutti i numeri di telefono cercando il valore «Joan Smith» nel campo Nome e cognome, poiché «Smith Joan» non coinciderà con «Joan Smith».

Come puoi risolvere questi problemi usando una banca dati? Lo puoi fare modificando il modello della tabella Persone come segue:

  1. Dividendo i dati nei campi Nome e cognome in due campi separati: Nome e Cognome.

  2. Dividendo i dati nel campo Indirizzo in tre campi diversi: Via, Numero di casa e Città.

  3. Garantendo la correttezza dei dati: assicurando che nessun campo sia vuoto; ad es., dovrai sempre inserire il numero di casa.

Una tabella modificata ha il seguente aspetto:

Tabella 6.4. Tabella Persone

NomeCognomeViaNumero di casaCittà

Joan

Smith

Western Gate

1

Warsaw

Adam

Willson

Frogs Drive

5

London

Vincoli

    

campo obbligatorio

campo obbligatorio

campo obbligatorio

campo obbligatorio

campo obbligatorio


Grazie all'introduzione del vincolo di campo obbligatorio possiamo essere certi che il dato inserito sarà completo. In altri casi potresti ovviamente permettere l'omissione di alcuni campi quando si inseriscono i dati.

Limitare la visualizzazione dei dati

Un foglio di calcolo mostra tutte le righe e le colonne della tabella, il che risulta fastidioso con fogli di dati molto grandi. Puoi ovviamente filtrare ed ordinare le righe nei fogli di calcolo, tuttavia devi essere molto attento quando lo fai. Gli utenti dei fogli di calcolo rischiano di dimenticare che la visualizzazione dei dati è stata filtrata, situazione che può portare a commettere degli errori. Ad esempio, mentre si calcolano delle somme puoi pensare di avere 100 righe di dati mentre in realtà ce ne sono altre 20 nascoste.

Se vuoi lavorare su un piccolo sottoinsieme dei dati, ad es. per inviarlo ad altri affinché lo modifichino, puoi copiarlo ed incollarlo su un altro foglio di calcolo e, dopo aver apportato le modifiche, ricopiare i dati modificati su quello principale. Una modifica «manuale» di questo tipo potrebbe causare la perdita di dati o calcoli scorretti.

Per limitare la visualizzazione dei dati, le applicazioni per banche dati offrono interrogazioni, moduli e rapporti.

Un modo molto pratico per limitare la visualizzazione dei dati è la seguente versione estesa della tabella Persone descritta in precedenza:

Tabella 6.5. Tabella Persone

NomeCognomeViaNumero di casaCittàEntrata

Joan

Smith

Western Gate

1

Warsaw

2300

Adam

Willson

Frogs Drive

5

London

1900


Supponiamo che la colonna appena introdotta Entrata contenga dati confidenziali. Come puoi condividere, ad es., i dettagli di un contatto con i tuoi colleghi senza rivelare le loro entrate? È possibile solo se condividi un'interrogazione e non la tabella intera. L'interrogazione potrebbe selezionare tutte le colonne eccetto Entrata. Nel gergo delle banche dati questo tipo di interrogazione viene spesso chiamata vista.

Prestazioni e capacità

Probabilmente il tuo computer è abbastanza veloce, tuttavia potrai notare come questo non sia di aiuto con fogli di calcolo lenti e di grosse dimensioni. La loro bassa efficienza è per prima cosa dovuta alla mancanza di indici che accelerano il processo di ricerca dei dati (le banche dati spesso li offrono). Inoltre, se usi cose come gli appunti di sistema, addirittura la copia dei dati potrebbe diventare problematica con il passare del tempo.

I fogli di calcolo che contengono grossi insiemi di dati potrebbero richiedere molto tempo per aprirsi. Un foglio di calcolo carica una grande quantità di dati sulla memoria del computer durante l'apertura. La maggior parte di essi sono probabilmente inutili/non necessari per il momento. Le banche dati, al contrario dei fogli di calcolo, caricano i dati dagli archivi solo quando necessario.

Nella maggior parte dei casi non dovrai preoccuparti di come la banca dati memorizza i suoi dati. Ciò significa che, a differenza dei fogli di calcolo, le banche dati non si curano circa:

  • La sequenza delle righe, visto che puoi ordinarle in base alle tue esigenze. Inoltre, puoi visualizzare gli stessi dati in maniere diverse con ordinamenti diversi.

  • Lo stesso vale per le colonne (campi) della tabella.

Insieme alla possibilità di limitare la visualizzazione dei dati, descritta nel paragrafo precedente, queste qualità costituiscono i vantaggi di una banca dati.

Inserimento dati

Le ultime edizione delle applicazioni per la creazione di fogli di calcolo ti permette di progettare moduli per inserimento dati. Questi tipi di modulo sono per lo più utili se i tuoi dati non possono essere mostrati in maniera conveniente con una visualizzazione tabulare, ad es. se il testo occupa troppe righe oppure se tutte le colonne non entrano nello schermo.

In questo caso il modo con il quale lavorano i fogli di calcolo è problematico. I campi per inserimento dati vengono collocati liberamente all'interno del foglio di calcolo e molto spesso non sono sicuri rispetto all'intervento (intenzionale od accidentale) dell'utente.

Rapporti

Le banche dati permettono il raggruppamento, la limitazione e l'aggregazione di dati in un modulo o in un rapporto. I fogli di calcolo sono generalmente stampanti sotto forma di piccole tabelle senza un pieno controllo automatico sulla divisione delle pagine e sullo schema dei campi.

Programmazione

Le applicazioni per la creazione di banche dati contengono spesso linguaggi di programmazione completi. I fogli di calcolo più recenti hanno la stessa capacità, tuttavia i calcoli si limitano alla modifica dei campi del foglio di calcolo e alla mera copia dei dati, senza tener conto della rilevanza e dei vincoli di integrità, citati nei paragrafi precedenti.

L'elaborazione dei dati all'interno di un foglio di calcolo è tipicamente eseguita attraverso una interfaccia utente di tipo grafico, cosa che potrebbe rallentarne la velocità. Le banche dati sono in grado di lavorare in background, al di fuori di interfacce grafiche.

Utilizzo multiplo

È difficile immaginare un utilizzo multiplo di un singolo foglio di calcolo. Anche se tecnicamente possibile nell'ambito delle applicazioni più recenti, richiede molta disciplina, attenzione e conoscenza da parte degli utenti, e ciò non può essere garantito.

Un modo classico per condividere i dati salvati in un foglio di calcolo con altre persone è di inviarlo come nella sua interezza come file (tipicamente utilizzando la posta elettronica) oppure rendendolo disponibile come file in una rete di computer. Questo modo di lavorare è porta vantaggi in un grosso gruppo di persone - i dati necessari in un particolare momento potrebbero essere bloccati da un'altra persona.

D'altro canto, le banche dati sono state progettate principalmente con gli accessi multiutente in mente. È permesso il blocco a livello di una riga di una determinata tabella persino nelle versioni più semplici, rendendo semplice la condivisione dei dati.

Sicurezza

Rende sicuro un foglio di calcolo oppure le sue specifiche sezioni con una password è solamente un'azione simbolica. Dopo aver fornito un foglio di calcolo in una rete di computer, ogni persona in grado di copiarlo potrà provare ad eludere la protezione. A volte non è così difficile dato che la password è memorizzata all'interno del file stesso.

È altrettanto facile eludere il blocco alle modifiche ed il blocco alla copia per un foglio di calcolo (o per una sua parte).

Le banche dati (ad eccezione di quelle salvate in un file invece che su un server) non hanno bisogno di essere disponibili su un singolo file. Potrai accedere ad esse tramite una rete di calcolatori, tipicamente fornendo un nome utente ed una password. Otterrai l'accesso solamente a quelle aree (tabelle, moduli o addirittura specifiche righe e colonne) che ti sono state assegnate impostando appropriati diritti di accesso.

I diritti di accesso possono influenzare la possibilità di modificare o di leggere i dati. Se non ti è reso disponibile alcun dato, non verrà neanche inviato al tuo computer in modo tale che non ci sia modo di crearne una copia così facilmente, come accade per i fogli di calcolo.