1 Università degli Studi di Ferrara Corso di Laurea in Tecnologie per i Beni Culturali A.A.2009/2010 Corso di Informatica 2 Docente: Dott. Andrea Silvestri - Access - 2 Creazione di un database Access Apriamo Access e, nel riquadro Attività, facciamo click su Database vuoto Diamo un nome al database e premiamo Invio; da questo momento possiamo inserire i nostri oggetti Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 3 Database Access vuoto • I principali elementi sono: ▫ Elenco dei tipi di oggetti che possiamo creare x tabelle, query, maschere… ▫ Opzioni di creazione e oggetti creati, nella ll parte t centrale t l d della ll fi finestra t Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 4 Creazione di una tabella • Per creare la tabella insegnamenti: ▫ clicchiamo, nella colonna degli oggetti, su Tabelle ▫ facciamo doppio click su Crea una tabella in visualizzazione struttura verrà mostrata una struttura, finestra per la definizione delle colonne della tabella ▫ inseriamo i dati relativi alle due colonne (campi) Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 5 Tipi di dati Testo Utilizzare per gli oggetti OLE, ad esempio documenti Word, Excel, immagini, suoni ecc. creati in altri programmi tramite il protocollo OLE. Memorizza fino a 1 GB. Memo Utilizzare per testo lungo e numeri. Memorizza fino a 65.536 caratteri. Numerico Utilizzare per i dati numerici da inserire in calcoli matematici, ad eccezione dei calcoli con valuta. In tal caso, utilizzare il tipo di dati Valuta. Memorizza 1, 2, 4 o 8 byte e 16 byte solo per l'ID replica (GUID, Globally Unique Identifier). La proprietà Dimensione campo definisce il tipo numerico specifico. Data/Ora Utilizzare per la data e l'ora. Memorizza 8 byte. Valuta Utilizzare per i valori di valuta e per evitare gli arrotondamenti per difetto nei calcoli. Memorizza 8 byte. Contatore Utilizzare per i numeri univoci sequenziali (con incremento di una unità alla volta) o per i numeri assegnati in modo casuale inseriti automaticamente quando si aggiunge un record. Memorizza 4 byte e 16 byte solo per l'ID replica (GUID). Sì/N Sì/No Utilizzare per i dati ai quali può essere assegnato solo uno di due valori, valori ad esempio Sì/No, Sì/No Vero/Falso, On/Off. I valori Null non sono consentiti. Memorizza 1 bit. Oggetto OLE Combinazioni di testo e numeri. Memorizza fino a 255 caratteri. La proprietà Dimensione campo definisce il numero massimo di caratteri che possono essere digitati. Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 6 Definire una chiave primaria • La chiave primaria è un campo, o una combinazione di campi, che identifica in modo univoco ciascun record in una tabella. Il pulsante col simbolo della chiave col quale è possibile definire una chiave primaria Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 7 Manipolazione dei dati • Access permette di manipolare i dati in modo semplice intervenendo sulla tabella: • clicchiamo, nella colonna degli oggetti, su Tabelle • facciamo doppio click sulla tabella insegnamenti • ci posizioniamo nella riga col simbolo * sulla sinistra, per inserire un nuovo record, questo verrà salvato non appena abbandoniamo la riga • clicchiamo sul selettore di riga e poi premiamo Canc per cancellare un record • infine, selezioniamo la riga da modificare e inseriamo direttamente il nuovo testo Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 8 Relazioni tra tabelle • Per impostare una relazione tra studenti ed esami sostenuti dobbiamo creare altre due tabelle,, studenti ed esami,, e definire la relativa struttura: Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 9 Impostazione di una Relazione • Impostiamo la relazione vista: Pulsante aggiungi tabella • • • • • • • • nel menu Strumenti scegliamo Relazioni clicchiamo sul pulsante aggiungi tabella selezioniamo le tabelle interessate; trasciniamo i i la l colonna l cod_insegnamento d i della tabella esami sulla stessa colonna della tabella insegnamenti verrà aperta p una finestra p per definire i dettagli della relazione attiviamo la check box Applica integrità referenziale a seconda del tipo di relazione, relazione possiamo anche attivare l’aggiornamento e l’eliminazione a catena delle righe ripetiamo il procedimento per la relazione l i ttra esamii e studenti t d ti (b (basata t sulla ll colonna matricola). Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 10 Esercizio 1/2 • Creiamo le tabelle elencate, dimensionando i campi in modo opportuno … e impostiamo le relazioni: studenti <-> citta studenti <-> esami studenti <-> diplomi insegnamenti <-> esami corsi_facolta <-> corsi corsi_facolta <-> facolta NOTA: per impostare le relazioni, i campi coinvolti devono essere dello stesso tipo Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 11 Esercizio 2/2 • Dopo aver terminato la creazione, popolare le tabelle … e impostiamo le relazioni: studenti <-> < > prenotazioni studenti <-> iscrizioni appelli <-> insegnamenti appelli <-> docenti appelli <-> < > prenotazioni studenti <-> corsi_facolta (su due campi) Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 12 Le maschere • Una maschera è un oggetto del database utilizzato principalmente per l'inserimento, la visualizzazione e la modifica dei dati in un database. • Creiamo un maschera per gestire gli insegnamenti: ▫ Selezioniamo, nell’elenco degli oggetti, Maschere ▫ Facciamo doppio click su Crea una maschera mediante una creazione guidata Innanzitutto scegliamo in quale oggetto si trovano i dati da gestire (tabella o query) La casella di riepilogo Campi disponibili: mostrerà tutti i campi utilizzabili. Clicchiamo su un campo e poi su > per includerlo nella maschera. Clicchiamo su >> per includere nella maschera tutti i campi Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 13 Creazione di una maschera - 1 Definiamo lo schema di visualizzazione della maschera Selezioniamo lo stile da applicare alla maschera Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 14 Creazione di una maschera - 2 Se lasciamo attivata questa opzione, la maschera verrà visualizzata in modalità Visualizzazione Maschera pronta per la manipolazione dei dati. Se vogliamo subito procedere con la personalizzazione pe so a a o e de della a maschera, asc e a, attiviamo l’opzione Modificare la struttura della maschera Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 15 Le proprietà degli oggetti • Tutti gli oggetti presenti nella maschera possiedono delle proprietà: ▫ Per accedere alle p proprietà, p , facciamo doppio pp click sull’oggetto. gg ▫ Per accedere alle proprietà della maschera, facciamo doppio click sul quadratino in altro a sinistra della maschera. ▫ Le proprietà caratterizzano un oggetto, ad esempio ne definiscono il nome, le dimensioni, il colore, il comportamento ecc. Modifichiamo il testo dell’etichetta in Codice Impostiamo il colore di sfondo selezionandolo facendo click sui tre puntini Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 16 Creare una query • Per creare una query con gli strumenti visuali di Access: ▫ ▫ ▫ ▫ ▫ ▫ clicchiamo, nella colonna degli oggetti, su Query facciamo doppio click su Crea una query in visualizzazione struttura, struttura verrà mostrata una finestra per la scelta delle tabelle da cui estrarre i dati clicchiamo su studenti e poi sul pulsante Aggiungi clicchiamo su citta e poi sul pulsante Aggiungi e poi su Chiudi Access ha aggiunto le due tabelle nella finestra della query. Se la relazione è stata impostata correttamente, il join viene fatto automaticamente, altrimenti deve essere fatto manualmente tramite trascinamento del campo; trasciniamo nella griglia sottostante campi da visualizzare, da testare e utili per un ordinamento di t d dell’output ll’ t t ed d applicare li lle seguenti ti modifiche: difi h Nella riga dei criteri, inseriamo le condizioni che la colonna data_nascita deve rispettare, in questo caso il campo deve essere maggiore o uguale (>=) a 1/1/1980. Attiviamo la check box se vogliamo visualizzare il contenuto t t d dell campo quando d lla query verrà à eseguita it Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 17 La finestra delle query Pulsante per visualizzare il risultato della query Selezione del tipo di query Griglia QBE (Query By Example) p ) Pulsante per eseguire la query L’asterisco, se trascinato nella griglia QBE, include tutti i campi della tabella Nome del campo Tabella da cui proviene il campo Aggiungi tabella Join Selezione del criterio di ordinamento (cresc./decresc.) Se attivato, visualizza il campo Criterio selettivo da applicare Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 18 Tipi di query Con l’output p della q queryy viene creata una nuova tabella nel database Ha come output una matrice bidimensionale E’ quella vista finora, è quella predefintita Utilizzata per aggiornare i record delle tabelle L’output della query viene accodato ad un tabella esistente Utilizzata per eliminare i record delle tabelle Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 19 Operatori utilizzati nelle query Operatore Esempio Risultato > (maggiore) voto > 23 24,30 >= (maggiore o uguale) = (uguale) < (minore) <= (minore o uguale) <> (diverso) Like (come, *=qualsiasi gruppo di caratt.) Like (come, ?=un carattere qualsiasi) Like (come, #=una cifra numerica) Like (come, […]=gruppo specifico di car.) Like (come, !=negazione) Between (compreso fra … e …) In (compreso nell’elenco) Not In (non compreso nell’elenco) voto >= 23 voto = 23 voto < 23 voto <= 23 voto <> 23 voto Like '1*' voto Like “?3” voto Like “3#” voto Like “2[2-5]” voto Like “2[!2-3]” voto Between 25 and 30 voto In (22;23) voto Not In (22;23) 23,24,30 23 18,22,22 18,22,22,23 18,22,22,24,30 18 23 30 22,22,23,24 24 30 22,22,23 18,24,30 Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 20 Query parametriche • I criteri di selezione dei dati visti in precedenza erano di tipo statico, nel senso che, una volta creata la query, il valore da testare era definito e la sua variazione i i comportava la l modifica difi d della ll query. • Nelle query di Access possiamo creare una query parametrica, con la quale il valore da testare viene richiesto all’utente all utente di volta in volta: 1. Inseriamo nella griglia QBE il prompt, p p , racchiuso tra parentesi p quadre, che apparirà nella finestra di dialogo (il prompt può essere combinato con gli operatori già visti) 2. Clicchiamo sul pulsante Visualizza (o su Esegui) della Barra degli strumenti 3. Inseriamo il parametro richiesto Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 21 Tipi di query: di creazione tabella • • Vengono utilizzate per creare nuove tabelle con le colonne estratte da tabelle esistenti. Creiamo una tabella con tutti gli studenti residenti nella provincia di Frosinone, ordinato per comune di residenza e cognome: • Clicchiamo sul pulsante Tipo query e selezioniamo Query di creazione tabella. • Ci verrà chiesto di dare un nome alla nuova tabella. • Cliccare su Visualizza, per vedere in anteprima la lista delle righe coinvolte dalla query. query • Cliccare su Esegui, per creare realmente la nuova tabella. Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 22 Tipi di query: di aggiornamento righe • • Vengono utilizzate per aggiornare i record in una tabella. Nell’esempio seguente, gli appelli d’esame futuri vengono spostati alla settimana successiva Selezioniamo il tipo p di q query. y Comparirà p la riga g ‘Aggiorna gg a:’. Q Qui verranno messi i nuovi valori che rimpiazzeranno quelli esistenti. Infine clicchiamo su ‘Visualizza’ e poi su ‘Esegui’ g p per p procedere all’eliminazione Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 23 Tipi di query: di eliminazione righe • Vengono utilizzate per cancellare i record in una tabella. • Procediamo alla cancellazione delle prenotazioni ad esami svolti in passato Selezioniamo il tipo di query Trasciniamo l’asterisco dalla tabella dove cancellare ll lle righe, i h nella ll griglia QBE Verrà aggiunta la riga Elimina. Qui definiamo in quale tabella eliminare le righe (colonna Da) e in b base a quale l criterio it i ((colonna l D Dove). ) IInfine fi clicchiamo li hi su Visualizza Vi li e poii su Esegui E i per procedere d all’eliminazione Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 24 Stampa dei dati - 1 • • • • Il report rappresenta un metodo più efficace per stampare i dati. La possibilità di controllare le dimensioni e l'aspetto di ogni elemento di un report consente di mostrare le informazioni nel modo desiderato. desiderato Costruiamo un report per la stampa di un elenco studenti, raggruppati per provincia di residenza e, nell’ambito del gruppo, ordinati per cognome. Creiamo innanzitutto una q queryy (residenza_studenti) che estrae i campi p utili p per la stampa. Su tale query realizzeremo il report: Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 25 Stampa dei dati - 2 • Selezioniamo, nell’elenco degli oggetti, Report • Facciamo doppio click su Crea un report mediante una creazione guidata Innanzitutto scegliamo in quale oggetto si trovano i dati da stampare (tabella o query) Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 26 Stampa dei dati - 3 Scegliamo come visualizzare i dati, cioè in base alla tabella studenti Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 27 Stampa dei dati - 4 Selezioniamo il campo in base al quale ordinare le righe (nell’ambito della provincia). Nel nostro caso cognome Definiamo il layout di stampa Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 28 Stampa dei dati - 5 Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri 29 Esercizi • Creiamo i seguenti g report p basandoci,, a seconda del caso,, su una tabella o su una query: • Elenco studenti (cognome e nome) per facoltà, facoltà ordinato per cognome • Elenco studenti (cognome, nome e voto di diploma), ordinato in modo d decrescente t per voto t di di diploma l e per cognome • Elenco degli esami sostenuti (codice, descrizione, voto e data) per singolo i l studente d ((selezionato l i con una query parametrica i che h richiede i hi d lla matricola) ordinato per data esame Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri