Corso di Microsoft Access

Ancora sulle query su piu' tabelle

 

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