Inizio pagina.
Modulo 5, database, parte 2 di 6: tabelle, nove punti.
Vai al menù di navigazione.
NOTA: dove non specificato diversamente è inteso che, per questa parte, la finestra di lavoro è quella che si ha cliccando sull'oggetto "tabelle" presente in alto nell'elenco degli oggetti disponibili per il database attivo.
punto 1 di 9. Argomenti: creare e salvare una tabella; definire una chiave primaria; modificare gli attributi di formato di un campo (dimensioni, formato numerico, data); aggiungere un campo ad una tabella esistente; cancellare una tabella; chiudere una tabella.
Generalmente le tabelle si creano tramite la visualizzazione struttura. Per creare una nuova tabella fare quindi doppio click su "crea una tabella in visualizzazione struttura". Si apre una finestra nella quale, a sinistra, si devono inserire i nomi dei vari campi che saranno presenti nella tabella (NOTA: è buona norma non lasciare spazi bianchi nei nomi; al limite si può usare il carattere di sottolineatura "_") e a destra, per ogni campo inserito, si deve specificare il tipo di dati scegliendolo fra quelli disponibili nella casella combinata presente. La colonna "descrizione" è facoltativa e consente di scrivere una breve descrizione del campo. Per ogni campo inserito, in basso sempre in questa finestra, si possono specificare le proprietà, tramite la scheda "generale". Tali proprietà cambiano in base al tipo di dati scelto. Cliccando su una delle caselle delle proprietà presenti viene visualizzata nel riquadro di destra una descrizione che indica a cosa serve la proprietà in questione. Per avere ulteriori informazioni si può premere F1, per aprire automaticamente la guida in linea proprio alla pagina che ci interessa. Ad esempio, per il tipo di dati "testo", una proprietà comune da impostare sempre è la dimensione del campo (cioè, in questo caso, il numero massimo di caratteri digitabili nel campo, che non può eccedere, per il formato "testo", i 255 caratteri, come indicato nella breve guida presente sulla destra); anche per il formato "numerico" una proprietà comune è la dimensione, che questa volta però non è espressa in numero di caratteri disponibili, ma con una breve descrizione, che deve essere scelta fra quelle disponibili nella casella combinata presente (per sapere quali numeri possono essere inseriti scegliendo una certa dimensione piuttosto che un'altra basta premere F1 quando il cursore è nella casella della dimensione del campo: si apre la guida in linea alla pagina che spiega le varie dimensioni. Ad esempio il tipo "intero" memorizza numeri da
-32.768 a 32.767, senza decimali; il tipo "intero lungo" memorizza numeri da
-2.147.483.648 a 2.147.483.647, senza decimali, ecc); per il tipo di dati "data/ora" è utile invece impostare il formato di visualizzazione della data/ora, scegliendone uno dalla casella combinata "formato" che è presente in basso quando si seleziona il tipo di dati "data/ora".
Come detto nella parte precedente, ogni tabella deve avere un campo definito come chiave primaria, cioè un campo (o un insieme di campi) che permette di identificare univocamente un certo record all'interno della tabella, perché non ammette valori duplicati. Per definire un campo (o più campi) come chiave primaria per la tabella è necessario, durante la creazione della tabella in visualizzazione struttura, selezionarlo (o selezionarli, usando il tasto CTRL per le selezioni non contigue) e poi premere sul simbolo della chiave presente sulla barra degli strumenti (il pulsante si chiama "chiave primaria"): se una chiave viene visualizzata alla sinistra della riga (o delle righe) che erano state selezionate, l'operazione è andata a buon fine e la chiave primaria è stata definita. Nel definire un campo come chiave primaria è necessario stare attenti al fatto che quel campo, successivamente, NON potrà contenere valori duplicati, cioè non ci potranno essere due record nella tabella che hanno lo stesso valore per quel campo. Spesso i campi utilizzati come chiave primaria sono di tipo contatore, oppure di tipo testo (nel caso si voglia utilizzare una specie di codice parlante) di dimensioni ridotte.
Una volta creata la tabella per salvarla basta premere su file-salva e scegliere un nome, oppure chiudere semplicemente la tabella e inserire un nome quando richiesto, cliccando sulla consueta X della finestra della tabella (NON della finestra di access o della finestra del database!). Notare che se nessuna chiave primaria è stata definita per la tabella access avverte l'utente della mancanza e lo invita a definirne una.
Se, una volta salvata e chiusa una tabella, si vogliono fargli delle modifiche (ad esempio aggiungere o eliminare un campo) basta aprirla in visualizzazione struttura, fare le correzioni desiderate, salvare e chiudere di nuovo.
Per cancellare una tabella esistente è sufficiente selezionarla e premere sul pulsante "elimina" presente vicino al pulsante di visualizzazione struttura, contrassegnato da una "X", oppure premere sulla tabella con il tasto destro del mouse e scegliere "elimina". Attenzione: non è possibile annullare l'eliminazione di una tabella.
punto 2 di 9. Argomenti: inserire, modificare ed eliminare record in una tabella; usare il comando annulla.
Una volta creata la struttura di una tabella si deve passare ad inserirvi i dati. Per inserire i dati in una tabella basta aprirla in modalità foglio dati e inserire i dati con la tastiera, spostandosi da un campo all'altro con il mouse o con le frecce della tastiera. Il record sul quale siamo posizionati viene evidenziato da una freccia nera. Per inserire un nuovo record nella tabella basta spostarsi sull'ultimo record, vuoto, contrassegnato da un asterisco. Il record che stiamo inserendo viene contrassegnato da una matita; per annullare l'inserimento in corso premere più volte il tasto ESC presente sulla tastiera. Per modificare un record già esistente basta posizionarci sopra il cursore e fare le modifiche. Per eliminare un record è necessario selezionarlo (cliccandoci sulla sinistra con il tasto sinistro del mouse) e premere il tasto CANC presente sulla tastiera. Tutte le operazioni vengono salvate automaticamente.
Il comando modifica-annulla consente di annullare l'ultima operazione eseguita.
punto 3 di 9. Argomenti: navigare nei dati di una tabella.
Per navigare nei dati di una tabella si può usare semplicemente il mouse e le barre di scorrimento, oppure si possono usare le frecce della tastiera, oppure infine si possono usare i pulsanti di navigazione presenti in basso nella finestra della visualizzazione foglio dati di una tabella. Il primo pulsante porta il cursore al primo record della tabella, il secondo lo porta al record precedete, il terzo lo porta al record successivo, il quarto all'ultimo record della tabella mentre il quinto, contrassegnato da una freccia ed un asterisco, lo porta all'inserimento di un record nuovo. Per andare ad un record specifico, ad esempio al sesto record presente nella tabella, si deve scrivere "6" nella casella di testo che si trova tra il secondo e il terzo dei tasti appena descritti e premere invio.
punto 4 di 9. Argomenti: salvare i dati di una tabella.
I dati della tabella vengono salvati automaticamente ad ogni operazione; comunque è possibile salvare in un dato momento premendo file-salva (in modalità foglio dati di una tabella).
punto 5 di 9. Argomenti: indicizzare un campo con e senza duplicati.
Per definire un indice su una tabella, allo scopo di velocizzare le ricerche, è necessario aprirla in visualizzazione struttura, poi si deve premere su visualizza-indici (o sul corrispondente pulsante presente nella barra degli strumenti): si apre una finestra nella quale dare un nome all'indice che si vuole definire (generalmente uguale al nome del campo sul quale lo si definisce), scegliere il campo sul quale definire l'indice, scegliere un ordinamento di default e, quando il cursore è sulla casella del nome dell'indice, scegliere in basso se l'indice deve essere "primario" (cioè se deve essere una chiave primaria; notare che di chiavi primarie ce ne può essere UNA SOLA, anche se definita su più campi!) e se il campo deve essere "univoco" (cioè se sono consentiti valori uguali per quel campo in due record diversi). Notare che per le chiavi primarie già definite viene creato automaticamente un indice.
punto 6 di 9. Argomenti: le conseguenze della modifica delle dimensioni di un campo di una tabella, con dati già inseriti.
Se in una tabella ci sono dei dati già inseriti e si procede alla modifica delle dimensioni di un certo campo ci possono essere dei problemi nel caso in cui le nuove dimensioni siano minori delle dimensioni vecchie: in questo caso i dati precedenti, che eccedono le nuove dimensioni (più restrittive), vengono TRONCATI in modo da farli stare nelle dimensioni appena impostate. Se invece le nuove dimensioni sono maggiori delle vecchie non c'è alcun problema. Prima di effettuare troncamenti access avverte l'utente, che può così decidere di mantenere le vecchie dimensioni o di accettare il troncamento.
punto 7 di 9. Argomenti: creare una regola di validazione per numeri, testo, data/ora, valuta.
Le regole di validazione si impostano nella casella di testo "valido se" presente nelle proprietà di un certo campo (in visualizzazione struttura). Tali regole permettono di definire dei criteri che consentono di accettare o meno dei dati per un certo campo. Ad esempio nel campo "compenso" di una ipotetica tabella "dipendenti" potrei impostare il criterio valido se ">0", per impedire agli utenti di inserire un compenso negativo, che non avrebbe significato. I criteri di "valido se" si possono impostare anche per testi, data/ora, valute, allo stesso modo illustrato nell'esempio. Notare che gli operatori sono sempre i soliti: maggiore (>), minore (<), maggiore o uguale (>=), minore o uguale (<=), uguale (=), diverso (<>).
punto 8 di 9. Argomenti: cambiare l'ampiezza delle colonne di una tabella; spostare una colonna all'interno di una tabella.
Per cambiare l'ampiezza delle colonne di una tabella si agisce dalla modalità foglio dati, come se fossero delle colonne di excel (quindi trascinandone il bordo con il mouse nella nuova posizione, quando la freccia diventa una doppia freccia orientata est-ovest); per spostare le colonne basta trascinarle nella nuova posizione.
punto 9 di 9. Argomenti: creare una relazione uno-a-uno e uno-a-molti fra tabelle; cancellare relazioni fra tabelle; applicare l'integrità referenziale.
Le relazioni fra le tabelle, come si è intuito dagli esempi proposti, si dividono principalmente in due tipi: relazioni uno-a-uno, nelle quali ad ogni record della prima tabella corrisponde un solo record della seconda tabella e viceversa; relazioni uno-a-molti (le più usate), nelle quali ad ogni record della prima tabella possono corrispondere uno o più record della seconda tabella, viceversa ad ogni record della seconda tabella è associato un solo record della prima tabella.
Le relazioni di tipo uno-a-uno sono possibili solo fra campi univoci (chiavi primarie oppure campi sui quali è stato definito un indice univoco) dello stesso tipo, mentre le relazioni uno-a-molti sono possibili solo fra un campo univoco e uno non univoco; i campi coinvolti in una relazione devono essere dello stesso tipo e dimensione.
Per creare una relazione fra due campi di due tabelle si deve aprire la finestra strumenti-relazioni (oppure premere l'icona corrispondente presente sulla barra degli strumenti), premere su visualizza-mostra tabella per far aprire la finestra "mostra tabella" nella quale, nella scheda "tabella", selezionare le tabelle da coinvolgere nella relazione e premere su "aggiungi". Una volta aggiunte le tabelle coinvolte nella relazione si chiude la finestra "mostra tabella" e si definiscono le relazioni semplicemente trascinando il primo campo coinvolto nella relazione sul secondo campo coinvolto nella relazione: a questo punto si apre una finestra che consente di specificare delle opzioni per la relazione appena definita. In particolare in questa finestra si può decidere di applicare l'integrità referenziale (definita nella parte 1) alla relazione che si sta costituendo. Se si seleziona "aggiorna campi correlati a catena" (consigliato) una modifica alla chiave primaria della relazione comporta la modifica automatica di tutte le chiavi esterne della tabella collegata, mentre selezionando "elimina record correlati a catena" (sconsigliato) l'eliminazione del record contenente la chiave primaria della relazione comporta l'eliminazione di tutti i record ad esso correlati. Per confermare la relazione creata (il tipo di relazione creata è scritto in basso sempre in questa finestra: se c'è scritto "non definito" qualcosa è andato storto, controllare di aver definito correttamente le chiavi) basta premere su "crea".
Per eliminare una relazione esistente cliccarci sopra e poi premere canc sulla tastiera.
Esercitazioni: creare un nuovo database chiamato "gestione studio medico"; creare una tabella "medici" ed una tabella "pazienti" all'interno di tale database, con opportuni campi. Collegare la tabella "medici" con la tabella "pazienti" con una relazione di tipo uno-a-molti. Inserire 5 medici nella tabella "medici" ed almeno 20 pazienti nella tabella "pazienti". Salvare il database anche su dischetto, servirà per le prossime esercitazioni.
Via via che si prosegue nel corso fare le eventuali modifiche alle tabelle che sono necessarie per eseguire le successive esercitazioni (ad esempio la presenza di determinati campi, ecc).