Un Database è un archivio elettronico, una collezione organizzata di dati usata per rappresentare le informazioni di interesse in un sistema informativo. Il tipo attualmente più diffuso è il database relazionale: esso è una raccolta di informazioni omogenee memorizzate su più tabelle. Una tabella è una raccolta di dati relativi ad uno specifico argomento ed è organizzata in righe (dette record) e colonne (dette campi). Esempio: Cognome Nome Data di Nascita Città Indirizzo Rossi Marco 01/08/1987 Roma Via Dante, 6 Bianchi Giulia 09/05/1985 Milano Viale Mazzini, 8 … … … … … Questo è un record. Un record rappresenta un elemento di una tabella ed è composto da vari campi. Ogni campo rappresenta una categoria di informazioni . I dati sono frammenti di informazioni disponibili singolarmente, ma non organizzate in modo coerente. La loro caratteristica è la frammentarietà e l’assenza di relazioni con altri dati. Al contrario, le informazioni sono raccolte coerenti di dati che entrano in relazione l’uni con gli altri consentendo di eseguire ricerche e valutazioni. In pratica le informazioni danno ai dati l’organizzazione di cui hanno bisogno per poter essere effettivamente utili. Per fare un paragone, se i dati sono una sorgente d’acqua, ,le informazioni sono costituite dalla stessa acqua imbottigliata, etichettata, analizzata e impacchettata per poter essere scelta, acquistata e utilizzata sul luogo di consumo. L’acqua è la stessa, ma cambia la possibilità di fruirne. Ogni tabella deve possedere una chiave primaria, cioè uno o più campi in grado di identificare in maniera univoca ciascun record della tabella (questo significa che un campo chiave primaria non può avere valori uguali). La chiave primaria è indispensabile per poter stabilire una valida relazione tra le tabelle, cioè per poter collegare i dati di una tabella con quelli di un’altra tabella. Esempio: CID Società PIVA CLIENTI Titolare PRODOTTI PID Marca Modello Prezzo 00001 Euronics 0398474 … 02327 Nokia N95 … 00002 Trony 4323554 … 54345 Samsung D500 … ACQUISTI ID_Cliente ID_Prodotto Data Quantità 00001 02327 04/06/07 53 00002 54345 08/09/07 32 00001 54345 23/08/07 43 00001 02327 12/10/07 11 Nell’esempio precedente le due tabelle CLIENTI e PRODOTTI vengono messe in relazione tra di loro attraverso la tabella ACQUISTI. Una relazione è in generale un legame tra dei dati. La chiave primaria nelle tabelle CLIENTI e PRODOTTI è rappresentata dal campo ID che contiene un codice identificativo sequenziale univoco.* Nella tabella ACQUISTI invece la chiave primaria deve essere necessariamente composta da più di un campo (altrimenti si potrebbe introdurre un campo ID anche qui, ma sarebbe uno spreco di memoria). Ad ogni chiave primaria viene associato un indice, cioè una struttura esterna creata dal DBMS ed utilizzata per trovare rapidamente un certo record nella tabella basandosi sulla chiave primaria. Il sistema software che gestisce i database è detto DBMS (DataBase Management System). Microsoft Access è un DBMS (altri DBMS sono: Oracle, MySQL, DB2…) *Nota: avremmo potuto anche mettere “Società” come chiave primaria, ma chi ci assicura che non esistano due società con lo stesso nome? Di solito è più sicuro appoggiarsi ad un campo ID. I campi Sono le colonne delle tabelle, ognuno di essi rappresenta una categoria di informazioni. Sono “tipizzati”, cioè possono essere di diversi tipi: Stringhe alfanumeriche di caratteri (esempio: “Marco Rossi”) Numeri matematici (esempio: “2345” o “5.6534”) Valori booleani (esempio: true/false o 0/1) Date (esempio: 12/10/1984 o 12101984 o 19841012…) Dati in codice binario (esempio: se si vogliono inserire immagini, musica o video nel DB) Visivamente sono rappresentati dalle “etichette” delle colonne I Record Sono insiemi di campi che costituiscono l’informazione unitaria. Visivamente sono rappresentati dalle righe di una tabella. Query (in italiano “Richiesta”) Sono delle richieste di interrogazione fatte al DB per ricercare dati al suo interno. Le Query sono formulate in linguaggio SQL (Structured Query Language). Maschere Sono interfacce utente create per introdurre dati oppure per visualizzarli. Report Rendono possibile visualizzare i dati, mettendo in evidenza determinate informazioni, da essere destinate alla stampa. Chiave primaria È una proprietà che può essere data ad uno o a più campi, e che ne identifica l’unicità. In una tabella non possono esserci due record uguali, è quindi necessario stabilire una regola che determini l’unicità dei record. Spesso si sceglie come chiave un codice creato ad hoc per il database (l’ID), in genere un contatore, che identifica univocamente ogni record della tabella. Indice Determina un ordinamento dei record in base a determinati campi (ad esempio in base al cognome, al nome, …) in modo che le ricerche all’interno della tabella siano più veloci (come l’indice dei libri!). Schema del DataBase Lo Schema di un DataBase è la parte invariante dei dati, cioè la struttura composta dalle varie tabelle e dalle relazioni che vi sono tra loro. Ad esempio le tabelle CLIENTI(CID, Società, PIVA, Titolare), PRODOTTI(PID, Marca, Modello, Prezzo), ACQUISTI(CID, PID, Data, Quantità) costituiscono lo schema. Istanza È un insieme di dati (valori) mutabili. Ad esempio un record di una tabella. Vantaggi dei DataBase rispetto alla gestione con file: Eliminazione (o comunque riduzione) delle ridondanze tra i dati. Minori rischi di avere dati inconsistenti. Possibilità di avere protezione da accessi non autorizzati. Garanzia dell’integrità dei dati. La prima fase che si affronta per la costruzione di un DB è la fase di “Progettazione”. Progettazione del DB Definizione degli obbiettivi che dobbiamo raggiungere con il database. Individuazione e definizione delle tabelle contenenti i dati in base ad argomenti. Definizione più specifica dei record e dei campi. Definizioni delle relazioni tra le tabelle. Controllo della correttezza e della funzionalità della struttura. E’ importante definire un buono schema iniziale in quanto le variazioni che verranno effettuate successivamente comporteranno una revisione di tutti i dati già immessi e quindi uno spreco di tempo e risorse. Lanciare Microsoft Access Start → Tutti i Programmi → Microsoft Access All’avvio di Access viene visualizzato la Pagina Iniziale proponendo una serie di opzioni. All’avvio di Access viene visualizzato il Riquadro attività Nuovo file proponendo una serie di opzioni. Osserviamo che, nel caso siano stati aperti altri database, essi compaiono nel riquadro attività assieme alla voce “Altri file…”. La finestra di Access: Barra del titolo Barra multifunzione Barra di stato Anche Access come tutti i programmi della suite Office ha la guida in linea, raggiungibile tramite il pulsante azzurro a punto interrogativo che si trova nell’angolo superiore destro della finestra di Access: Guida in linea All’avvio di Access è automaticamente visualizzata la barra Multifunzione. Selezionando un oggetto in Access si visualizzano le schede specifiche della barra. Si può scegliere di visualizzare o nascondere la barra Multifunzione; per farlo basta andare in Personalizza barra di accesso rapido -> Riduci a icona barra multifunzione Come aprire un database esistente: Avviare Access Selezionare l’opzione “File…” o “Altri File…” Nella finestra che compare scegliere il percorso dove si trova il database da aprire Selezionare il file del database e quindi “Apri” Creazione di un nuovo database: Avviare Access Selezionare l’opzione “Database vuoto” Nella finestra che compare viene richiesto di inserire un nome per il nuovo database Inserire il nome per il nuovo database e selezionare “Crea” Una volta creato o aperto un database compare la finestra “Database”, all’interno della quale è possibile accedere ai vari componenti: Gli elementi che costituiscono un database Access sono: Tabelle: definiscono la struttura vera e propria del DB. Ogni tabella è composta da uno o più campi (le colonne) e contiene i vari record (le righe). Query: servono per interrogare il DB. La query è una richiesta inviata al DB per richiedere la visualizzazione dei dati contenuti nel DB. Maschera: è l’interfaccia grafica che può essere creata per consentire un accesso più semplice ai dati del DB. Report: servono per la stampa dei dati. Nei report è possibile eseguire anche operazioni matematiche e riepiloghi. Pagina: interfaccia web per l’accesso al DB da ambienti esterni (Internet). Macro: è una sequenza di comandi di Access che viene memorizzato e può essere ripetuto (serve per automatizzare alcuni operazioni frequenti). Modulo: contiene il codice VBA per la programmazione avanzata delle funzioni del DB. La Guida in Linea Come in ogni programma Office è disponibile la guida in linea con le modalità di aiuto: Sommario Ricerca Indice Il primo step nella costruzione di un DB è la “Progettazione”. E’ necessario schematizzare tabelle e campi e descrivere come i dati contenuti nelle tabelle siano fra loro collegati. La struttura del DB è definita attraverso la costruzione di un modello detto “Modello E/R” (Entità/Relazioni). Macro-Fasi per la progettazione di un DB: Identificare lo scopo del DB Catalogare i dati esistenti Redigere una lista preliminare dei campi necessari Identificare le principali Tabelle (Entità) e i relativi Campi (Attributi) Identificare i campi chiave Determinare le relazioni fra le tabelle Effettuare una normalizzazione dei dati se possibile Finalizzare il progetto Ogni tabella deve avere un campo, o un insieme di campi, che siano in grado di identificare ogni singolo record in maniera univoca. Questo campo (o insieme di campi) è la Chiave Primaria della tabella. Il valore della chiave primaria non può essere nullo, e deve essere diverso per ogni record che compone la tabella. Le chiavi primarie consentono di stabilire relazioni tra le tabelle. Le relazioni possono essere di 3 tipi: 1-a-1 : ad ogni record della tabella A corrisponde un record della tabella B 1-a-N : ad ogni record della tabella A corrispondono più record della tabella B N-a-N : a più record della tabella A corrispondono più record della tabella B Aziende ID Azienda Sede Sedi ID Città Indirizzo 31 Kennedy Str. 08-32211 023 Intel 9876 9876 New York 425 Microsoft 2345 2345 Los Angeles 12 Square Pl. Aziende ID Azienda Sede Prodotti ID Produttore Tipo Prodotto Telefono 04-54366 Prezzo 023 Intel 9876 453 023 CPU 500 $ 425 Microsoft 2345 245 023 Scheda WI-FI 100 $ I DBMS relazionali non supportano le relazioni N-a-N in maniera diretta. Per creare una relazione N-a-N si usano 3 tabelle collegate con relazioni: N-a-1 ↔ 1-a-1 ↔ 1-a-N La normalizzazione è un procedimento volto all'eliminazione delle ridondanze e del rischio di inconsistenza dal database. Esistono vari livelli di normalizzazione (forme normali) che certificano la qualità dello schema del database. Questo processo si fonda su un semplice criterio: se una relazione presenta più concetti tra loro indipendenti, la si decompone in relazioni più piccole, una per ogni concetto. Questo tipo di processo non è purtroppo sempre applicabile in tutte le tabelle, dato che in taluni casi potrebbe comportare una perdita d'informazioni. Una decomposizione dovrebbe sempre soddisfare due proprietà: la decomposizione senza perdita, che garantisce la ricostruzione delle informazioni originarie la conservazione delle dipendenze, che garantisce il mantenimento dei vincoli di integrità originari. Ridondanze: si verificano quando alcune informazioni che possono essere derivate dai dati già presenti vengono ulteriormente aggiunte ai dati stessi. Anomalie: si verificano quando ci sono irregolarità di dati. Creazione di una tabella Si può creare una tabella cliccando nella finestra su Crea -> Struttura tabella Creazione di una tabella – Visualizzazione Struttura ( Passo 1 ) • Qui si devono specificare i nomi dei campi presenti nella tabella. • Il nome di un campo identifica la natura dei dati nel campo. • I nomi dei campi possono essere lunghi fino a 64 caratteri e possono includere lettere, numeri e spazi. • Lo spazio non può iniziare il nome di un campo ed inoltre non si possono usare punti (.), punti esclamativi (!), virgolette ("), parentesi quadre ([ ]) o caratteri di controllo ASCII. • Inoltre, i nomi di campo all'interno di una tabella devono essere univoci. Creazione di una tabella – Visualizzazione Struttura ( Passo 2 ) • Qui si deve specificare il tipo di dati di ogni campo. • Il tipo dati informa Access sulla tipologia dei valori da memorizzare nel campo e sul dimensionamento del campo stesso. • È possibile modificare il tipo dati anche quando il campo contiene delle informazioni, ma tale modifica può portare alla perdita totale o parziale dei dati contenuti nel campo. I tipi dati disponibili in Access sono descritti nella tabella successiva. Tipo Dati Descrizione Testo È il tipo dati predefinito in Access. Un campo Testo può contenere una qualunque combinazione di lettere, numeri, segni di punteggiatura e spazi. La dimensione standard è 50 caratteri e la dimensione massima è 255 caratteri. Memo Un campo Memo è simile ad un campo Testo eccezion fatta che un campo Memo può contenere fino a 65.535 caratteri. Nel database possiamo utilizzare i campi Memo per note o lunghe descrizioni. Numerico Un campo Numerico può contenere solo caratteri numerici, un punto (utilizzato come separatore delle migliaia), una virgola (utilizzata come separatore decimale) ed un trattino (utilizzato come segno meno nei numeri negativi). Si definisce un campo Numerico solo quando si vogliono eseguire calcoli utilizzando i valori dei campi. Per esempio, anche se codici postali e numeri telefonici sono composti da caratteri numerici, non sono utilizzati per i calcoli, quindi non dovrebbero essere definiti campi Numerici. Data/Ora Un campo Data/Ora contiene una data e/o un'ora. Access esegue una convalida automatica del dato, verificando che si tratti di una data/ora valida. Per esempio non è valido il 31/2/99, dato che il mese di febbraio non ha 31 giorni. I campi Data/Ora consentono di eseguire calcoli su date ed ore. I tipi dati disponibili in Access sono descritti nella tabella successiva. Tipo Dati Descrizione Valuta Un campo Valuta è simile ad un campo Numerico e può essere utilizzato nei calcoli che usano un massimo di quattro cifre decimali. Un campo Valuta visualizza automaticamente il simbolo valutario scelto nelle impostazioni internazionali del Pannello di controllo ed il separatore delle migliaia. Si raccomanda di utilizzare la definizione campi Valuta, quando possibile, in quanto esegue i calcoli in virgola fissa, notoriamente più veloci dei calcoli eseguiti in virgola mobile, utilizzata nel caso di campi Numerici. Contatore II tipo dati Contatore è gestito automaticamente da Access, assegnando numeri univoci progressivi da 1 a n ad ogni record del database. Dopo tale assegnazione non è consentito intervento manuale. Questo tipo dati è utilizzato quando si desidera un identificatore univoco per ogni record. Si/No Un campo Si/No gestisce una sola di due possibili condizioni. Si utilizza questo tipo dati quando esistono solo due possibilità, Vero o Falso. I tipi dati disponibili in Access sono descritti nella tabella successiva. Tipo Dati Oggetto OLE Descrizione Un campo Oggetto OLE è collegato ad un'altra applicazione Windows. Si utilizza il tipo dati Oggetto OLE per la grafica, fogli elettronici o file sonori. Collegamento ipertestuale Un campo Collegamento ipertestuale contiene un collegamento ad un altro elemento. Si può realizzare il collegamento ad una pagina Web su Internet, ad un documento Word su Intranet oppure ad una maschera nel database corrente. Un campo Collegamento ipertestuale può contenere una descrizione, un indirizzo, ed un sottoindirizzo. Ogni parte è separata dal simbolo (#) e può estendersi fino a 2.048 caratteri. Solo indirizzo è obbligatorio. Ricerca guidata… Selezionando il tipo dati Ricerca guidata... si è guidati con passi successivi nella creazione guidata di un campo. Un campo Ricerca contiene un elenco di valori selezionati da un'altra tabella o un elenco di valori personalizzato. Questo consente di effettuare inserimento di dati nel campo attraverso la semplice selezione del valore desiderato. Convertire dati da un formato all’altro può causare la perdita (irrecuperabile) dei dati. La perdita dei dati accade qualora il formato di destinazione in cui i dati vengono convertiti non sia adatto ad accogliere il tipo di dati. Facciamo alcuni esempi in cui assistiamo ad una perdita di dati: Da numero in virgola (qualsiasi) a intero (qualsiasi) Da numero a data Da testo a numero Da numero a booleano Esempi in cui invece non vi è perdita di dati sono: Da intero a numero in virgola Da data a testo Da data a numero Da booleano a numero Creazione di una tabella – Visualizzazione Struttura ( Passo 3 ) • Qui si possono impostare le proprietà per i dati di ogni campo. • Una proprietà è una caratteristica di un campo, come ad esempio il numero di caratteri che il campo può contenere. • Access assegna automaticamente le proprietà ai campi ma ne consente la modifica. Le proprietà dei campi variano a seconda del tipo di dato. Dimensione campo: è la grandezza espressa in caratteri per il testo, nei valori numerici invece rappresenta l’intervallo dei valori accettabili. La dimensione deve essere pianificata con attenzione: ad esempio se si convertono numeri con la virgola in interi, si perde tutta l’informazione relativa ai decimali! Formato: è il layout di visualizzazione del campo. Si può scegliere tra quelli predefiniti o crearne di nuovi Es. la data : 16 – Sett – 1999 oppure 16/09/1999 Es. i numeri: 34,567 oppure € 34,57 oppure 34% Maschera di input: forza l’immissione di dati secondo un formato prestabilito (per esempio, il trattino tra prefisso e numero telefonico). Etichetta: testo che apparirà accanto al campo nelle eventuali maschere create. Valore predefinito: valore immesso automaticamente nel campo per nuovi record. Valido se : Pone delle condizioni alla validità dei dati, cioè limita i valori che possono essere immessi nel campo. Ad es. per un numero si può impostare una regola che lo rende valido solo se è maggiore di 10: “ >10 ” Messaggio di errore: messaggio che compare nel caso il valore dell’espressione risulti falso. Richiesto: rende obbligatoria l’immissione di dati nel campo. Le proprietà dei campi variano a seconda del tipo di dato. Consenti di avere lunghezza zero: specifica se è consentita l’immissione di stringhe lunghe zero. Indicizzato: rende più rapida la ricerca e l’ordinamento, ma rallenta l’aggiornamento. Alcuni esempi delle proprietà: Testo Contatore Data Numerico La proprietà Formato agisce sulla visualizzazione a schermo delle informazioni mostrate in modalità Foglio dati e non sulla memorizzazione delle stesse nella tabella o nel loro utilizzo nei calcoli. Per esempio, con formato 0 cifre decimali il numero 1,5 è visualizzato come 2, ma quando è moltiplicato per 2 il risultato ottenuto è 3 e non 4. I formati disponibili per i campi con tipo dati Numerico sono elencati nella tabella seguente: Formato Descrizione Numero generico Visualizza il numero così come è stato introdotto e questo è il formato standard. Valuta Utilizza il punto come separatore delle migliaia e visualizza il simbolo della valuta. II numero standard di cifre decimali è 2. Fisso Visualizza almeno una cifra. Il numero standard di cifre decimali è 2. II valore nel campo è arrotondato conformemente al numero di cifre decimali impostate. Standard Utilizza il punto come separatore delle migliaia. II numero standard di cifre decimali è 2. Percentuale Moltiplica il numero introdotto per 100 ed accoda al valore ottenuto il simbolo percentuale. II numero standard di cifre decimali è 2. Notazione scientifica Rappresenta i numeri come multipli di potenze di 10 in notazione scientifica standard. Definita la dimensione del campo è possibile introdurre solo informazioni che possono essere contenute nei limiti imposti da questa dimensione. Inserito il numero massimo di caratteri consentito, gli eventuali caratteri digitati in eccedenza non saranno visualizzati. La proprietà Dimensione campo è personalizzabile solo per campi con tipo dati Testo, Numerico, e Contatore. Tutti gli altri tipo dati delimitano i campi con dimensioni standard automaticamente impostate. Per dati di tipo Testo si digita semplicemente il numero massimo di caratteri che si desidera siano disponibili in quel campo fino ad un massimo di 255 caratteri. Dimensioni Intervallo Cifre decimali Byte 0-255 nessuna 1 Da -32768 a 32767 nessuna 2 Da -2.147.483.648 a 2.147.483.647 nessuna 4 Precisione singola Da –3,4x10^38 a 3,4x10^38 7 4 Precisione doppia Da –1,797x10^308 a 1,797x10^308 15 8 ID replica Identificatore univoco globale n.d. 16 Decimale da-1038-1 a 1038-1 (adp) da -1028-1 a 1028-1 (mdb) Fino a 28 Byte Intero Intero lungo É possibile cambiare anche il formato di un campo che utilizza il tipo dati Data/ora per modificare la modalità con la quale le date e/o le ore sono visualizzate nella tabella. I formati disponibili per i campi con tipo dati Data/ora sono elencati nella tabella seguente : Formato Descrizione Data generica Se il valore rappresenta solo la data, l’ora non è visualizzata. Se il valore rappresenta solo l’ora, la data non è visualizzata e questa è l'impostazione standard. Data estesa Il nome del giorno e del mese sono scritti in lettere, come sabato 19 giugno 1994. Data breve Il nome del mese è abbreviato ed il nome del giorno è omesso, come 19-giu-94. Data in cifre La data si presenta come sequenza di numeri separati da barre, come 19/06/94. Ora estesa L'ora si presenta con ore, minuti e secondi separati dal punto, come 17.34.23. Ora breve 12h L'ora si presenta con ore e minuti separati da punto ed espressa su 12 ore, come 5.34. Ora breve 24h Formato identico a “Ora breve 12h” eccezion fatta che l’ora è espressa su 24 ore, come 17.34. La proprietà Valore predefinito consente di impostare un valore implicito da inserire in un campo e questo valore è automaticamente inserito nel campo alla creazione di un nuovo record. Qualora tale valore risulti non appropriato potrà essere aggiornato in fase di modifica del record. La presenza di un valore predefinito fa risparmiare tempo durante l'inserimento dei dati. Impostare un valore standard significa inserire un'espressione per la proprietà Valore predefinito. Per esempio, se la nostra tabella contiene anagrafica clienti e la maggior parte dei clienti risiede nella città di Milano si può impostare Milano come valore predefinito per il campo città Se un cliente risiede a Genova si aggiorna il valore contenuto nel campo città per il record specifico. Un'espressione è composta da operatori (ovvero =, + , - , * , / ) e/o valori. L'espressione può essere introdotta direttamente nella casella Valore predefinito, o dal generatore di espressioni. II pulsante Generatore di espressioni è mostrato alla destra della casella Valore predefinito, quando selezionata. La finestra di dialogo Generatore di espressioni contiene le funzioni, gli operatori e le costanti che si possono utilizzare per creare un'espressione. Utilizzando la proprietà Valido se è possibile impostare una regola di validazione per l'introduzione delle informazioni in un campo. Durante la digitazione Access analizza le regole di validazione e visualizza un messaggio di errore se il valore digitato non le rispetta. Questo messaggio può essere personalizzato introducendo il testo desiderato nella casella Messaggio errore. Ad esempio, si può chiedere ad Access di verificare che in un campo numerico i valori siano compresi tra 500 e 1000. Una regola di validazione si concretizza nell'inserimento di un'espressione nella casella proprietà Valido se. L'espressione può essere introdotta direttamente nella casella “Valido se”, o per mezzo del generatore espressioni. II pulsante Generatore di espressioni è mostrato alla destra della casella “Valido se” quando è selezionata. La finestra di dialogo “Generatore di espressioni” contiene le funzioni, gli operatori e le costanti che si possono utilizzare per creare un'espressione. Impostare una regola di validazione differisce dall'impostare il tipo dati o la lunghezza di un campo. Access utilizza il tipo dati e la lunghezza del campo per determinare che le informazioni inserite siano coerenti col tipo dati e non eccedano la lunghezza massima assegnata a quel campo. Impostando il tipo dati Numerico Access non consente di digitare caratteri alfabetici ed inoltre impedisce di digitare un numero le cui cifre eccedano la dimensione del campo. Queste condizioni consentono ad Access di verificare la coerenza dell'informazione in termini di tipo dati e lunghezza massima, ma non sono regole di validazione. Per essere tali devono essere più restrittive, impostando condizioni specifiche in grado di assicurare l'inserimento di una specifica gamma di informazioni. Creazione di un criterio di validità usando il Generatore di espressioni. Consideriamo la tabella seguente: Per adesso non c’è nessun criterio di validità. Vogliamo costruire un criterio di validità per il campo “Data di Nascita”. Supponiamo ad esempio di vietare l’inserimento della data odierna nel campo “Data di Nascita”. Creazione di un criterio di validità usando il Generatore di espressioni. Vogliamo costruire un criterio di validità per il campo “Data di Nascita”. Supponiamo ad esempio di vietare l’inserimento della data odierna nel campo “Data di Nascita”. Creazione di una tabella – Visualizzazione Struttura ( Passo 4 ) • Per ogni campo è possibile inserire una descrizione facoltativa nella colonna Descrizione della griglia Struttura tabella. • Tale descrizione è visibile nella barra di stato quando si accede a quel campo dalla tabella o da una maschera. • Possiamo utilizzare la descrizione per inserire un breve commento, come ad esempio il significato del campo o i dati che devono essere memorizzati in esso. Nella struttura dobbiamo inoltre creare una chiave primaria di ricerca , cioè un dato capace di identificare in maniera univoca il record (per questo i duplicati non sono ammessi). La chiave primaria è un campo o un gruppo di campi i cui valori identificano in modo univoco ogni singolo record. In conseguenza, ogni valore del campo chiave od ogni combinazione di valori del gruppo di campi chiave devono essere presenti in un solo record. Ci sono diversi vantaggi nell'impostare una chiave primaria in una tabella: In primo luogo, la chiave primaria è indicizzata automaticamente e velocizza il recupero delle informazioni. In secondo luogo, quando si apre una tabella, i record risultano automaticamente ordinati secondo la chiave primaria. La chiave primaria, inoltre, impedisce l'inserimento di dati duplicati, dovendo identificare in forma univoca ogni singolo record. Campi con tipo dati Contatore sono utilizzati per definire una chiave primaria in tabelle dove questo non può essere fatto con i campi presenti. Non è possibile scegliere come chiave primaria i campi con tipo dati Memo, Oggetto OLE o Collegamento ipertestuale. Per creare una chiave primaria composta da più campi tenere premuto [Ctrl], fare clic col pulsante sinistro del mouse sui campi desiderati e selezionare lo strumento Chiave primaria disponibile nella barra Struttura tabella. 1. 2. 3. 4. Aprire il database desiderato. Aprire o creare una tabella in modalità Visualizzazione Struttura. Selezionare la riga del campo da designare come chiave primaria. Facendo clic col tasto destro sul campo desiderato, selezionare lo strumento Chiave primaria, oppure è possibile selezionare lo strumento Chiave primaria direttamente, attraverso la barra multifunzione nella scheda “Progettazione”, gruppo “Strumenti”. Creazione di una tabella – Visualizzazione Struttura ( Passo 5 ) Al momento della chiusura viene chiesto di salvare la tabella. Possiamo quindi assegnare un nome alla tabella. Una volta salvata la struttura siamo pronti per inserire i dati. Definiti i campi di una tabella si deve salvarne la struttura prima di popolarla. Quando si salva una nuova tabella si deve assegnarle un nome descrittivo del contenuto. Si possono utilizzare fino a 64 caratteri che includono lettere, numeri e spazi, con esclusione del punto (.), del punto esclamativo (!), delle parentesi quadre ([ ]) e dei caratteri di controllo ASCII. Salvando una tabella non si crea alcun file ma si aggiunge un oggetto al database. Una volta creata la tabella siamo pronti per scrivere nelle celle i dati da memorizzare. Per spostarsi tra i record di una tabella si possono utilizzare i bottoni che si vedono nella parte bassa della finestra della tabella. Primo record, sposta il cursore (o la selezione) nel primo record Record precedente, sposta il cursore (o la selezione) sul record precedente Record successivo, sposta il cursore (o la selezione) sul record successivo Ultimo record, sposta il cursore (o la selezione) sull’ultimo record Nuovo record, crea un nuovo record. Inoltre usando la casella di testo possiamo saltare direttamente al record desiderato. Per selezionare i record della tabella: Utilizzare i selettori al margine sinistro della tabella Tenere premuto il tasto sinistro e trascinare il mouse per la selezione multipla Metodo 1 per rimuovere un record: Cliccare sul bottone a sinistra in modo da selezionare la linea intera. Premere [CANC] oppure tasto destro del mouse e selezionare da menu contestuale “Elimina record”. Metodo 2 per rimuovere un record: Cliccare su un campo del record desiderato. Per cancellare l’intera riga, premere il bottone: Per aggiornare un record: Cliccare sul campo nel punto esatto che vogliamo modificare oppure usiamo il tasto F2 sul campo corrente. Attuare le modifiche aggiungendo caratteri o cancellandone Per salvare un record: Menù in alto: Record → Salva Record II comando Annulla in Access ha un funzionamento molto particolare che dipende dall'oggetto su cui si esegue e dalla modalità di visualizzazione corrente. Quando Access è in grado di annullare un'azione si rende attivo lo strumento Annulla. Non è possibile annullare la cancellazione di un record, tuttavia è possibile annullare la modifica apportata ad un campo o ad un record anche se questo è stato già salvato. Abbiamo già visto come inserire dei nuovi campi (che poi saranno le colonne della tabella) in Visualizzazione Struttura, ma potrebbe essere necessario inserire una o più colonne in modalità foglio dati. Una colonna può essere inserita facendo clic con il pulsante destro del mouse su un'intestazione di colonna e selezionando il comando “Inserisci colonna” nel menu contestuale. La nuova colonna verrà inserita alla sinistra della colonna selezionata. Oppure una colonna può essere inserita facendo doppio click nella colonna “Aggiungi nuovo campo” (che si trova a destra di tutte le altre colonne) II nome predefinito della colonna è “Campon”, dove “n” è un indice numerico progressivo. Tale nome può essere facilmente modificato facendo "doppio clic" sul nome stesso e digitando il nome desiderato. Una colonna può essere rimossa facendo clic con il pulsante destro del mouse su un'intestazione di colonna e selezionando il comando “Rimuovi colonna” nel menu contestuale. Vediamo un esempio di come inserire e rimuovere colonne... Per personalizzare la visualizzazione della tabella cliccare in un punto qualsiasi di essa. Accedere al gruppo “Carattere” della scheda “Home” dove possiamo cambiare: Carattere (tipo, stile, dimensione e colore) Foglio dati (dove possiamo dare una formattazione diversa, scegliendo un colore per la griglia, per lo sfondo e impostando l’aspetto) Altezza e larghezza delle righe e delle colonne (si può anche usare il mouse agendo sui bordi delle righe e delle colonne) Per selezionare una colonna basta premere su uno dei bottoni in alto che contengono il nome del campo Per spostare una colonna basta semplicemente trascinarla nella posizione desiderata Per nascondere una colonna bisogna: Selezionare la colonna Dalla barra multifunzione Home→ Record→ Altro → Nascondi colonne Oppure tasto destro sulla colonna → Nascondi colonne Per mostrare una colonna: Dalla barra multifunzione Home→ Record→ Altro → Scopri colonne Selezionare le colonne da scoprire Bloccare una colonna è utile quando abbiamo tanti campi in una tabella (tante colonne) e vogliamo scorrere verso destra senza perdere di vista certi dati. Per bloccare una colonna: Formato → Blocca colonne Se la colonna bloccata non è la prima viene automaticamente spostata tutta a sinistra. È possibile bloccare più colonne grazie alla selezione multipla. Per sbloccare le colonne: Formato → Sblocca tutte le colonne Si seleziona la Tabella nella parte sinistra (dopo averla preventivamente chiusa) e quindi: Tasto CANC sulla tastiera Oppure Tasto destro sulla Tabella ed “Elimina” Oppure scheda “Home”, gruppo “Record”, ed “Elimina”