Modulo 5 - BASE DI DATI INTRODUZIONE Una base di dati è una collezione di dati utilizzati per rappresentare le informazioni dì interesse per un sistema informativo. Un database è una raccolta di dati Un database è un insieme composto da una o più raccolte di informazioni (dati), dalle regole con cui sono correlate e dai metodi per la loro gestione. Ciascuna raccolta di informazioni viene memorizzata in una struttura organizzata detta TABELLA. Se il db è formato da più tabelle, i dati delle diverse tabelle possono essere collegati fra loro attraverso relazioni. Accanto alla Tabella Prodotti, può essere affiancata la Tabella Fornitori e le due tabelle possono essere messe in relazione collegando ciascun prodotto al relativo fornitore. Vantaggi del db: ordinare una grande quantità di dati riordinarli rapidamente in molti modi diversi estrarne molteplici informazioni contemporaneamente aggiungere nuovi dati in maniera semplice e veloce La gestione di una base di dati è soggetta ad un DBMS (Data Base Management System sistema di gestione di basi di dati) che ha il compito di controllare non solo più basi di dati ma è anche un software in grado dì gestire collezioni di dati che siano grandi, condivisi e persistenti, assicurando la loro affidabilità e privatezza. I dati vengono organizzati all'interno della base di dati attraverso dei modelli detti modelli di dati, tale modello dei dati non è altro che un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che risulti comprensibile ad un elaboratore. Di conseguenza un modello di dati deve fornire meccanismi di strutturazione. Molti sono i modelli che vengono utilizzati oggi per strutturare una base di dati, e i più usati sono: Modello relazionale; Modello gerarchico; Modello reticolare; Modello ad oggetti. Noi prenderemo in considerazione il modello relazionale, che tra tutti risulta non solo quello più utilizzato, ma anche il più facile, in quanto si appoggia ad un modo di presentare i dati a noi familiare: la tabella. Una sola relazione può anche essere una base di dati, ma il più delle volte una base di dati è formata da tantissime relazioni che correlano tra di loro i propri dati in maniera da fornire un'informazione esaustiva. GLI ELEMENTI DEL DATABASE Per database, quindi, s'intende, semplificando molto, un insieme di dati, cioè informazioni strutturate e organizzate sistematicamente secondo un certo criterio e relazionate tra loro. Quindi una "base di dati", non è un semplice insieme d'informazioni assemblate senza un preciso ordine, bensì un insieme organizzato e strutturato. Nei database tale organizzazione è di un certo tipo: i dati sono organizzati per tabelle, campi e record. Campo 1 ID prodotto Record 1 Record 2 Campo 2 Nome Prodotto Campo 3 Quantità per unità Campo 4 Prezzo unitario Campo 5 Scorte Modulo 5 – BASE DI DATI - pg.1 CAMPO id 1 2 3 4 5 6 7 8 9 10 TITOLO AUTORE Peter Pan BARRIE JAMES MATTHEW Le grandi favole di Walt DISNEY Walt Disney Fiabe e antifiabe BRENGOLA PAOLA, ZORDAN ROSETTA Fiabe verdi CAGGIANO IDA I figli del mastro vetraio GRIPE Maria I lupi di Pito e altro LATINI Angela DATI racconto Il segreto di Lena ENDE Michael La margherita Favole GRIMM Paperino e l'isola del DISNEY Walt tesoro Charlie e la fabbrica di DAHL Roald cioccolata EDITORE A.Mondadori A.Mondadori Bompiani Pegaso A.Mondadori Paravia record Salani Ponte nuovo A.Mondadori Emme • Tabella - Le tabelle sono strutture fondamentali in un database perché memorizzano i dati che si devono gestire. All'interno di una tabella, i dati sono organizzati in campi (colonne) e record (righe). Questo elemento è sempre necessario ed è il primo ad essere progettato, costruito ed implementato • Query - Una query è uno strumento che consente di interrogarsi sui dati contenuti nelle tabelle e di eseguire azioni specifiche sui dati. Si possono utilizzare le query per combinare o unire dati da varie tabelle separate ma correlate. Le query possono inoltre consentire di modificare, eliminare o aggiungere consistenti quantità di dati in un solo passo. Infine, si possono utilizzare le query come base per maschere e prospetti. • Maschera - Le maschere consentono di visualizzare e immettere dati secondo un formato conveniente simile a quello dei moduli di compilazione su carta. Le maschere possono anche includere a loro volta altre maschere (denominate sottomaschere) che consentono di immettere dati in varie tabelle contemporaneamente. Modulo 5 – BASE DI DATI - pg.2 • Report - I report consentono di stampare o visualizzare in anteprima dati secondo un formato specifico. Esempi di report includono etichette postali, elenchi, buste, lettere tipo e fatture. I report possono presentare anche i risultati delle query in un formato facilmente comprensibile. • Macro - Una macro è un insieme di istruzioni che rende automatico un compito che si deve eseguire spesso. Quando si avvia una macro, Access esegue le azioni contenute nella macro secondo l'ordine nel quale le azioni sono elencate. Le macro consentono di assemblare una raccolta di tabelle, query, maschere e prospetti in applicazioni complete che chiunque può utilizzare, anche chi ha una conoscenza limitata di Access. • Modulo - Come le macro, i moduli consentono di automatizzare e personalizzare Access. I moduli, comunque, diversamente dalle macro, forniscono un controllo più preciso sulle azioni da eseguire e richiedono un'esperienza di programmazione in Visual Basic. Naturalmente in un database come Access possono esservi più istanze di ogni tipo d'oggetto: così potremo avere più tabelle, più maschere, ecc. In pratica possiamo dire che oltre ai dati organizzati in tabelle, il database incorpora anche gli strumenti per la visualizzazione dei dati stessi, per il loro inserimento, per la stampa, per la selezione e la ricerca, e per la programmazione e per l'automazione in genere. Un database è quindi un oggetto complesso, che viene memorizzato come file unico avente, in Access, estensione .MDB. Quest'unico file contiene tutto ciò che è necessario per classificare i dati, manipolarti, elaborarli ecc. Modulo 5 – BASE DI DATI - pg.3 CREARE UN DATABASE NUOVO Per aprire un database esistente è sufficiente selezionare il file avente estensione .mdb con gestione risorse, fargli un doppio click sopra ed automaticamente sì ottiene la sua apertura In Access. Altrimenti: avviare Access e nella finestra di dialogo scegliere apertura di un database esistente. In questa finestra di dialogo compare l'elenco del database utilizzati di recente, se tra questi non vi fosse quello desiderato, selezionare la voce "Altri file", nel medesimo elenco; si perverrà in tal modo alla consueta finestra di dialogo per l'apertura di file. Altrimenti se si vuole creare un nuovo database, bisogna: aprire Access alla finestra di dialogo selezionare "Database vuoto" premere OK Bisogna considerare che in Access, a differenza degli altri pacchetti, non è presente il comando di salvataggio. Infatti i dati inseriti in un database vengono salvati automaticamente via via che sono inseriti. Questa è una prerogativa dei programmi di archiviazione che, vuoi per ragioni di sicurezza dei dati, vuoi per ragioni tecniche connesse con la necessità di gestire anche archivi assai complessi e voluminosi, tendono a dialogare direttamente con la memoria di massa. Pertanto quando si crea un nuovo database, viene richiesto immediatamente un nome e il database stesso viene creato e aperto subito. Si raccomanda di dare un nome al database che abbia un'attinenza con il suo utilizzo. Si sconsiglia vivamente dall'accettare i nomi automaticamente proposti dal programma, come. ad es. - db1.mdb o db2.mdb Bisogna ricordarsi regola generale: sempre questa Ad ogni oggetto o elemento di lavoro bisogna sempre dare un nome che ci possa ricordare in futuro il suo utilizzo o il suo contenuto Modulo 5 – BASE DI DATI - pg.4 ELEMENTI DI UN DATABASE Una volta creato un nuovo database ci troviamo di fronte ad una finestra come quella qui sotto rappresentata. Questa finestra mostra il database aperto con tutti i suoi elementi. Al momento il database è vuoto ed è quindi privo di qualsiasi elemento. Gli elementi sono divisi per tipo mediante una finestra divisa a schedine, ognuna delle quali ha un pulsante nella colonna a sinistra denominata "Oggetti". Nella finestra di destra si vedono sempre due o tre elementi: essi indicano delle procedure preposte alla creazione di oggetti, ma gli oggetti veri e propri non ci sono ancora, perché il database è stato appena creato. Quando creeremo degli oggetti, ad esempio delle tabelle, queste compariranno in questa finestra proprio sotto alle tre procedure predefinite. CREAZIONE DI UNA NUOVA TABELLA Per prima cosa occorre creare l'elemento più importante, ossia quello che è preposto a contenere, in forma organizzata i dati grezzi da archiviare. Questo primo e più importante elemento è una Tabella. Ciccare sul pulsante NUOVO, e nella finestra NUOVA TABELLA scegliere VISUALIZZAZIONE STRUTTURA Modulo 5 – BASE DI DATI - pg.5 • Assicurarsi che sia selezionata la schedina "tabelle" • Premere il pulsante nuovo • Si apre una finestra con diverse possibilità; scegliamo "Visualizzazione struttura". Le altre possibilità non ci interessano al momento e si riferiscono o ad usi più avanzati o ad un uso guidato. • Si ottiene in tal modo la visualizzazione della struttura della tabella Una tabella di Access non differisce di molto dalle normali tabelle, tuttavia occorre fare alcune precisazioni: 1. una tabella è formata da colonne, ciascuna identificata da un nome che indica il nome della categoria d'informazioni che quella colonna deve contenere. Le colonne così intese vengono definite campi; 2. per ogni campo occorre indicare, in fase di progettazione, tutte le sue caratteristiche: il nome, che tipo di dati deve contenere, la dimensione massima dei dati, il formato ed altre minori; 3. tutte queste caratteristiche dei campi devono essere definite a priori e pertanto la costruzione di una tabella richiede che si sia svolto un lavoro di analisi e classificazione dei dati che si vogliono creare; 4. la costruzione delle tabelle richiede che si adotti il principio di massima efficienza, ossia di minimo utilizzo delle risorse; 5. l'insieme dei campi e delle loro caratteristiche definisce la struttura di una tabella; 6. solo dopo avere definito la struttura di una tabella, sarà possibile introdurvi dei dati; 7. i dati verranno introdotti sotto forma di record. Ogni record contiene una informazione strutturata secondo i campi definiti nella struttura. Nome Campo: identifica il campo e il nome può anche arrivare a 64 caratteri. E' bene utilizzare nomi senza spazi Tipo Dati: sono il tipo di informazioni contenute. Verranno maggiormente descritte in "Tipi di dati e proprietà dei campi" Descrizione: opzionale. Consente di dare una descrizione più completa al contenuto e al significato del campo. Progettazione di una tabella La costruzione di una tabella richiede un'attenta progettazione del modo in cui classificare le informazioni; ad esempio, se la tabella dovesse ospitare un indirizzario di persone sarebbe comodo definire i campi con i nomi: Cognome, Nome, Indirizzo, Telefono, Fax, ecc.. Ma non sarà sufficiente, anzi, occorrerà per ogni campo indicare anche che tipo di dati deve contenere, con quale formato ecc. Tutte queste operazioni si possono completare nella struttura della tabella. Supponiamo di voler costruire una tabella per memorizzare i libri della nostra biblioteca. Preventivamente analizziamo come possiamo classificare i nostri libri: (è solo un esempio molto semplice) Titolo Autore Editore Pagine Costo Sezione Categoria Collocazione Modulo 5 – BASE DI DATI - pg.6 Questa analisi deve essere fatta sapendo quali siano i dati da catalogare, quali le operazioni tipiche, quali le informazioni che possono essere rilevanti. Insomma chi progetta deve sapere analizzare e deve avere una buona conoscenza del tipo di dati che viene richiesto, del suo eventuale utilizzo, ecc. Avendo fatto questa semplice analisi, si tratta ora di stabilire quale nome dare ad ogni campo e che tipo di dati scegliere per ciascuno di essi. Per ogni campo occorre stabilire un tipo di dati, ovvero le caratteristiche formali e sostanziali del tipo d'informazione che vogliamo memorizzare. Access mette a disposizione svariati tipi di dati, che devono essere scelti sulla base di: un criterio di coerenza con il tipo d'informazione, per cui se si inserisce un testo, non avrà senso utilizzare un dato numerico, ecc. un criterio di economicità, nel senso che si deve usare sempre il tipo di dati che impegna meno risorse possibili del computer, sia in termini di spazio che di velocità di elaborazione. Tipi di dati e proprietà dei campi (descrizione essenziale) CAMPO DESCRIZIONE Testo Caratteri alfanumerici (nomi, indirizzi, cap, ...), max 255 Memo Testo molto lungo con caratteri alfanumerici, max 65.535 Numerico numeri su cui devono essere eseguiti calcoli Data e ora date e orari compresi tra 100 e 9999 Valuta Utile per Euro e altre monete. Precisione 15 cifre + 4 dopo la virgola Contatore Numero progressivo univoco gestito da Access Sì/No Valori Sì / No oppure Vero / Falso Oggetto OLE Oggetto, Immagine collegato o incorporato in una tabella Access Collegamento Collegamento a indirizzi URL Ipertestuale Ricerca Guidata consente la creazione di un elenco deve è possibile selezionare un valore per ogni record. Scheda Generale (descrizione essenziale) Generale nome Dimensione Campo Lunghezza massima di un campo di testo o numerico. Limita la dimensione del database Formato Indica l'aspetto dei dati Etichetta Nome visualizzato come titolo della colonna. Utile perchè il nome del campo normalmente non ha spazi bianchi e soprattutto per la creazione delle maschere e dei report Valore predefinito Valore inserito automaticamente ogni volta che viene creato un nuovo record Posizioni decimali Indica per i campi numerici e valuta il numero di cifre decimali Richiesto Se impostato su Sì obbligherà l'utente a inserire sempre un valore nel campo Modulo 5 – BASE DI DATI - pg.7 Se vogliamo creare una tabella che descriva i nostri libri possiamo avere i seguenti campi Generale nome descrizione CodiceLibro Contatore (IdLibro) Titolo Testo 40 caratteri …. Autore Testo 40 caratteri Cognome in stampatello Editore Testo 30 caratteri …… Costo Valuta in Euro con 2 cifre decimali …… Pagine Numerico Sezione Categoria Testo 2 caratteri Testo 2 caratteri collocazione Testo 3 caratteri …… CU – cucina TE – teatro FA – fantastici NA - narrativa 00 01 02 04 – – – – usa e getta raccolta storica scolastici non ridati AAA – scaffale sala BBB – cucina CCC – cassaforte DDD - cantina Definiamo i campi della nostra tabella: 1) nel NOME CAMPO inseriamo il nome del campo 2) in TIPO DATI selezioniamo dall’elenco la voce voluta 3) in generale modifichiamo le proprietà Modulo 5 – BASE DI DATI - pg.8 Chiave primaria Ogni tabella deve contenere un campo che consenta di identificare ogni dato in un modo univoco. Questo campo viene definito chiave primaria. Per noi sarà Libro. Si imposterà questo campo come Chiave primaria. Creazione di una chiave primaria: Selezionare il campo Fare click sul pulsante Chiave Primaria A questo punto sulla sinistra del campo compare una piccola chiave CONVENZIONI Per rendere maggiormente leggibili le informazioni presenti nel database si preferisce aggiungere ID prima del nome di ogni campo chiave. Quindi Libro diventerà IDLibro. Chiudere la tabella (o un altro oggetto) 1) Menu File > Chiudi 2) Pulsante X barra del Titolo 3) Tasti Ctrl+F4 Modifica di una tabella Conviene sempre lavorare in visualizzazione struttura. Per lavorare con una tabella chiusa basta farvi clic sopra e utilizzare il bottone . Inserimento di un campo. Per inserire un campo nuovo si può proseguire dopo l'ultimo campo presente in tabella. Se il nuovo campo deve essere inserito sopra a uno esistente basta fare: Clic sul campo esistente con il tasto destro del mouse Scegliere Inserisci righe. La nuova riga verrà inserita sopra al campo esistente Eliminazione di un campo. Per eliminare un campo basta fare: Clic sul campo da eliminare con il tasto destro del mouse Scegliere Elimina righe. Dire di Sì per confermare l'eliminazione. Modulo 5 – BASE DI DATI - pg.9 INSERIMENTO DEI DATI IN UNA TABELLA Una volta creata la struttura della tabella è possibile inserire i dati attraverso la visualizzazione Foglio dati. Aprire una tabella in modalità Foglio dati Finestra principale, barra oggetti, selezionare la voce Tabelle > Selezionare il nome della tabella > Pulsante Apri Doppio clic Tasto dx: Apri Invio Note Se il campo chiave è di tipo contatore, verrà incrementato automaticamente. Durante la visualizzazione sono presenti i seguenti indicatori: indica il record corrente nuovo record (riga) bottoni per spostarsi velocemente tra i record. Tasti di scelta rapida La seguente tabella mostra i tasti a scelta rapida comodi per l'inserimento dei dati: Tasto Significato CTRL + ' Copia nel campo il contenuto del campo che si trova immediatamente sopra TAB Campo successivo MAIUSC + TAB Campo precedente HOME Primo campo record corrente FINE Ultimo campo record corrente CTRL + HOME Primo campo del primo record CTRL + FINE Ultimo campo dell'ultimo record CTRL + A Seleziona tutta la tabella F2 Seleziona il contenuto di un campo Maiusc + F2 Zoom: visualizza l'intero contenuto del campo in una finestra Modulo 5 – BASE DI DATI - pg.10 Salvare un record Ogni nuovo record od ogni modifica viene automaticamente salvata da Access Eliminare un record Selezionare il record da eliminare Premere CANC o Confermare con Sì I record eliminati non possono essere recuperati con il tasto annulla (o CTRL + Z) TIPO DI DATI DA UTILIZZARE PER UN CAMPO DELLA TABELLA Una tabella deve essere in primo luogo progettata. Ciò significa che occorre definire: 1) quanti e quali campi si ritiene che siano necessari: per campo s'intende una particolare categoria d'informazione atta a formalizzare un dato che si ritiene possa essere necessario per archiviare un determinato "oggetto"; ad esempio se si volesse archiviare i dati personali di un insieme d'utenti i campi saranno del tipo: nome, cognome, indirizzo, ecc. 2) per ogni campo occorre stabilire: a) il nome del campo: che deve sempre iniziare con una lettera e non può contenere segni d'interpunzione; b) che tipo di dati può ospitare il campo: cioè occorre preventivamente definire quale tipo d'informazione verrà memorizzata in ogni campo: se una stringa di testo, se un numero, una data, ecc. e) definire la dimensione dei campi: se ad esempio si definisce il campo come testuale, occorre definire quale sia il numero massimo di caratteri ammessi; se altrimenti si vuole memorizzare un dato numerico, si dovrà stabilire di quale tipo di numero si tratti: intero, decimale, lungo, ecc. La definizione dei campi è un momento chiave della progettazione di un archivio, in quanto occorre definirli in modo tale che siano coerenti con il tipo d'informazione richiesto e che siano dimensionati in modo che impegnino il minimo di risorse possibili. Un'attenta progettazione permette di costruire archivi più efficienti, più veloci, più semplici Nella definizione dei campi occorre tenere presenti le seguenti raccomandazioni: Mantenere sempre una coerenza tra il tipo di dati scelto e il dato che deve ospitare: se ad esempio si sceglie un campo numerico, non sarà poi possibile inserirvi del testo e viceversa; oppure se si vuole memorizzare una data e si è scelto di utilizzare un campo data/ora (campo speciale ricco di funzionalità di calcolo), non sarà possibile utilizzarlo per memorizzare valori numerici o altro. Calcolare sempre quale tipo di dati utilizzare e quale dimensione dargli in modo che consenta di occupare la minor quantità di memoria possibile: ad esempio i numeri di telefono conviene memorizzarli in un campo di tipo testo, dimensionato a 11 caratteri, piuttosto che in un campo di tipo numerico lungo; Bisogna scegliere il tipo di campo pensando in anticipo a quali tipi di operazioni saranno soggetti i dati ospitati: ad esempio è possibile fare operazioni matematiche con i campi di tipo numerico e valuta, ma non con quelli di tipo testo o OLE Dato che le funzioni di ordinamento vengono potenziate dall'indicizzazione (argomento futuro) si sappia che non sarà mai possibile indicizzare i campi di tipo Memo. Sulle funzioni di ordinamento valgono le seguenti considerazioni: in un campo Testo i numeri vengono ordinati come stringhe di caratteri (1, 10, 100, 2, 20, 200 e così via), non come valori numerici. Per ordinare i numeri come valori numerici, utilizzare un campo Numerico o Valuta. Molti formati di data/ora, inoltre, non verranno ordinati correttamente se immessi in un campo Testo. Per assicurare il corretto ordinamento, utilizzare un campo Data/ora. Nella seguente tabella viene riportato un elenco di tutti i tipi di dati disponibili per i campi in Microsoft Access, con il relativo utilizzo e la quantità di memoria richiesta. Si noti che queste informazioni, direttamente estratte dal manuale di Access, vengono qui riportate come compendio utile anche per il futuro. Per adesso alcune delle cose qui di seguito specificate risulteranno incomprensibili, ma lo studente le tenga presenti per i futuri cicli dì lezioni. E' molto importante dare a ciascun campo in tipo di dati appropriato e stabilirne anche la dimensione. Se, ad esempio, imposto un campo come numerico, devo anche stabilire quale tipo di numerico Modulo 5 – BASE DI DATI - pg.11 intendo adottare; perché esistono tipi numerici interi, lunghi, con la virgola, più precisi o meno precisi. A seconda del tipo e del sottotipo scelto, sia avrà una maggiore o minore occupazione di memoria e quindi una differente velocità del computer. Naturalmente gli effetti di una buona progettazione e di un attendo dimensionamento diventano apprezzabili solamente su archivi di certe dimensioni. Comunque sia è importante, fin d'ora, imparare ad impostare correttamente i tipi di dati e le loro dimensioni. Nella tabella seguente sono riassunti i vari tipi di dati. Tipo di dati Testo Utilizzato per Testo o combinazioni di testo e numeri, come gli indirizzi, nonché numeri che non richiedono calcoli, come i numeri di telefono, i numeri parte o i codici postali. Dimensioni Fino ad un massimo di 255 caratteri. Vengono memorizzati solo i caratteri immessi in un campo; non vengono memorizzati gli spazi per le posizioni non utilizzate in un campo Testo. Per stabilire il numero massimo di caratteri che è possibile immettere, impostare la proprietà Dimensione campo. Memo Testo e numeri lunghi, come note o descrizioni. Fino ad un massimo di 64.000 caratteri. Numerico Dati di tipo Numerico da utilizzare per i calcoli matematici, ad eccezione dei calcoli di valori monetari per i quali è necessario utilizzare il tipo di dati Valuta. Per definire il tipo di dati Numerico specifico, impostare la proprietà Dimensione campo. Data/ora Date ed ore Valuta Valori di tipo Valuta. Utilizzare questo tipo di dati per evitare l'arrotondamento durante i calcoli. Con una precisione di 15 cifre a sinistra del separatore decimale e 4 cifre a destra. Contatore Numeri sequenziali univoci (con incremento di 1) o casuali inseriti automaticamente quando viene aggiunto un record. Sì/No Campi che conterranno solo uno di due valori alternativi, come Sì/No, Vero/Falso, On/Off Oggetto OLE Oggetti creati con altri programmi utilizzando il protocollo OLE, come documenti di Microsoft Word, fogli di calcolo di Microsoft Excel, immagini, suoni o altri dati Dinari, che possono essere collegati o incorporati in una tabella di Microsoft Access. Per visualizzare l'oggetto OLE, è necessario utilizzare una cornice di oggetto associato in una maschera o in un report. Collegamento Campo in cui vengono memorizzati i collegaipertestuate menti ipertestuali. Un collegamento ipertestua-le può essere un percorso UNC oppure un URL. Autocomposizione Crea un campo che consente di scegliere un Ricerca valore da un'altra tabella o da un elenco di valori utilizzando una casella combinata. Quando si sceglie questa opzione dall'elenco dei tipi di dati, verrà avviata un'autocomposizione. 1,2, 4 08 byte. 16 byte 8 byte 8 byte 4 byte 1 bit. Fino ad un massimo di 1 gigabyte (in base allo spazio disponibile su disco) Fino ad un massimo di 64.000 caratteri. Le stesse dimensioni del campo chiave primaria utilizzato per eseguire la ricerca, in genere 4 byte. Dobbiamo Ancora specificare che per ogni tipo esistono diverse sotto impostazioni, dette anche proprietà del campo. Queste proprietà variano in funzione del tipo di dati che si è selezionato. Impostazione delle proprietà Per ogni tipo di dati occorre stabilire i valori delle proprietà del campo che vengono elencate sotto la struttura, all'interno della schedina denominata "Generale". Queste proprietà variano in funzione del tipo di dati selezionato, ma nel compo sono sempre le stesse. Modulo 5 – BASE DI DATI - pg.12 Vediamo schematicamente l'elenco di queste proprietà e i valori che possono assumere in funzione del tipo di dati selezionato. Dimensione campo: Solo per campo di tipo di testo consente un massimo di 255 caratteri, per campi di tipo numerico e contatore vedi tabella qui sotto: DIMENSIONE CAMPO NUMERO PIU’ GRANDE CIFRE DECIMALI Byte Itero Itero lungo da 0 a 255 da -32768 a 32768 da-2,147,483,648 a 2,147,483,647 Nessuna. Dato arrotondato Nessuna. Dato arrotondato Nessuna. Dato arrotondato Precisione singola da-3.4x10a3.4x10 Fino a 7 Precisione doppia da-1.797x10 a 1.797x10 Fino a 15 ID Replica Identificatore univoco globale Non disponibile Decimale da 0 a 255 Disponibile Formato: Stabilisce la modalità dei dati che appaiono in Visualizzazione Foglio dati. Per campi di tipo numerico vedi tabella qui sotto: FORMANTO Numero generico Valuta Euro Fisso Standard Percentuale Notazione scientifica CIFRE DECIMALI Formato standard. Visualizza il numero come lo si digita Utilizza la valuta impostata da windows con punto separatore Utilizza la valuta euro Il numero standard di cifre decimali è 2. Visualizza almeno una cifra e il numero viene arrotondato a secondo del numero di cifre decimali impostate. Usa il punto come separatore delle migliaia. Cifra decimale è 2 Moltiplica il numero inserito per 100. Cifra decimale è 2 Rappresenta i numeri come multipli di potenze di 10 Per campi di tipo data/ora vedi tabella qui sotto: FORMATO DESCRIZIONE Data generica Valore standard Data estesa Esempio: lunedì 1 maggio 2004 Data breve Esempio: 1-mag-04 Data in cifre Esempio: 1/5/04 Ora esatta Esempio: 06.25.00 Ora breve 12h Esempio: 12.25 Ora breve 24h Esempio: 19.45 Posizioni decimali: Solo per campi Numerico e Valuta, stabilisce un certo numero di cifre decimali. Maschera di input: Con questa proprietà è possibile impostare l'aspetto che dovranno avere i nostri dati: es. Codice fiscale, e-mail, ora, CAP, sigla della provincia, data. Etichetta: Con questa proprietà e possibile cambiare il nome (come alternativa) del campo che appare nella tabella su maschere e report. Valore predefinito: Imposta nel campo un valore specifico predefinito. Valido se: E possibile impostare un valore massimo o minimo del dato in quel campo (es. non può superare un determinato numero sia in eccesso o per difetto). Messaggio di errore: E' possibile inserire un piccolo testo che si vuole che appaia, nel caso che si violino le regole delle proprietà precedenti "valido se". Richiesto: Con questa proprietà è possibile stabilire l'obbligatorietà di inserimento dati in un report. Consenti lunghezza zero: Con questa proprietà è possibile stabilire se scrivere nel report delle virgolette (" ") nel caso che non ci siano dati da inserire. Indicizzato: Se no non consente l'immissione di dati uguali per velocizzare la lettura dei dati di un database. Modulo 5 – BASE DI DATI - pg.13 IMPOSTAZIONE DELLA CHIAVE PRIMARIA Ogni tabella deve avere almeno un campo impostato come chiave primaria. Con questo termine si deve intendere un indice, cioè un elenco ordinato di valori, che non ammette duplicati. In parole molto semplici; 1) se si vuole compiere ricerche e ordinamenti veloci sui dati di un campo, bisogna associare al campo un indice, ovvero un elenco alfabetico dei suoi valori 2) Access compierà le operazioni di ricerca e ordinamento utilizzando questo indice. 3) Esiste un particolare indice che non ammette valori duplicati: ad esempio se indicizzo il campo cognome non potrò inserire due volte il cognome Rossi 4) Questo indice che non ammette duplicati viene chiamato Chiave primaria e lo si deve impostare su quel campo che contiene i valori univoci, come, ad esempio, il campo del codice 5) Ora: è buona cosa che in ogni tabella vi sia un campo univoco (codice) e che su di esso sia impostata la Chiave primaria: questo per evitare che si verifichino delle omonimie 6) In genere questo è sempre il primo campo di una tabella 7) Per impostare la chiave primaria basta portarsi sul campo e premere il pulsante con una chiavetta posto nella barra degli strumenti La tabella può essere visualizzata in due modi: 1) Come struttura: usando il menu Visualizza.Struttura 2) Come Foglio Dati: usando il comando Visualizza Foglio Dati ORDINARE I DATI Quando il numero dei dati cresce non è semplice individuare i dati che interessano. Per ordinare i dati basta fare: Click sulla colonna in base alla quale si vuole fare l'ordinamento Utilizzare i bottoni di ordinamento crescente / decrescente E' possibile selezionare contemporaneamente più campi. L'ordinamento verrà eseguito prima sul campo di sinistra e successivamente sugli altri. Modulo 5 – BASE DI DATI - pg.14 FILTRARE I DATI Un filtro consente di visualizzare determinati record in base a un criterio. I filtri sono di due tipi: Filtro in base a selezione Filtro in base a maschera Filtro in base a selezione E' molto semplice e consiste nell'indicare il valore del campo che determina il filtro. I passi sono i seguenti: Click sul valore (ES – “A. Mondadori”) Click sul bottone Filtro in base a selezione Dati filtrati in base a selezione E' possibile selezionare un ulteriore dato e riapplicare il filtro. Quindi i dati visualizzati risponderanno a più criteri. Rimuovere il filtro Basta premere il tasto e i dati nascosti riappariranno. Filtro in base a maschera Questo filtro consente di filtrare più colone contemporaneamente, inserire espressioni logiche e specificare alternative Quando si attiva il filtro in base a maschera compare un foglio dati vuoto contenente tutte le colonne della tabella. In ogni colonna compare una freccia che indica la possibilità di utilizzare un elenco di tutti i valori presenti nel campo. Per ricercare tutti i libri con prezzo minore o uguale a € 20,00 bisognerà inserire il testo <=20,00 nel campo costo E poi cliccare sul tasto per ottenere il filtraggio voluto Modulo 5 – BASE DI DATI - pg.15 Operatori filtro Gli operatori di controllo che si possono utilizzare sono i seguenti Operatore Significato < minore > maggiore <= minore o uguale >= maggiore o uguale <> diverso = uguale AND entrambe le condizioni devono essere vere OR almeno una condizione deve essere vera NOT nega la condizione BETWEEN x AND y Tra il valore x e il valore y compresi Per filtrare date dell'intero anno 2002 si scriverà: (>#01/01/02#) AND (<#31/12/02#) oppure between #01/01/02# AND #31/12/02# Modulo 5 – BASE DI DATI - pg.16 MASCHERA Cosa è una maschera Nuovi record possono essere aggiunti direttamente nella tabella, quando questa è visualizzata nella modalità foglio dati. Tuttavia non è cosa consueta. Meglio è predisporre una apposita maschera o scheda per l'inserimento dei dati. Le maschere sono più semplici da utilizzare, chiare e pratiche, non richiedono spostamenti con le barre di scorrimento; sono inoltre esteticamente più gradevoli. Anche questi oggetti, le maschere appunto, possono essere costruiti pezzo per pezzo utilizzando la visualizzazione struttura. Ma molto più comodo, in questo caso, è servir degli automatismi disponibili in Access. I vantaggi offerti dalle maschere sono: 1. Aspetto grafico più accattivante 2. Possibilità di effettuare controlli sui dati immessi. 3. Visualizzare i dati un record alla volta. 4. Visualizzazione dell'intero campo. Se i campi della tabella sono tanti, il rischio è di vedere solo i dati troncati Tipi di maschere Le maschere servono per parecchie cose, possono essere usate per visualizzare e modificare dati, per inserire dati e anche per rendere più bello e attraente un Database. Sì possono disegnare in modo da poter contenere tutti i campi in un unica videata, evitando quindi la necessità dello scorrimento. Ci sono quattro tipi fondamentali di maschere: A Colonne - dove i nomi dei campi sono listati sul lato sinistro della maschera, con una colonna sulla destra contenente i valori dei campi. Queste maschere sono particolarmente indicate per l'inserimento di dati. Tabellari - dove i nomi dei campi sono posizionati nella parte alta della maschera con i valori nelle rispettive colonne sotto di essi. Queste maschere sono particolarmente indicate per la visualizzazione e la consultazione del database. Foglio Dati - dove i campi sono visualizzati come in una tabella o una query. Poco utili, in quanto assomigliano molto alla normale visualizzazione foglio dati. Possono tuttavia risultare idonee in alcuni casi particolari non considerati in questo corso di base. Modulo 5 – BASE DI DATI - pg.17 Giustificato - dove i nomi dei campi e i valori sono visualizzati in modo giustificato. Si tratta di una variante del tipo a colonne. Può essere utilizzata in alternativa. Creazione di una maschera Le possibilità offerte per creare le maschere sono le seguenti: Maschera standard. Soluzione rapida per immettere i dati in tutti i campi della tabella. Creazione guidata. Consente di personalizzare la maschera utilizzando già un'impostazione costruita automaticamente in base ai campi della tabella. Visualizzazione struttura. Permette di intervenire su tutti gli elementi della tabella. Maschera standard I passi sono i seguenti: Nel menù Tabelle, si fa click sulla tabella a cui associare la maschera. Con il bottone Nuovo Oggetto si seleziona Maschera Standard. oppure: Nella finestra principale selezionare la voce Tabelle > Selezionare la tabella in base alla quale si desidera creare la maschera (creazione guidata): > Menu Inserisci > Maschera Standard Modulo 5 – BASE DI DATI - pg.18 La maschera viene creata immediatamente. Maschera standard semplice Questa maschera però non consente di nascondere alcuni campi e visualizza i record uno ad uno. Visualizza il primo record Visualizza il record precedente Visualizza il record successivo Visualizza l'ultimo record Nuovo record per inserimento dati Creazione guidata di una maschera Per costruire una semplice maschera d'inserimento dati occorre: 1. selezionare la scheda Maschere nella finestra del database; 2. Premere pulsante Nuovo e poi scegliere creazione guidata, oppure, direttamente dalla finestra database, doppioclick Crea una maschera mediante una creazione guidata Si avvia in tal modo l'autocomposizione. Alla seconda videata viene chiesto quali campi debbano essere impostati nella maschera. Nel nostro caso, trattandosi di una maschera per l'inserimento dei dati ci serve che tutti i campi vengano inseriti. Modulo 5 – BASE DI DATI - pg.19 Controlla che sia selezionata la tabella giusta Spostare sulla destra i campi che si vuole visualizzare. Il bottone sposta un solo campo mentre il bottone li sposta tutti. Proseguire con Avanti. Nella successiva videata viene richiesto che tipo di formato vogliamo per la maschera: 1) layout a colonne o giustificato sono più indicati per maschere d'inserimento dati (meglio a colonne) 2) layout tabulare o foglio dati sono più indicati per delle visualizzazione di dati, cioè per la consultazione. Noi sceglieremo layout a colonne. Modulo 5 – BASE DI DATI - pg.20 La schermata dopo ci chiede che tipo di grafica, sfondo colori vogliamo inserire sulla maschera. Nell'ultima schermata viene chiesto il nome col quale salvare la maschera: diamo un nome che ci ricorda a cosa serve questa maschera. Sì noti che Access ci propone come nome quello della tabella o dell'oggetto associato: è buona regola rifiutarlo e dare un nome che serva da promemoria. Modulo 5 – BASE DI DATI - pg.21 Ogni campo della nostra tabella corrisponde ad una casella di testo. Con il tasto TAB oppure INVIO sarà possibile spostarsi da una campo all'altro. Quando si completano tutti i campi, viene aggiunto automaticamente un nuovo record e la maschera è nuovamente pronta per l'inserimento di un altro prodotto. In basso vi sono selettori che permettono di spostarsi tra un record e l'altro per apportare le modifiche o le correzioni 1) visualizza maschera (come in figura) 2) visualizza foglio dati, cioè in modo simile alla tabella, con la differenza che saranno visibili solo i campi selezionati nell'autocomposizione della maschera; 3) visualizza struttura; modalità che serve per apportare delle modifiche al layout della maschera, ai colori, o agli oggetti che utilizziamo per visualizzare i VISUALIZZAZIONE STRUTTURA Con questa visualizzazione è possibile modificare tutti i parametri della maschera: caselle, allineamenti, colori, ecc. Gli elementi che costituiscono una maschera sono • Intestazione maschera: Può contenere il titolo, il logo ecc. • II corpo: contiene i vari campi • II pie di pagina: può contenere il numero di pagina e eventuali totali Per inserire elementi nell'intestazione nel pie di pagina occorre trascinare in giù il bordo con il cursore Modulo 5 – BASE DI DATI - pg.22 Modifica degli elementi di una maschera Gli elementi di una maschera vengono definiti controlli. Se si fa click sul nome del campo sulla parte valore compare il cursore significa che si può spostare il controllo. il cursore che compare nell'angolo in alto a sinistra consente dì agire solo su una parte del controllo (etichetta / valore) Barra casella degli strumenti Attraverso questa barra, attivabile con il bottone se non presente, è possibile inserire tutti i vari elementi che costituiscono una maschera. Inserimento di testi Per inserire un testo, per esempio un titolo, selezionare il bottone e tracciare un rettangolo nel punto in cui si vuole inserire il testo. Se il testo non è visibile occorre allargare la casella di controllo. Inserimento di Caselle di testo Una casella dì testo normalmente fa riferimento ad un campo. Il modo più semplice per inserire una casella di testo è utilizzare l'elenco campi attivabile con il bottone A questo punto sì seleziona il campo e lo si trascina all'interno della maschera Inserimento di immagini Per inserire un immagine utilizzare il bottone . Tracciare un rettangolo che conterrà l'immagine e selezionarla attraverso la finestra inserisci immagine. Per adattare perfettamente il rettangolo all'immagine selezionare Formato > Allinea > alla griglia. Inserimento di linee e di rettangoli Utilizzare rispettivamente i bottoni e tracciare. Modulo 5 – BASE DI DATI - pg.23 QUERY Notizie generali Abbiamo finora costruito due degli oggetti di base necessari ad una database: una tabella, per ospitare i dati e una maschera, per dare una interfaccia utente d'inserimento. E' chiaro che su questo archivio potrebbe essere necessario fare delle ricerche, oppure visualizzare i dati in un certo ordine. Per fare questo occorre disporre di una altro oggetto denominato query. La parola Query significa interrogazione, domanda, quesito. Si tratta di un particolare oggetto capace di interrogare il database ed estrarre una risposta sotto forma di dati. In realtà una query non è altro che una proposizione coniata mediante un particolare linguaggio. Questo linguaggio viene denominato SQL (Standard Query Language). Si tratta di un linguaggio assai complesso costruito apposta per produrre richieste di dati ai database, quindi non solo quelli di Access, ma anche quelli di altri archiviatori; questo linguaggio ha una sintassi complessa ed è composto di molte parole. L'oggetto Query, a differenza delle tabelle e delle maschere, possiede tre modi di visualizzazione: 1. visualizza struttura: in questa visualizzazione si costruisce la query, si definiscono le impostazioni e i parametri; 2. visualizzazione fogli dati: in questa modalità si vedono i risultati dell'interrogazione costruita; 3. visualizza SQL: in questa modalità viene visualizzata l'interrogazione nel suo proprio linguaggio di programmazione. Esistono due tipi di query query dettaglio: Vengono visualizzati tutti i campi di tutti i record query riepilogo: consente di effettuare calcoli sui campi numerici, oppure di selezionare, scegliere e raggruppare Query dettaglio Creiamo una query mediante una creazione guidata Facciamo doppio clic su Creazione guidata Modulo 5 – BASE DI DATI - pg.24 Selezioniamo la tabella e inseriamo i campi Scegliamo il tipo di query e avanti Diamo un nome alla query e avanti. Ovviamente non è stato filtrato nulla – non abbiamo messo nessun limite e nessuna forma di selezione. Modulo 5 – BASE DI DATI - pg.25 Modifica della struttura di una query Selezioniamo la query e clicchiamo sul tasto STRUTTURA. Compare questa nuova finestra Il riquadro in alto visualizza la tabella o le tabelle nella query, Il riquadro in basso visualizza i campi : Campo – Nomi dei campi che si vogliono vedere (si scelgono aprendo il sottomenu freccia) Tabella – Nome della tabella alla quale appartengono i campi Ordinamento – Consente di ordinare i risultati delle query in modo crescente o decrescente Mostra – Consente di visualizzare o nascondere un campo nel foglio di risposta Criteri – Consente di indicare i criteri per la selezione dei dati Oppure – Consente di aggiungere criteri Una volta inseriti i dati nella struttura, per vedere i risultati occorre fare clic sul bottone Modulo 5 – BASE DI DATI - pg.26 Ipotizziamo di voler visualizzare soltanto i campi TITOLO – AUTORE – CATEGORIA – COLLOCAZIONE Togliamo il segno di spunta dai campi che non ci interessano e clicchiamo Otteniamo Ipotizziamo di voler selezionare solo i libri degli autori che iniziano con la lettera B Inseriamo nei CRITERI del campo AUTORE – LIKE “B*” E otteniamo Modulo 5 – BASE DI DATI - pg.27 Criteri di una ricerca E’ possibile inserire i criteri di ricerca sia attraverso una maschera che digitando direttamente i comandi Per attivare la finestra selezionare l’icona e selezionare i criteri Regole , 1) il campo con i criteri deve contenere sempre un elemento condizionale definito da un operatore di confronto logico o dall'espressione LIKE 2) Gli operatori logici di confronto sono quelli tipici della matematica e dei linguaggi di programmazione: =, >, <, <>, <=, >=. Questi operatori si utilizzano solamente con campi che hanno valori numerici, valuta o data/ora. Il loro significati sono i seguenti: Operatore Significati Esempio = > < o <= >= Uguale a Maggiore di Minore di Diverso da Minore o uguale Maggiore o uguale =15 >30 <30 <>56 <=60 >=60 3) Per la ricerca di porzioni di testo occorre utilizzare l'espressione LIKE al posto dell'uguale "="; è da notare che se nel criterio si scrive una parola, il programma provvede a inserire la parola like e le necessarie virgolette; 4) Nelle espressioni di ricerca si possono utilizzare anche i caratteri Jolly, come l'asterisco (*) o il punto interrogativo (?). Si noti che i caratteri jolly sono caratteri speciali che possono sostituire qualsiasi carattere; in particolare: Modulo 5 – BASE DI DATI - pg.28 (*) l'asterisco indica un insieme qualsiasi di caratteri ad esempio "B*" seleziona tutti i valori che iniziano con la lettere B "*A" seleziona tutti i valori che finiscono con la lettera A "cas*" seleziona tutti i valori che iniziano con la stringa cas: quindi casa, casetta, casone, casino, ecc. "*ismo" seleziona tutti i valori che terminano per ismo: fascismo, nazionalismo, regionalismo, culturismo, perbenismo, ecc. (?) punto interrogativo indica un carattere singolo ad esempio: "cas?" seleziona; casa, case, casi, caso, ecc. "?ale" seleziona: vale, cale, pale, male, ecc. se ne possono anche usare due o tre "c???a" seleziona: colla, ceppa, culla, ecc. e sono possibili anche svariate combinazioni del ? e dello * Operatore and or not Is Null Between –valore 1 And – valore 2 Significati Like “ L*” Like “* /mese/*” Tutti i valori che iniziano con la lettera inserita Like “c*” Like “*/03/*” Tutte le date che iniziano nel mese Entrambe le condizioni devono essere vere Almeno una condizione deve essere vera La condizione non deve essere vera Il campo non contiene valori I valori sono compresi tra il valore 1 e il valore 2 Esempio >=#01/01/2001 AND <=#31/12/2001 “agrumi” OR “prato” Not “Manzoni” Between 2 and 5 Modulo 5 – BASE DI DATI - pg.29 REPORT I report sono gli oggetti preposti alle stampe. Si tratta di oggetti complessi che vengono, per lo più, autocomposti in modo quasi automatico. Infatti la costruzione di report manuale richiede molto tempo e una grande dimestichezza con le interfacce strutturate ad oggetti. E' quindi un lavoro riservato ad utenti molto esperti e che abbiano particolari esigenze di stampa. Le autocomposizioni di Access (o creazioni guidate) sono in grado di soddisfare abbondantemente la gran parte delle esigenze comuni e buona parte di quelle particolari. In effetti i report possono essere concepiti come delle maschere il cui prodotto finale viene visualizzato in un'anteprima di stampa e poi sulla carta. Anche i report possiedono tre modi di visualizzazione: > visualizzazione struttura: nella quale si costruisce il layout di stampa o se ne modifica uno esistente > visualizzazione anteprima layout: permette di vedere subito il layout di pagina, ma vengono visualizzati pochi record; serve per farsi una idea di come verrà la pagina di stampa, ma non tutte le pagine > visualizzazione anteprima di stampa: permette di vedere come verrà composta intera stampa dell'archivio. 1 ) Selezionare la schedina report nella finestra database 2) Cliccare Nuovo 3) Selezionare Creazione guidata report, indicare la tabella o la query che si vuole stampare, confermare 4) Le fasi dell'autocomposizione sono simili a quelle dell’autocomposizione delle maschere, pertanto vengono in genere richiesti: - quali campi si vuole includere nella stampa; Modulo 5 – BASE DI DATI - pg.30 - quale tipo di raggruppamento; cioè se i record vanno stampati raggruppati in base ad un qualche campo: nel nostro caso ad esempio potemmo stampare tutti i libri raggruppati per autori o per casa editrice, ecc.; - quale tipo di ordinamento si vuole ottenere; - quale tipo di layout si vuole ottenere: a schede, tabellare, giustificato; Modulo 5 – BASE DI DATI - pg.31 - che stile grafico si vuole dare al report; quale nome dare al report (ricordarsi di dare sempre un nome esplicativo) Se si commettono degli errori è sempre possibile tornare indietro oppure salvare e cancellare il report errato. Modulo 5 – BASE DI DATI - pg.32 INTRODUZIONE ....................................................................................................................... 1 GLI ELEMENTI DEL DATABASE .............................................................................................. 1 CREARE UN DATABASE NUOVO ........................................................................................... 4 ELEMENTI DI UN DATABASE.................................................................................................. 5 CREAZIONE DI UNA NUOVA TABELLA .................................................................................. 5 Progettazione di una tabella ............................................................................................... 6 Chiave primaria .................................................................................................................. 9 Chiudere la tabella (o un altro oggetto) .............................................................................. 9 Modifica di una tabella........................................................................................................ 9 Inserimento di un campo. ................................................................................................... 9 Eliminazione di un campo. ................................................................................................. 9 INSERIMENTO DEI DATI IN UNA TABELLA.......................................................................... 10 Aprire una tabella in modalità Foglio dati ......................................................................... 10 Tasti di scelta rapida ........................................................................................................ 10 Salvare un record ............................................................................................................. 11 Eliminare un record .......................................................................................................... 11 TIPO DI DATI DA UTILIZZARE PER UN CAMPO DELLA TABELLA ..................................... 11 Impostazione delle proprietà ............................................................................................ 12 IMPOSTAZIONE DELLA CHIAVE PRIMARIA ................................................................. 14 ORDINARE I DATI .................................................................................................................. 14 FILTRARE I DATI .................................................................................................................... 15 Filtro in base a selezione.................................................................................................. 15 Filtro in base a maschera ................................................................................................. 15 Operatori filtro .................................................................................................................. 16 MASCHERA ............................................................................................................................ 17 Cosa è una maschera ...................................................................................................... 17 Tipi di maschere ............................................................................................................... 17 Creazione di una maschera ............................................................................................. 18 Maschera standard .......................................................................................................... 18 Creazione guidata di una maschera ................................................................................. 19 VISUALIZZAZIONE STRUTTURA ................................................................................... 22 Modifica degli elementi di una maschera ......................................................................... 23 Barra casella degli strumenti ............................................................................................ 23 Inserimento di testi ........................................................................................................... 23 Inserimento di Caselle di testo ......................................................................................... 23 Inserimento di immagini ................................................................................................... 23 Inserimento di linee e di rettangoli .................................................................................... 23 QUERY ................................................................................................................................... 24 Notizie generali ................................................................................................................ 24 Query dettaglio ................................................................................................................. 24 Modifica della struttura di una query ................................................................................ 26 Criteri di una ricerca ......................................................................................................... 28 REPORT ................................................................................................................................. 30 Modulo 5 – BASE DI DATI - pg.33