In questa lezione continueremo a parlare di query su più tabelle, analizzando
casi un po’ più complessi rispetto a quelli della lezione
precedente. Più che parlare di casi astratti faremo solo degli
esempi che permettano di capire le potenzialità e ciò che è possibile
fare con le query, in modo che ognuno possa costruirne di proprie
secondo le necessità.
Anche in questo caso prendiamo il nostro database Northwind ed
in creazione query in visualizzazione struttura, inseriamo le
tabelle Clienti, Ordini, Dettaglio Ordini, Prodotti. Come si vede
le quattro tabelle sono collegate l’una a l’altra
da un qualche tipo di relazione.
Da queste quattro tabelle possiamo estrarre un gran numero di
informazioni. Per esempio scegliendo di visualizzare i campi NomeSocietà,
DataOrdine e NomeProdotto, otterremo come output l’elenco
totale delle vendite effettuate ove per ogni cliente verrà individuato
in quale data è stato fatto l’ordine e quali prodotti sono
stati venduti.
La prima cosa che si nota è che sono state selezionate quattro
tabelle, ma vengono estratti dati solo da tre di esse; non viene
estratto nessun dato dalla tabella dettaglio ordini. Nonostante
ciò la tabella Dettaglio Ordini è essenziale per costruire questa
query, dal momento che fa da raccordo fra la tabella Ordini e
la tabella Prodotti non legate da relazione diretta. Se non fosse
stata inclusa nella query questa tabella, i risultati sarebbero
stati completamente diversi (provare per credere). I campi NomeSocietà
e DataOrdine, sarebbero stati correlati (e cioè per ogni società
sarebbe stata riportata la data dell’ordine), ma la colonna
prodotti avrebbe semplicemente riportato l’elenco dei prodotti
senza nessuna correlazione né con il cliente né con la data dell’ordine.
Pertanto, quando si estraggono dati complessi, è indispensabile
includere nella query tutte le tabelle che assicurano il collegamento
tra i dati che si vogliono estrarre. Ho sottolineato i
dati che si vogliono estrarre perché questo non vuol dire che
si devono includere tutte le tabelle che hanno delle relazioni
ma che nella query non servono.
Immettendo qualche tipo di criterio possiamo effettuare delle
ricerche particolari. Per esempio inserendo il nome di una società
cliente (riportando il nome della società tra virgolette nella
riga criteri della colonna NomeSocietà) verranno visualizzate
tutte le vendite fatte a questa società ed il nome dei prodotti
venduti.
Inserendo anche una data (nella riga criteri della colonna DataOrdine)
è possibile visualizzare i dati di un singolo ordine (il cliente,
la data dell’ordine ed i prodotti venduti).
Se aggiungiamo anche i campi PrezzoUnitario, Quantità e Sconto
della tabella Dettaglio Ordini otteniamo tutti i dati necessari
per poter stampare una fattura (nelle prossime lezioni vedremo
come fare a calcolare, con questi dati, anche il totale da pagare).
Sostituendo il campo Città al campo NomeSocietà è possibile avere
una ripartizione territoriale delle vendite e cioè si può vedere
quali prodotti sono stati acquistati in ogni città ed in quali
date. Ovviamente inserendo nei criteri il nome della città è possibile
vedere quali prodotti vengono acquistati in una certa area territoriale.
E’ evidente a questo punto che con le query è possibile
estrarre tutti i dati che vengono immagazzinati nel database e
riclassificarli e riorganizzarli a nostro piacimento con estrema
facilità.
Torna all'indice Generale del corso di Corso di Microsoft Access di Software Planet