Query
|
La
funzionalità di un Database sta nella sua capacità di visualizzare i dati
desiderati organizzati secondo un certo ordine. Una query è uno strumento
che consente di porre domande sui dati memorizzati. Le più frequenti sono
quelle di selezione che consentono di visualizzare i dati delle tabelle,
analizzarli ed eventualmente modificarli. I dati richiesti vengono
visualizzati in un Dynaset che mostra un insieme dinamico di dati
provenienti da una o più tabelle.
E' possibile
immettere e modificare i dati nei campi del dynaset così come in una tabella
: le modifiche avranno effetto sulle tabelle di origine dello stesso
Database .
Con le query è
possibile :
-
Scegliere determinati
campi di una tabella
-
Scegliere i record
(ad esempio le persone nate in un certo anno)
-
Ordinare i record (ad
esempio in ordine alfabetico crescente o decrescente)
-
Eseguire calcoli
(campi calcolati) per creare ad esempio un campo che moltiplichi il prezzo
per la quantità e memorizzi poi il risultato.
|
Creazione di una Query |
E'
possibile creare una query tramite l'autocomposizione oppure manualmente,
scegliendo la Visualizzazione struttura.
|

|
Autocomposizione
Esistono
4 modi diversi di creare delle query con l'autocomposizione:
Autocomposizione
query semplice:
Crea una query di
selezione sulla base dei campi selezionati. È il tipo più comune di query.
Per crearla si deve:
-
Aprire il database e
cliccare sulla scheda Query
-
Cliccare sul pulsante
Nuovo
-
Cliccare su
Autocomposizione query sempolice e poi su o.k
-
Nella finestra che si
apre, selezionare la tabella dalla quale si vogliono prelevare i dati
dalle casella Tabella/query
-
Cliccare su un nome
di campo nella casella Campi disponibili e sul pulsante > per inserirlo
(oppure su >> per inserirli tutti)
-
Scegliere, se
necessario, un'altra tabella e aggiungere ulteriori campi
-
Dare un nome alla
query e cliccare sul pulsante Fine.
Autocomposizione
query a campi incrociati:
Crea una query a
campi incrociati per visualizzare dati in un formato compatto simile ad un
foglio di calcolo
Autocomposizione
ricerca duplicati:
Crea una query per
trovare record con valori di campo duplicati in una singola tabella o query
Autocomposizione
ricerca dati non corrispondenti:
Crea una query per
trovare in una tabella i record che non hanno record correlati in un'altra
tabella. |
Visualizzazione struttura
Nella
finestra mostra tabella che si apre, si deve selezionare la tabella o la
query (o entrambe) che interessa nella rispettiva scheda cliccando poi sul
pulsante Aggiungi (per selezionare più voci in ordine sparso, cliccare
tenendo premuto Ctrl, per selezionare tutte le voci cliccare sulla prima e
poi sull'ultima tenendo premuto Maiusc oppure cliccare sulla prima e
trascinare) e infine su Chiudi.
|

|
Nella finestra Query
di selezione verrà visualizzato un elenco di campi: si può cliccare sul nome
di un campo e trascinarlo nella riga sottostante chiamata Campo ; ciascuna
colonna contiene delle informazioni relative al campo incluso nella query .
Per aggiungere più campi basta selezionare quelli desiderati tenendo premuto
Ctrl e trascinarli poi tutti assieme nella griglia QBE (query tramite
esempio : query by example). ; per aggiungere tutti i campi assieme si deve
selezionare l'asterisco posto in cima all'elenco dei campi e trascinarlo
nella griglia. Se sono state scelte più tabelle, si potrebbero vedere delle
linee che le uniscono (join) e mostrano il modo in cui un record di una
tabella è correlato al record di un'altra. |
Tipi
di visualizzazione di una Query |
La
finestra query dispone di tre tipi di visualizzazione:
-
Struttura : per
creare una query o modificarne una esistente. In tal caso sono disponibili
gli strumenti grafici per creare la query
-
Foglio dati : per
esaminare i dati estratti dalla query
-
Anteprima di stampa:
per vedere l'aspetto che avranno i dati una volta stampati.
|
Operazioni e modifica di Query |
Ridisposizione, inserimento ed eliminazione di campi

