5.2 Creare un database

5.2.1 Operazioni di base

5.2.1.1 Impostare e pianificare un database

5.2.1.2 Creare una tabella con campi e attributi

Per creare una tabella in un nuovo database, occorre prima creare il database stesso mediante il comando Nuovo dalla barra

Oppure usando l’omonimo comando del menu File o la combinazione di tasti CTRL +N

Appare la seguente finestra di dialogo

La cartella Database offre una serie di modelli di database già precostruiti per diverse esigenze. Nella cartella Generale troviamo i comandi Progetto che consistono in una procedura guidata alla creazione del database ed infine l’icona Database per costruire il database senza alcuna guida

A differenza delle altre applicazioni Office, Access ci chiede subito di salvare il database

Diamogli un nome e premiamo il pulsante Crea

come potete notare, il database non presenta alcun oggetto

Cominciamo con l’inserire una tabella. Possiamo farlo usando uno dei tre comandi che vediamo nella finestra

Crea una tabella in visualizzazione Struttura

Crea una tabella mediante una creazione guidata

crea una tabella mediante immissione dei dati

Clicchiamo sulla voce corrispondente a Crea una tabella in visualizzazione Struttura

appare la seguente finestra di dialogo che ci consentirà di disegnare la struttura della tabella in termini di campi

Supponiamo che sia una sorta di agenda in cui vogliamo inserire i dati relativi ad una persona.

Il primo campo che vogliamo inserire sarà quello del nome. Nella prima colonna immettiamo il nome del campo e nella seconda scegliamo il tipo dei dati che saranno contenuti in esso

Il campo dovrà essere di tipo Testo. Il tipo testo è un tipo di dato costituito da una stringa di caratteri di lunghezza massima pari a 256. si noti che, scelto il tipo di dati, la cartella Generale nella parte inferiore della finestra, si è aggiornata automaticamente con le varie opzioni previste per questo tipo di campo.

La prima opzione è relativa alla lunghezza: il campo potrà contenere al massimo 256 caratteri ma noi possiamo decidere di permettere una lunghezza ancora inferiore, per default abbiamo una lunghezza massima di 50 caratteri. Ciò vuol dire che, quando andremo ad utilizzare questa tabella , non potremo immetter più di 50 caratteri nel campo.

Nell'impostazione della proprietà Formato è possibile utilizzare simboli speciali per la creazione di formati personalizzati per i campi Testo e Memo.

Impostazione

È possibile creare formati testo e memo personalizzati utilizzando i seguenti simboli:

Simbolo | Descrizione
@ | Carattere di testo obbligatorio (un carattere o uno spazio).
& | Carattere di testo non obbligatorio.
< | Converte tutti i caratteri in minuscolo.
> | Converte tutti i caratteri in maiuscolo.

I formati personalizzati dei campi Testo e Memo possono contenere fino a due sezioni. Ciascuna sezione contiene la specifica del formato per i diversi dati di un campo.

Sezione | Descrizione
Prima | Formato per campi con testo.
Seconda | Formati per campi con stringhe di lunghezza zero e valori Null.

Ad esempio, se si desidera visualizzare la parola "Nessuno" in un controllo di casella di testo quando nel campo non vi sono stringhe, come impostazione di della proprietà Formato del controllo digitare il formato personalizzato @;"Nessuno". Il simbolo @ provoca la visualizzazione del testo del campo; la seconda sezione causa la visualizzazione della parola "Nessuno" in presenza di una stringa di lunghezza zero o del valore Null.

Come altro esempio posso inserire il simbolo > nella sezione Formato

In questo caso, quando utilizzerò la tabella, anche se inserirò il nome scritto con caratteri minuscoli, esso sarà visualizzato maiuscolo

Con la maschera di input possiamo creare una maschera che facilita l’immissione dei dati quando usiamo una tabella

clicchiamo sul pulsantino che appare sulla destra e appare una finestra che ci guida a creare la maschera

supponiamo, ad esempio, che si tratti di un campo in cui l’utente deve inserire un codice fiscale. Si tratta di un campo in cui è facile commettere errori di immissione

se clicchiamo sulla finestra Prova vediamo l’effetto che vedrà l’utente quando entrerà in quel campo

delle linee segneranno i posti che dovranno essere occupati dalle lettere immesse dall’utente della tabella. In tal modo egli si accorgerà subito se avrà inserito caratteri in meno rispetto a quelli richiesti

Cliccando sul pulsante Avanti si accede ad una nuova finestra in cui si può modificare il simbolo segnaposto

La proprietà etichetta consente di associare un nome ad un campo. Se, ad esempio, scelgo l’etichetta “Nome maiuscolo”, essa apparirà in testa alla colonna corrispondente a quel campo quando userò la tabella

se (vedremo in seguito come si fa) creo una maschera per quella tabella

e vi creo una finestra per accedere a quel campo mediante trascinamento, automaticamente a quel campo verrà associata l’etichetta

la proprietà Valore predefinito consente di inserire una stringa che apparirà nel campo prima che l’utente inserisca i dati voluti

Il campo Valido Se mi consente di inserire delle regole che deve rispettare il dato inserito dall’utente

nel nostro esempio non si potranno inserire nomi che inzino per D. quando l’utente andrà ad inserire il nome Dario il programma gli segnalerà di aver violato la regola

Il campo Messaggio di errore consente di decidere quale messaggio visualizzare all’utente se immette dati che non rispettano la regola impostata con l’opzione precedente

L’opzione Richiesto fa in modo da determinare se l’utente debba obbligatoriamente riempire quel campo o meno

