Programma Informatica 1 Esercitazione n. 9: Creazione di un database relazionale Scopo di questa esercitazione è la creazione di una base dati relazionale per la gestione della biblioteca universitaria; il database dovrà includere due tabelle, libri ed autori, collegate tra loro: ogni record della tabella libri è collegato ad un solo record della tabella autori, mentre ad ogni record della tabella autori corrispondono più record della tabella libri (Relazione uno-a-molti). A – Avvio di Access e creazione di un file .mdb vuoto Crea una cartella dal nome Esercitazione9 all’interno della cartella c:\informatica\informatica1\esercitazioni_COM (oppure WEB o SAM) Avvia MS ACCESS (in Windows, menù Avvio-Microsoft Access) e crea un nuovo database vuoto. Salva il file con un nome a piacere (p.es. biblioteca, l’estensione è automaticamente .mdb). Dal menù File, scegli Carica Dati Esterni e poi Importa o, in alternativa, clicca sul pulsante Nuovo nella finestra database e poi scegli Importa tabella. Importa i dati del file Elenco_Autori.xls. Quando richiesto, indica Intestazioni di colonne nella prima riga. Quando viene richiesto in quale tabella importare i dati, scegli Tabella nuova. Non aggiungere chiavi primarie. Dai alla tabella il nome Autori. Ripeti la procedura importando i dati del file Elenco_Libri.xls nella nuova tabella Libri. C – Modifica la struttura della tabella “Autori” Apri la tabella Autori in modalità Struttura, ed imposta le proprietà dei campi Nome, Cognome e Nazione, come descritto di seguito. Tipo Dati e Proprietà Testo, dimensione: 20, indicizzato: No Testo, dimensione: 20, indicizzato: No Testo, dimensione: 20, indicizzato: No Descrizione D – Modifica la struttura della tabella “Libri” Apri la tabella Libri in modalità Struttura, ed imposta le proprietà dei campi, come di seguito. Prezzo Data Pubblicazione Tipo Dati e Proprietà Testo, dimensione: 50, indicizzato: No Testo, dimensione: 20, in dicizzato: No Numerico, intero lungo, Indicizzato: Sì (duplicati ammessi) Valuta, formato Euro Testo, dimensione: 4, indicizzato: No Modifica la relazione tra le due tabelle: richiama la finestra Relazioni con il bottone Relazioni, oppure menù Strumenti e comando Relazioni; fai doppio clic sulla relazione ed applica l’integrità referenziale: seleziona la check box Applica Integrità referenziale e le due sottostanti check box. Apri la tabella Libri in visualizzazione Foglio dati e verifica il contenuto del campo Link_autore: esso contiene il valore del campo ID_Autore del record della tabella Autori collegato al corrispondente record della tabella Libri. Prova a modificare il contenuto del campo Link_autore , inserendo un valore del campo ID_Autore inesistente (es. 100) e tenta di salvare i dati: scrivi qui il messaggio di errore che appare e spiega cosa significa. Dalla finestra database, cartella Maschere, crea una nuova maschera con l’autocomposizione; specifica per ciascuna delle due tabelle, i campi da includere nella maschera (tutti ad eccezione dei campi contatore e dei campi chiave). Scegli il modello Maschera con sotto-maschera, quindi il layout Foglio Dati per la sotto-maschera e lo stile a quadretti per la maschera. Al termine, salva le due maschere con nomi a piacere. Apri la maschera principale in modalità visualizzazione e modifica i dati nelle due tabelle collegate: 1) aggiungi un autore, 2) aggiungi due libri all’autore, 3) cancella un autore (verifica che – grazie all’integrità referenziale – vengano cancellati anche i record collegati della tabella Libri), 4) cancella un libro. I – Modifica degli oggetti sulla maschera Apri la maschera principale in visualizzazione struttura: disponi i campi Nome e Cognome in orizzontale (sulla stessa riga). Aggiungi il campo ID_Autore. Salva e chiudi. L – Creazione di una query di selezione (query standard) sulle due tabelle Aggiungi un campo “ID_autore” di tipo Contatore. Imposta per questo campo la proprietà di chiave primaria. Chiudi la tabella Nome campo Titolo Genere Link_autore G – Inserimento integrità referenziale H – Creazione di una maschera associata alle due tabelle (Fig. 1) B – Importazione dati nelle tabelle Nome campo Nome Cognome Nazione ciascun autore: clicca sull’indicatore di espansione nella prima cella di ogni record; appare la tabella correlata Libri (inserisci nella tabella Libri due record per l’autore aggiunto). Chiudi le tabelle. Descrizione Campo necessario per il collegamento tra le due tabelle Anno di pubblicazione Aggiungi un campo ID_libro di tipo Contatore. Imposta per questo campo la proprietà di chiave primaria. Chiudi la tabella E – Impostazione delle relazioni tra tabelle Per inserire relazioni tra tabelle, usa il bottone Relazioni, oppure dal menù Strumenti il comando Relazioni. Aggiungi entrambe le tabelle create precedentemente alla finestra delle relazioni (usa pulsante con un “+”). Metti in relazione il campo Link_autore della tabella Libri con il campo ID_autore della tabella “Autori”: posiziona il mouse sul campo Link_autore e trascinalo sul campo ID_autore (o viceversa). Appare una finestra di impostazione della relazione (nota che il sistema imposta automaticamente la relazione come uno-a-molti). Fai click sul bottone Crea/Ok; verifica che la relazione venga visualizzata correttamente, poi chiudi la finestra delle relazioni. F – Visualizzazione delle tabelle e modifica dati Apri ora la tabella Autori in visualizzazione Foglio dati ed inserisci un nuovo record (a piacere). Mentre si inseriscono i dati degli Autori, è possibile visualizzare ed inserire i dati dei Libri scritti da Dalla finestra database, cartella Query, crea una nuova query tramite l’autocomposizione; specifica per ciascuna delle due tabelle, i campi da includere (tutti ad eccezione del campo Prezzo). Salva la query con il nome Autori-Libri: vengono visualizzati i record correlati delle due tabelle. Torna alla visualizzazione struttura: elimina dalla query i campi contatore e i campi chiave. Aggiungi nella query il campo Prezzo. Riesegui la query. M – Creazione di query a calcolo (Fig. 2) Riapri la query in visualizzazione struttura. Aggiungi un campo espressione per calcolare l’aumento del 12% del prezzo di ciascun libro: digita nella riga Campo di una qualsiasi colonna vuota della query, l’espressione matematica =[Prezzo]*1,12. Esegui la query. N – Creazione di un report con totali e sub-totali Dalla finestra database, cartella Report, crea il report basato sulla query Autori-Libri (seleziona i campi Titolo, Data Pubblicazione, Cognome, Prezzo, Genere). Imposta il raggruppamento dati in base al campo Genere ; nella finestra successiva, ordina i dati in base al campo Titolo e imposta le Opzioni di riepilogo al fine di calcolare, per ciascun genere letterario, la somma dei prezzi dei libri di quel genere [ suggerimento: qualora non vengano impostate le opzioni di riepilogo durante l’autocomposizione, apri il report in modalità struttura ed inserisci nel piè di pagina del gruppo Genere e del report, due caselle di testo: nella palette degli strumenti seleziona una casella di testo e clicca nel punto del report dove vuoi inserirla (piè di pagina del gruppo e del report). Visualizza la finestra delle proprietà di ciascuna casella di testo ed inserisci nel campo Origine Controllo la seguente espressione =Sum([Prezzo]). ] Alla fine, visualizza il report in anteprima (come in fig. 3). O – “Progettazione” di un report con dati filtrati Con la creazione guidata, realizza il report esattamente uguale (a parte lo stile grafico) a quello mostrato in figura 4 (suggerimento: crea prima una nuova query e basa il report su di essa). Fai ora in modo che il report visualizzi solamente i libri la cui data di pubblicazione sia successiva all’anno 1990 (incluso). Risultati (esempio) della esercitazione 9: Funzionalità avanzate di Access MASCHERA “Autori” con sotto-maschera (Fig. 1) QUERY DI CALCOLO (Fig. 2) Titolo I Promessi Sposi Il Conte di Carmagnola Adelchi Canti Operette Morali Kosferatu Codice a zero Il codice Rebecca La cruna dell'ago Il pianeta dei bruchi Il cavaliere inesistente Collezione di sabbia La Tregua REPORT con totali e sub-totali (Fig. 3) REPORT con dati filtrati (Fig. 4) Genere Letteratura Letteratura Letteratura Poesia Letteratura Satira politica Narrativa Narrativa Narrativa Narrativa Narrativa Narrativa Letteratura Prezzo € 88 € 14 € 10 € 60 €8 € 19 € 25 € 18 € 16 € 20 € 24 € 20 € 23 Prezzo Data aumentato pubblicazione 98,56 1960 15,68 1990 11,2 1988 67,2 1993 8,96 1995 21,28 2002 28 2002 20,16 1997 17,92 1996 22,4 2002 26,88 2000 22,4 1994 25,76 1997