Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos’è una Query? Una Query rappresenta uno strumento per “interrogare” un database. Permette di recuperare specifiche informazioni tra i tanti dati archiviati nel database e raccolti in tabelle correlate, effettuando ricerche incrociate sui record che rispondono a determinate caratteristiche e filtrando così i dati che interessano, provenienti anche da tabelle diverse. Esempio: in un database che gestisce i libri di una biblioteca, tramite una Query posso chiedere di individuare tutti i libri scritti da un certo autore. SQL (Structured Query Language) è il linguaggio standard per creare una Query, nonché per interrogare il database. 3 Query di Selezione La Query di Selezione permette di selezionare ed estrapolare all’interno del database i dati contenuti in determinati campi di una tabella che rispondono a determinate condizioni di ricerca. La sintassi per la formulazione della domanda è: SELECT nomi_campi FROM nome_tabella WHERE condizioni ricerca. Esempio: vogliamo conoscere il saldo residuo relativo ad un determinato numero di conto corrente SELECT saldo FROM conto corrente WHERE numero conto corrente = 125 CAMPO 4 TABELLA CONDIZIONE Criteri di selezione 5 6 7 8 9 e 10 11 Query di Ordinamento QUERY DI ORDINAMENTO: Ordina i dati della ricerca secondo l’ordine da noi stabilito, ovvero secondo i dati di un campo che scegliamo. Sintassi: SELECT nomi_campi FROM nome_tabella ORDER BY campo. Esempio: vogliamo estrarre tutti i dati contenuti nella tabella “libri” in modo che i libri siano ordinati a seconda dell’anno di pubblicazione. SELECT * FROM libri ORDER BY anno di pubblicazione COMANDO PER SELEZIONARE TUTTI I CAMPI 12 Query di Accodamento QUERY DI ACCODAMENTO: permette di aggiungere nuovi dati in una tabella passandoli come stringhe di valori, anziché aggiungerli direttamente nelle tabelle stesse. Sintassi: INSERT INTO nome_ tabella VALUES dati da aggiungere. Esempio: vogliamo inserire un nuovo libro nella tabella “Libri” INSERT INTO libri VALUES (i miei giorni, 1980). DATI CHE ANDRANNO NEI CAMPI “Titolo” e “Anno di pubblicazione” 13 Query di Eliminazione QUERY DI ELIMINAZIONE: permette di eliminare da una tabella i record selezionati mediante le istruzioni della query. Sintassi: DELETE FROM nome_tabella WHERE nome _campo = condizione. Esempio: vogliamo eliminare dalla tabella “libri” il libro “I miei giorni” DELETE FROM libri WHERE titolo = I miei giorni. 14 Query di eliminazione Per esempio: eliminare gli impiegati con stipendio minore di 12.000 15 Query di Aggiornamento QUERY DI AGGIORNAMENTO: permette di aggiornare il valore dei campi di una tabella in base alle istruzioni della query. Sintassi: UPDATE nome_tabella SET nome_campo da aggiornare = aggiornamento WHERE nome_campo = condizione. Esempio: vogliamo aumentare del 10% il saldo del conto del signor Bianchi. UPDATE conto corrente SET saldo = saldo * 1,1 WHERE cognome = Bianchi. 16 Query di aggiornamento Per esempio: aggiornare tutti i stipendi inferiori a 12.000 a 11.500 Tabella Impiegati: Query: Risultato nella tabella Impiegati: 17 Query di Unione QUERY DI JOIN (UNIONE): chiama in gioco due tabelle correlate tra loro e permette quindi di estrarre specifici dati appartenenti ad entrambe le tabelle. Viene così detta perché unisce i dati di due tabelle, che devono però avere un campo con valori in comune. Sintassi: SELECT nomi_campi FROM nomi_tabelle WHERE nome_campo condizione AND nome_tabella.nome_campo chiave in comune nome_tabella.nome_campo chiave in comune. = = Esempio: vogliamo sapere nome e indirizzo dei correntisti che hanno un movimento in data 13-03-2001. SELECT nome, indirizzo FROM conto corrente, movimento WHERE data = 13-03-2001 AND conto corrente.numero conto corrente = movimento.numero conto corrente. 18 Query di Unione In questo esempio, la query viene così costruita perché chiama in causa due tabelle: - la tabella “Conto Corrente” dove vi sono le informazioni relative ai “nomi” e agli “indirizzi” dei correntisti; - la tabella “Movimento” dove sono riportate le “date” dei movimenti. Le due tabelle sono correlate tra loro attraverso il campo chiave “numero conto corrente”, che permette quindi di estrapolare informazioni sui correntisti e sui movimenti da loro effettuati. 19 Campi calcolati Campo calcolato: un campo “virtuale” nel risultato di un query Il valore è un funzione di un o più campi nella tabella del query Per esempio: combinare Nome e Cognome in un campo 20 Campi calcolati La visualizzazione foglio dati della query: 21 Campi calcolati Un altro esempio di campo calcolato: 22 Campo in cui i valori sono Voto-1: scrivere VotoDim: Voto-1 nella riga Campo Viene visualizzato così: Campi calcolati Risultato: 23 Campi calcolati Altri operatori matematici sono ammissibili: Per esempio: 24 Espr: [Valore]*1,05 Bonus: [Stipendio]*1.000 Query di riepilogo 25 Se si utilizzano tabelle che contengono campi di tipo numerico, è possibile creare query che riepilogano tutti i dati contenuti in un campo Una query di riepilogo può calcolare la somma, la media , il valore minimo o massimo, il numero, la deviazione standard, la varianza di un campo Query di riepilogo Per esempio: ottenere la media dei voti degli studenti che hanno superato l’esame, e la media dei voto degli studenti che non hanno superato l’esame Query: 26 Risultato: Query di riepilogo Per esempio: ottenere il numero degli studenti che hanno superato l’esame, e il numero degli studenti che non hanno superato l’esame Query: 27 Risultato: Query di riepilogo Aggiungere un criterio (come group by … having … in SQL) Per esempio: ottenere il minimo dei voti degli studenti che hanno superato l’esame Query: 28 Risultato: Le MASCHERE 29 Che cos’è una Maschera La Maschera è un’INTERFACCIA GRAFICA che semplifica le operazioni di visualizzazione, inserimento e modifica dei dati di un database. Una maschera può visualizzare solo determinate informazioni che interessano l’utente, a differenza delle tabelle che presentano l’elenco completo di tutti i record relativi ad uno stesso argomento. La peculiarità consiste nel fatto che i campi di una maschera possono essere prelevati da più tabelle diverse, e quindi ogni record di una maschera può essere rappresentato da informazioni provenienti da tabelle differenti. Esempio: attraverso una maschera è possibile visualizzare in un unico record le informazioni relative ai libri di una biblioteca e le informazioni relative agli autori di tali libri. 30 Maschera 31 Maschera e Tabella 32 Creazione di una Maschera La creazione di una maschera avviene secondo procedimenti sequenziali, e partendo dalla prima operazione occorre impostare: i CAMPI, e quindi i dati, delle tabelle o delle query relative, che si vogliono inserire nella maschera; il LAYOUT da applicare alla maschera; lo STILE da attribuire alla maschera; il TITOLO da assegnare alla maschera; La MODALITA’ DI APERTURA della maschera. Ogni informazione all’interno di una maschera è contenuta in un controllo. 33 Riempimento di una Maschera Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un’etichetta ed è previsto uno spazio utilizzabile per l’inserimento delle informazioni. Una maschera può essere riempita inserendo nuovi record che si vanno ad aggiungere a quelli già presenti nella maschera stessa. N.B. i dati introdotti in una maschera vengono automaticamente introdotti nella tabella o nelle tabelle che supportano la maschera stessa. 34 I REPORT 35 Che cos’è un Report - Un Report è uno strumento che permette di organizzare e riepilogare le informazioni contenute in un database. - In italiano il termine corrisponde a RAPPORTO, quindi un report è una sorta di relazione sulle informazioni contenute nel database, un modo per “renderle pubbliche”. - Un Report consente di rappresentare i dati con un accurato profilo estetico grazie alla possibilità di controllare le dimensioni e l’aspetto di tutti gli elementi del report (intestazioni, piè di pagina, corpo e titoli). - In genere i Report sono destinati alla stampa. 36 Creazione di un Report La creazione di un report prevede diverse fasi. Partendo dalla prima, occorre scegliere: le TABELLE o le QUERY dalle quali estrarre i dati, e quindi i CAMPI che vogliamo siano compresi nel Report; su QUALE BASE VISUALIZZARE I DATI; se uno o più campi tra quelli inseriti devono essere usati come CRITERIO DI RAGGRUPPAMENTO; se i record devono essere ORDINATI in base ad un determinato campo; il LAYOUT e l’ORIENTAMENTO da attribuire al Report; lo STILE del Report; il TITOLO per il nostro Report. 37