Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere...

37
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere

Transcript of Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere...

Page 1: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Abilità Informatiche A.A. 2010/2011

Lezione 9: Query Maschere Report

Facoltà di Lingue e Letterature Straniere

Page 2: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

2

Le QUERY

Page 3: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

3

Una Query rappresenta uno strumento per “interrogare” un database.

Permette di recuperare specifiche informazioni tra i tanti datiarchiviati nel database e raccolti in tabelle correlate,effettuando ricerche incrociate sui record che rispondono adeterminate caratteristiche e filtrando così i dati cheinteressano, 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 libriscritti da un certo autore.

SQL (Structured Query Language) è il linguaggio standard percreare una Query, nonché per interrogare il database.

Che cos’è una Query?

Page 4: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

4

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 TABELLA CONDIZIONE

Query di Selezione

Page 5: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Criteri di selezione

5

Page 6: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

6

Page 7: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

7

Page 8: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

8

Page 9: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

9

Page 10: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

e

10

Page 11: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

11

Page 12: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

12

QUERY DI ORDINAMENTO: Ordina i dati della ricerca secondo l’ordine da noistabilito, 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

Query di Ordinamento

Page 13: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

13

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_ tabellaVALUES 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”

Query di Accodamento

Page 14: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

14

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.

Query di Eliminazione

Page 15: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Query di eliminazione

Per esempio: eliminare

gli impiegati con

stipendio minore di

12.000

15

Page 16: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

16

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.

Query di Aggiornamento

Page 17: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Query di aggiornamento

Per esempio: aggiornare

tutti i stipendi inferiori a

12.000 a 11.500

Query:

Risultato nella tabella Impiegati:

Tabella Impiegati:

17

Page 18: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

18

QUERY DI JOIN (UNIONE): chiama in gioco due tabelle correlate tra loro epermette quindi di estrarre specifici dati appartenenti ad entrambe le tabelle.Viene così detta perché unisce i dati di due tabelle, che devono però avere uncampo 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 data13-03-2001.

SELECT nome, indirizzo FROM conto corrente, movimento WHERE data = 13-03-2001 ANDconto corrente.numero conto corrente = movimento.numero conto corrente.

Query di Unione

Page 19: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

19

In questo esempio, la query viene così costruita perché chiama incausa due tabelle:

- la tabella “Conto Corrente” dove vi sono le informazioni relativeai “nomi” e agli “indirizzi” dei correntisti;

- la tabella “Movimento” dove sono riportate le “date” deimovimenti.

Le due tabelle sono correlate tra loro attraverso il campo chiave“numero conto corrente”, che permette quindi di estrapolareinformazioni sui correntisti e sui movimenti da loro effettuati.

Query di Unione

Page 20: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

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

Page 21: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Campi calcolati

La visualizzazione

foglio dati della query:

21

Page 22: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Campi calcolati

Un altro esempio di campo calcolato:

Campo in cui i valori sono Voto-1:

scrivere VotoDim: Voto-1 nella riga Campo

Viene visualizzato così:

22

Page 23: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Campi calcolati

Risultato:

23

Page 24: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Campi calcolati

Altri operatori matematici sono ammissibili:

Per esempio:

Espr: [Valore]*1,05

Bonus: [Stipendio]*1.000

24

Page 25: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Query di riepilogo

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

25

Page 26: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

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: Risultato:

26

Page 27: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

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: Risultato:

27

Page 28: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Query di riepilogo

Query: Risultato:

Aggiungere un criterio (come group by … having …

in SQL)

Per esempio: ottenere il minimo dei voti degli

studenti che hanno superato l’esame

28

Page 29: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

29

Le MASCHERE

Page 30: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

30

Che cos’è una MascheraLa 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.

Page 31: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Maschera

31

Page 32: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

Maschera e Tabella

32

Page 33: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

33

Creazione di una Maschera

La creazione di una maschera avviene secondo procedimenti sequenziali, epartendo dalla prima operazione occorre impostare:

i CAMPI, e quindi i dati, delle tabelle o delle query relative, che si voglionoinserire 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.

Page 34: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

34

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.

Page 35: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

35

I REPORT

Page 36: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

36

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.

Page 37: Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere …profs.sci.univr.it/~macedonio/web/Teaching/InformaticaVE... · 2014. 9. 29. · Lezione 9: Query Maschere Report

37

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 BASEVISUALIZZARE 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.