l’opzione seguente decide se è possibile inserire stringhe di lunghezza nulla. Per i profani occorre sapere che una stringa nulla “” ed un campo vuoto o Null sono due oggetti diversi

Con l’opzione successiva il programma ci chiede se quel campo dovrà essere usato per creare un indice dei vari record (per fare un esempio l’elenco del telefono è un database in cui ogni record contiene cognome, nome, indirizzo e numero di telefono degli utenti, questo database è organizzato usando come indice il campo cognome). Nel caso si decida di usare tale campo come indice il programma ci chiede ulteriormente se sono ammessi duplicati o meno

# Compattazione dei dati in un campo Testo, Memo o Collegamento ipertestuale

Per rappresentare i dati dei campi di tipo Testo, Memo e Collegamento ipertestuale in Microsoft Access 2000 viene utilizzato il sistema Unicode. In Unicode ogni carattere è rappresentato da due invece che da un unico byte.

I sistemi di codifica che memorizzano ogni carattere in un solo byte limitano l'uso a un'unica tabella di codici, ovvero un set numerato contenente un massimo di 256 caratteri. Al contrario, Unicode può supportare fino a 65.536 caratteri in quanto rappresenta ogni carattere con due byte. Di conseguenza i dati di un campo di tipo Testo, Memo o Collegamento ipertestuale richiedono una maggiore quantità di spazio di memorizzazione rispetto alle precedenti versioni di Access.

È possibile compensare questa conseguenza della rappresentazione dei caratteri Unicode e garantire prestazioni ottimali impostando la proprietà Compressione Unicode del campo a Sì. Questa è l'impostazione predefinita quando si crea un campo di tipo Testo, Memo o Collegamento ipertestuale. Se la proprietà Compressione Unicode di un campo è impostata su Sì, qualsiasi carattere il cui primo byte sia 0 viene compresso al momento della memorizzazione ed espanso quando viene recuperato. Siccome il primo byte di un carattere latino (ovvero un carattere di una lingua europea occidentale come l'inglese, l'italiano o il tedesco) è 0, la rappresentazione dei caratteri Unicode non ha effetto sulla quantità di spazio richiesta per la memorizzazione dei dati compressi che consistano esclusivamente di caratteri latini.

In un campo singolo è possibile memorizzare una qualsiasi combinazione di caratteri supportata da Unicode. Tuttavia, se il primo byte di un particolare carattere non è 0, quel carattere non viene compresso.

Nota I dati di un campo Memo non vengono compressi a meno che non richiedano uno spazio non superiore a 4096 byte dopo la compressione. Di conseguenza il contenuto di un campo Memo potrebbe essere compresso in un record e non in un altro record.

Dopo aver inserito un campo Cognome, inseriamo un campo Note in cui vogliamo inserire un promemoria sulla persona . In tal caso potremmo aver bisogno di più di 256 caratteri. Access mette a disposizione il tipo Memo che, a differenza del tipo testo può contenere più di 65000 caratteri

per il campo Data di Nascita abbiamo il formato data/ora

per il quale possiamo decidere il formato

possiamo decidere la maschera di input

significato simile hanno gli altri campi di opzione. Notate in particolare come abbiamo inserito un sistema per segnalare se viene messa una data di nascita superiore al primo gennaio 2002

Ora vogliamo inserire una foto della persona nel database. In tal caso dobbiamo introdurre un campo Foto che dovrà essere di tipo Oggetto Ole. In campi di questo tipo possiamo inserire un oggetto qualunque: da un file video ad una foto JPEG, ecc.

possiamo voler inserire anche l’indirizzo di posta elettronica con un collegamento ipertestuale in modo che, cliccando semplicemente sull’indirizzo , il programma di mail prepari automaticamente una mail indirizzata alla persona

In questo caso il campo dovrà essere di tipo Collegamento ipertestuale

un altro tipo possibile di campo è quello si/no. Supponiamo ad esempio, che si voglia introdurre un campo da cui risulti se la persona è sposata

utilizzeremo, in tal caso, il campo del tipo Sì/No che può assumere soltanto due valori

Abbiamo, infine, il campo ricerca guidata. In tal caso lo scopo è di fare in modo che l’utente riempia questo campo non da tastiera ma selezionando una voce in un elenco prestabilito

Il programma ci chiede, ora, se l’elenco dovrà essere ricavato da una tabella già preparata o dovremo inserire ora manualmente le singole voci di esso

se lasciamo la prima opzione selezionata e non abbiamo preparato una tabella diversa da quella che stiamo costruendo adesso, all’interno del database, il programma segnalerà l’errore appena premiamo il pulsante Avanti

si apre una finestra che ci consente di inserire le voci nell’elenco

quando useremo la tabella avremo un effetto del genere

In maniera alternativa possiamo costruire una nuova tabella

con un solo campo

salvarla

stavolta dovremo rispondere sì quando il programma ci chiederà se deve costruire una chiave primaria

quando, nella tabella principale , creiamo il campo professione ,

selezionando la prima opzione

il programma mostra l’elenco delle tabelle disponibili

selezionata la tabella dall’elenco, il programma ci chiederà quali dei suoi campi inserire nella ricerca

selezioniamo i campi e spostiamoli nella finestra di destra mediante il pulsante freccia a destra

Terminata la realizzazione di una tabella quando proveremo a salvarla il programma ci avvertirà che non è stata inserita alcuna chiave primaria

vedremo successivamente cos’è una chiave primaria. Per il momento possiamo rispondere anche No alla domanda postaci dal programma

Una nuova tabella può essere creata mediante il pulsante Nuovo nella finestra del database

o dal menu Inserisci