Manipolazione dei dati Access permette di manipolare i dati in modo semplice intervenendo direttamente 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 modifi- care e inseriamo direttamente il nuovo testo Pulsanti di spostamento tra i record di una tabella. Nell’ordine: Primo recod |<, record precedente (rispetto a quello corrrente) <, posizione del record corrente 3, record successivo >, ultimo record >|, nuovo record >* e numero totale dei record 4. CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003
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’, 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 (la linea che collega il codice città delle due tabelle) viene fatto automaticamente, altrimenti deve essere fatto manualmente tramite trscinamento del campo; trasciniamo nella griglia sottostante (detta griglia QBE) i campi da visualizzare, da testare e utili per un ordinamento dell’output ed applicare le seguenti modifiche: Disattiviamo la check box se su un campo si deve fare solo un ordinamento o un test. Come vediamo, sulla colonna ‘Cognome’ viene impostato un ordinamento crescente 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. L’operatore, se non specificato, è ‘=’. Attiviamo la check box se vogliamo visualizzare il contenuto del campo quando la query verrà eseguita CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003
La finestra delle query Mostra la riga ‘Totali’ (per conteggi, sommatorie …) Griglia QBE (Query By Example) Pulsante per visualizzare il risultato della query Selezione del tipo di query Pulsante per eseguire la query L’asterisco, se trascinato nella griglia QBE, include tutti i campi della tabella Nome del campo Aggiungi tabella Tabella da cui proviene il campo Join Selezione del criterio di ordinamento (cresc./decresc.) Se attivato, visualizza il campo Criterio selettivo alternativo da applicare. Perché una riga venga visualizzata, deve rispettare tutte le condizioni sulla riga ‘Criteri:’ o sulla riga ‘Oppure:’ Criterio selettivo da applicare CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003
Tipi di query Ha come output una matrice bidimensionale E’ quella vista finora, è quella predefintita Con l’output della query viene creata una nuova tabella nel database Utilizzata per aggiornare i record delle tabelle L’output della query viene accodato ad un tabella esistente Utilizzata per eliminare i record delle tabelle La riga ‘Formula:’ (attivata cliccando su simbolo della sommatoria) è utile per creare query che effettuano operazioni su gruppi di dati (media, minimo,massimo, conteggio, come in questo caso, ecc.) CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003
Operatori utilizzati nelle query (nella riga ‘Criteri:’) Applichiamo gli operatori elencati alla colonna ‘voto’, in una tabella ‘esami’ con sei righe, i cui valori sono 18, 22, 22, 23, 24 , 30: Operatore Esempio Risultato > (maggiore) voto > 23 24,30 >= (maggiore o uguale) voto >= 23 23,24,30 = (uguale) voto = 23 23 < (minore) voto < 23 18,22,22 <= (minore o uguale) voto <= 23 18,22,22,23 <> (diverso) voto <> 23 18,22,22,24,30 Like (come, *=qualsiasi gruppo di caratt.) voto Like '1*' 18 Like (come, ?=un carattere qualsiasi) voto Like “?3” Like (come, #=una cifra numerica) voto Like “3#” 30 Like (come, […]=gruppo specifico di car.) voto Like “2[2-5]” 22,22,23,24 Like (come, !=negazione) voto Like “2[!2-3]” 24 Between (compreso fra … e …) voto Between 25 and 30 In (compreso nell’elenco) voto In (22;23) 22,22,23 Not In (non compreso nell’elenco) voto Not In (22;23) 18,24,30 Gli operatori elencati si possono applicare anche alle date e al testo. Esempi: data_nascita >= #1/1/1980# (nati dal 1980 in poi). Nota: #1/1/1980# < #2/1/1980# cognome like “R*” (cognomi che iniziano per R). Nota: “A” < “B” CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003
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 (ad es. la data_nascita >= #1/1/1980# o il voto_diploma > 80) e la sua variazione comportava la modifica della query. Nelle query di Access possiamo creare una query parametrica, con la quale il valore da testare viene richiesto all’utente di volta in volta: 1 – Inseriamo nella griglia QBE il prompt, racchiuso tra parentesi 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 CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003
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. A questo punto possiamo: cliccare su ‘Visualizza’, per vedere in anteprima la lista delle righe coinvolte dalla query; cliccare su ‘Esegui’, per creare realmente la nuova tabella. QUESTO TIPO DI QUERY È MOLTO UTILE QUANDO SI DEVONO ESPORTARE I DATI, AD ESEMPIO IN UN FOGLIO EXCEL O IN UN ALTRO DATABASE ACCESS CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003
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: Trasciniamo l’asterisco dalla tabella dove cancellare le righe, nella griglia QBE Selezioniamo il tipo di query Verrà aggiunta la riga ‘Elimina:’. Qui definiamo in quale tabella eliminare le righe (colonna Da) e in base a quale criterio (colonna Dove). Infine clicchiamo su ‘Visualizza’ e poi su ‘Esegui’ per procedere all’eliminazione CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003
Tipi di query: di accodamento righe Supponiamo di aver definito la tabella ‘matricole’ con la struttura di seguito illustrata e di volervi inserire, alla fine di ogni periodo di iscrizione, tutte le nuove matricole: L’operazione da fare è quella di individuare le righe dalle tabelle ‘studenti’ e ‘iscrizioni’ e riversarle in ‘matricole’. Lo strumento che Access dispone per questo tipo di operazioni è la query di accodamento. Selezioniamo il tipo di query. Ci verrà chiesto di specificare il nome della tabella di destinazione Access aggiungerà la riga ‘Accoda a:’ ed elencherà i campi della tabella di destinazione il cui nome coincide con quello selezionato dalle tabelle visualizzate. Gli altri campi possiamo definirli manualmente. Infine clicchiamo su ‘Visualizza’ e poi su ‘Esegui’ per procedere all’eliminazione CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003
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 di query. Comparirà la riga ‘Aggiorna a:’. Qui verranno messi i nuovi valori che rimpiazzeranno quelli esistenti. Infine clicchiamo su ‘Visualizza’ e poi su ‘Esegui’ per procedere all’eliminazione CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003
Tipi di query: a campi incrociati Le query a campi incrociati consentono di calcolare e riorganizzare i dati per semplificarne l'analisi. Le query a campi incrociati vengono utilizzate per eseguire funzioni di raggruppamento (somme, conteggi ecc.) in base a due tipi di informazioni, disposti su righe e colonne. Nell’esempio che segue vengono conteggiati il numero di esami sostenuti per insegnamento in base al voto: Creiamo innanzitutto una semplice query (esami_descr) per la decodifica del nome dell’insegnamento. Poi, dal menu ‘Inserisci’ -> ‘Query’, scegliamo ‘Creazione guidata query a campi incrociati’. Risultato della query a campi incrociati Ci verrà chiesto: Su quale tabella o query basare il calcolo, sceglieremo esami_descr; quali campi adottare come intestazione di riga e di colonna; quale calcolo eseguire (in questo caso un conteggio) CORSI DI INFORMATIZZAZIONE - Basi di Dati: MS Access - Parte 2 - Maggio 2003