Programma biblioteca - parte prima

 

1.0 Introduzione

2.0 La progettazione

2.1 Schematizzazione del problema

2.2 Le tabelle

2.3 I campi

3.0 La tabella libri

3.1 Importazione dati da altri programmi

 

1.0 Introduzione

Il modo migliore per cercare di comprendere la modalità di progettazione e realizzazione di un programma di archiviazione e gestione dati in access consiste nel cercare di realizzare una applicazione basandoci su di una esigenza pratica.

Questa settimana cominciamo con la realizzazione di un  semplice programma per la catalogazione e la gestione di una piccola biblioteca. Il nostro programma dovrà essere in grado di consentire ad un utente poco esperto di gestire la catalogazione del patrimonio librario e la gestione dei prestiti.

Si tratta di un semplice programma pensato e realizzato per una piccola biblioteca, quale ad esempio quella di una scuola, ma le modalità di realizzazione non sarebbero molto dissimili nel caso di un programma per la gestione degli ordini in una piccola azienda o nel caso di un programma per la gestione della contabilità.

2.0 La progettazione

2.1 Schematizzazione del problema

La prima fase, che spesso viene sottovalutata, è senza dubbio la più importante e la più complessa.

In primo luogo, come in ogni progettazione, dobbiamo schematizzare nella nostra mente il problema che vogliamo affrontare, per poi scegliere il miglior modo per risolverlo. L'errore più grande che possiamo commettere, è quello di cominciare a strutturare il database senza avere una idea chiara degli obiettivi che vogliamo raggiungere: quasi sicuramente alla fine ci accorgeremo che le modifiche che dobbiamo apportare sono così impegnative da rendere più facile ricominciare tutto da capo.

Il problema che ci proponiamo di risolvere è relativamente semplice e lo possiamo schematizzare nei seguenti punti:

  1. vogliamo una tabella (o database) che contenga i dati essenziali dei libri della mia biblioteca

  2. vogliamo gestire i prestiti agli utenti

  3. vogliamo redigere delle statistiche sul gradimento dei vari libri

  4. vogliamo stampare le etichette da apporre sui libri

2.2 Le tabelle

A questo punto, fissati gli obiettivi principali, dobbiamo cominciare ad entrare nel dettaglio della realizzazione. La domanda che ci dobbiamo porre a questo punto è la seguente:

di quante tabelle abbiamo bisogno per inserire i dati che ci servono?

La domanda può sembrare banale, ma non lo è affatto. In prima battuta potremmo essere portati a credere che una sola tabella sia sufficiente a contenere tutte le informazioni che dobbiamo trattare. Nel caso del prestito di un determinato libro potremmo, ad esempio, strutturare una tabella che abbia dei campi relativi alle caratteristiche proprie del libro in oggetto, dei campi relativi all'utente che lo prende in prestito e dei campi relativi alla data di prelievo e alla data di consegna.

Cominciando ad inserire i dati, ci accorgeremo che se, ad esempio, un dato libro viene preso in prestito 20 volte, in una tabella strutturata come quella descritta precedentemente, l'operatore sarà costretto ad inserire per 20 volte le informazioni relative a quel libro (titolo, autore,....).

Ovviamente, la soluzione che avevamo pensato all'inizio non è la più razionale. E' molto meglio prevedere la realizzazione di tre differenti tabelle: una per i libri, una per gli utenti ed una per i tempi del prestito. In questo modo risulterà molto più agevole l'inserimento dei dati oltre al fatto che in questo modo riusciremo a contenere notevolmente le dimensioni fisiche del nostro file.

 

2.3 I campi

Una volta deciso il numero delle tabelle, dobbiamo cominciare a realizzarle nel dettaglio, cominciando, come è ovvio, da quella che riguarda i libri, che costituisce l'elemento centrale del nostro programma di gestione. In ciascuna tabella, comunque, dovremo decidere quali campi inserire e, campo per campo, quale tipo di informazione andrà immagazzinata.

Anche questa sembra una operazione ovvia, ma non va sottovalutata, perché un errore in questa fase può comportare gravi problemi nel procedere dell'elaborazione del programma.

In particolare va analizzato un elemento e cioè la dimensione del campo: per quanto riguarda i campi testo (quelli che andremo in gran parte ad utilizzare) access 2000 consente di utilizzare una dimensione massima di 255. Il problema che dovremo affrontare, campo per campo, ha un duplice aspetto: da un lato dobbiamo avere una dimensione sufficientemente grande da consentire l'immissione dei dati, dall'altro dobbiamo cercare di contenere la dimensione per evitare di occupare memoria in maniera inutile (non ha infatti alcun senso utilizzare un campo di 255 caratteri quando devo immagazzinare dati di 10 caratteri!). Si tratta di un vero e proprio problema di ottimizzazione!

Analizzati questi aspetti siamo pronti ad iniziare!

3.0 La tabella libri

Cerchiamo ora di creare la tabella relativa ai libri, che costituisce il cuore del nostro archivio dati.

Dobbiamo, in primo luogo, individuare quali sono i dati che ci interessa rilevare di ciascun libro;  i dati che intendiamo inserire di ciascun libro (ovviamente ciascuno potrà personalizzarli a seconda delle proprie esigenze) sono nell'ordine il genere, l'autore, il titolo, il volume, l'anno di pubblicazione, la case editrice, la segnatura e le note. Schematizzando le nostre esigenze ed aggiungendo anche un campo Contatore, otteniamo il seguente schema operativo della nostra tabella.

Nome

Tipo

Note

ID

Contatore

Indicizzato: Sì (Duplicati non ammessi)
Genere

Testo

Dimensione campo: 255; richiesto: Si; Consenti lunghezza zero: No; Indicizzato: No
Autore

Testo

Dimensione campo: 50; richiesto: No; Consenti lunghezza zero: No; Indicizzato: No
Titolo

Testo

Dimensione campo: 255; richiesto: No; Consenti lunghezza zero: No; Indicizzato: No
Volume

Testo

Dimensione campo: 50; richiesto: Si; Consenti lunghezza zero: No; Indicizzato: No
Anno pubblicazione

Testo

Dimensione campo: 50; richiesto: No; Consenti lunghezza zero: No; Indicizzato: No
Casa editrice

Testo

Dimensione campo: 255; richiesto: No; Consenti lunghezza zero: No; Indicizzato: No
Segnatura

Testo

Dimensione campo: 50; richiesto: No; Consenti lunghezza zero: No; Indicizzato: No
Note

Testo

Dimensione campo: 255; richiesto: No; Consenti lunghezza zero: No; Indicizzato: No

Possiamo quindi, sulla falsariga di quanto evidenziato, iniziare a creare la tabella libri.

Avviamo access ed apriamo un nuovo database: fatto ciò otterremo la seguente schermata

Clicchiamo Crea una tabella in visualizzazione struttura, ottenendo la seguente schermata

Nella sezione Nome campo scriviamo Genere, nella sezione Tipo dati scegliamo Testo e come Dimensione campo digitiamo 255. Allo stesso modo inseriamo gli altri campi. alla fine otterremo il seguente risultato

Terminata questa fase, chiudiamo la finestra: comparirà il seguente messaggio

Cliccando Sì ci verrà richiesto il nome con il quale salvare la tabella: noi scegliamo di identificare la tabella con il nome Libri

Cliccando OK comparirà una ulteriore schermata di richiesta

Access ci consiglia di creare una chiave primaria; scegliendo l'opzione Sì otterremo finalmente la nostra tabella Libri

Cliccando due volte su Libri siamo ora in grado di iniziare la lunga e noiosa operazione di inserimento dei dati relativi ai libri che compongono la nostra biblioteca.

3.1 Importazione dati da altri programmi

Capita molto spesso che i dati che dobbiamo inserire siano già stati scritti in qualche altro programma. Ad esempio, ho una lista di 1880 libri in Excel che è possibile scaricare in un file zippato cliccando qui. Sarebbe del tutto ridicolo reinserire nuovamente i dati che sono già stati scritti in altra forma. Per fortune Access mi consente di importare i dati scritti in altra forma, con l'unica accortezza di avere gli stessi campi di dati.

Possiamo procedere in molti modi diversi, tuttavia quello che mi sembra più semplice è il seguente.

Tenendo aperto contemporaneamente Il foglio Excel contenente le informazioni sui libri e la tabella Access Libri, eseguo un semplice Copia e Incolla, trasferendo i dati da una applicazione all'altra.

I campi devono essere gli stessi ed inoltre non devo avere, ad esempio, titoli con più di 255 caratteri (compreso gli spazi vuoti), dimensione superiore a quella che si può immettere nel campo corrispondente. Rispettando queste semplici regole l'importazione avverrà in modo semplice e sicuro. Se volete scaricare il file access aggiornato con l'importazione da Excel cliccate qui.

La prossima settimana proseguiremo nella creazione del programma!