Per
spostare un campo si deve :
-
Selezionarlo
cliccando sul selettore di campo
-
Cliccare di nuovo sul
selettore e trascinare la colonna in una nuova posizione.
Per eliminare un
campo, dopo averlo selezionato basta premere il tasto Canc. E' possibile
eliminare tutti i campi nella griglia QBE scegliendo il comando Cancella
griglia del menu Modifica. Per modificare o adattare la larghezza di una
colonna al testo si procede come nelle tabelle. |
Visualizzazione di un Dynaset
Dopo
aver progettato la query è possibile visualizzare il dynaset corrispondente
utilizzando il pulsante Visualizza che mostra il foglio dati. Per tornare
all'altra visualizzazione basta cliccare sull' icona Visualizza che mostra
la struttura (è possibile apportare delle modifiche e tornare poi all'altra
visualizzazione)
|
Rinominare un campo in una query
Per
rinominare un campo si deve:
-
Aprire la query in
visualizzazione struttura
-
Cliccare a sinistra
della prima lettera del nome di campo nella griglia QBE
-
Immettere il nuovo
nome seguito da due punti (:)
|
Impostazione del tipo di ordinamento
Quando
viene eseguita una query e visualizzato il dynaset corrispondente è più
semplice l'interpretazione dei dati se gli stessi sono ordinati. La
creazione di una query che ordini i dati risulta utile se si desidera
visualizzare i dati ordinati in una maschera o in un report. Per specificare
il tipo di ordinamento si deve:
-
Cliccare sulla cella
Ordinamento nel QBE (visualizzazione struttura ) relativa al campo da
ordinare, quindi cliccare sulla freccia di selezione
-
Scegliere "Crescente"
o "Decrescente".
E' possibile
specificare un tipo di ordinamento per più campi. |
Impostazione di criteri |
L'impostazione
di criteri permette di limitare il dynaset corrispondente a determinati
record. I criteri vengono specificati utilizzando un'espressione che indica
i record da includere e può essere di tipo semplice (ad esempio tutti i
record corrispondenti alle filiali italiane si ritroveranno scrivendo
"Italia") o più complessa (per trovare tutti i record corrispondenti ai
rappresentanti di età compresa tra 20 e 30 anni scriveremo: Between 20 and
30). Un'espressione può essere digitata direttamente nella griglia QBE nella
cella "Criteri" seguendo una precisa sintassi (per le filiali dell'esempio
precedente si può scrivere: Italia, =Italia, "Italia", ="Italia") oppure si
può ricorrere al generatore espressioni. In questo caso si deve:
-
Selezionare la cella
criteri nella griglia QBE
-
Cliccare col tasto
destro e scegliere il comando Genera..
-
Nella finestra che si
apre, detta Generatore espressioni, scriveremo quanto voluto ricorrendo
quando possibile alle funzioni già presenti.
|
Per eliminare una tabella da una query, si deve selezionare quella
desiderata in visualizzazione struttura (cliccare sull'asterisco) e premere
il tasto Canc. |
Utilizzo dei caratteri jolly
Durante
la progettazione di una query é possibile che si desideri selezionare dei
campi contenenti una stringa di caratteri (ad esempio tutti i nomi che
iniziano per B...). I caratteri jolly fondamentali sono:
?
che sta per un singolo carattere posto in quella posizione
* che sta per un numero qualsiasi di caratteri posti in quella
posizione
Ad esempio:
Pa? la
Visualizza Paola, Paula...
*imo Visualizza ventesimo, trentesimo... |
Selezione di record che
non corrispondono ad un determinato valore
Per
far ciò si deve utilizzare l'operatore Not. Così se vogliamo ricercare tutti
i nomi che non iniziano per S, scriveremo Not S*.
|
Impostazione di più
criteri
In
una query è possibile impostare diversi criteri per un campo utilizzando gli
operatori And e Or (ad esempio per selezionare tutti i cognomi che iniziano
per B e contengono la lettera S, scriveremo Like "B*" And Like "*s*".
Utilizzando Or faremo si che un campo soddisfi un criterio oppure un altro (Like
"Bal*" And Like "sal*" visualizzerà tutti i record che iniziano per Bal.. o
per Sal..).
|
Selezione di record contenenti dei valori
E'
possibile selezionare dei record a seconda che contengano o meno dei valori
( ad esempio solo le ditte che possiedono un numero di fax). Per far ciò si
deve inserire nei criteri, sotto il campo scelto (nell'esempio fax) la
scritta IS NOT NULL (o NOT NULL cioè che non sia nullo)
|
Creazione di campi calcolati

E'
possibile creare nel QBE dei campi calcolati che eseguano appunto dei
calcoli. Se ad esempio abbiamo già il campo Prezzo unitario e quello
Quantità, possiamo creare un nuovo campo per calcolare il Prezzo totale. La
sintassi in questo caso sarà:
Prezzo
totale:[Prezzo unitario]*[Quantità] (i nomi dei campi devono essere
racchiusi in parentesi quadra).
Oppure per calcolare
lo sconto di vari oggetti possiamo inserire la formula Totale: =[Prezzo]
-[Prezzo]*[Sconto]/100 |

|
Calcolo di formule nelle query
E'
possibile porre delle domande relative a gruppi di dati e ciò si può fare
con le query con formule. Per far ciò si deve:
-
Creare una query e
trascinare i dati che si desidera nel QBE
-
Scegliere il comando
Totali del menu Visualizza
Nella griglia QBE
verrà visualizzata la riga "Formula" con il valore prefissato
"Raggruppamento".
Nella cella formula, sotto ciascun campo, selezionare il tipo di formula (ad
esempio Conteggio, per calcolare il numero di record, Somma, Media, Max e
Min...con il significato noto). |
Tipi
di Query |
Query
di comando
Una
query di comando apporta modifiche a molti record con una sola operazione.
Esistono quattro tipi di query di comando: di Eliminazione, di
Aggiornamento, di Accodamento e di Creazione tabella.
|
Query
di eliminazione
Questo
tipo di query elimina un gruppo di record da una o più tabelle. È possibile,
ad esempio, utilizzare una query di eliminazione per rimuovere i prodotti di
cui è stata interrotta la produzione o per i quali non esistono ordini. Con
le query di eliminazione vengono eliminati sempre record interi, non solo
determinati campi al loro interno.
|
Query
di aggiornamento
Questo
tipo di query apporta modifiche globali a un gruppo di record in una o più
tabelle. È possibile, ad esempio, aumentare i prezzi del 10 per cento per
tutti i prodotti caseari o aumentare gli stipendi del 5 per cento per le
persone appartenenti a una determinata categoria lavorativa.
|
Query
di accodamento
Questo
tipo di query aggiunge un gruppo di record di una o più tabelle alla fine di
una o più tabelle. Si supponga, ad esempio, che vengano acquisiti nuovi
clienti e un database contenente una tabella di informazioni su di essi.
Invece di digitare nuovamente tutte queste informazioni, si accodano alla
propria tabella Clienti.
|
Query
di Creazione tabella
Questo
tipo di query crea una nuova tabella in base a tutti i dati o parte di essi
contenuti in una o più tabelle.
|
Query
con parametri
Una
query con parametri è una query per la quale durante l'esecuzione viene
visualizzata una finestra di dialogo che richiede delle informazioni, come
l'immissione di criteri per recuperare dei record o un valore che si
desidera inserire in un campo.
|
Query
trova duplicati
Trova
i record ripetuti in una tabella.
|