V. Moriggia Modelli di Base Dati Modelli di Base Dati 9 Uso avanzato del QBE a.a. 2001/2002 9.1 V. Moriggia Modelli di Base Dati 9.2 QBE: QBE: altri altri tipi tipi di di query query ? Creare a.a. 2001/2002 una query query:: ? fare clic su Query nell'elenco degli oggetti di Access, poi clic su Crea una query in visualizzazione struttura. ? scegliere poi le tabelle da usare e il tipo di query 9.2 V. Moriggia Modelli di Base Dati 9.3 Query Query di di creazione creazione ? per creare una tabella inserendo alcuni record provenienti dalla tabella scelta ? a.a. 2001/2002 Dare il nome della tabella creata e dell’eventuale database in cui inserirla 9.3 V. Moriggia Modelli di Base Dati 9.4 Query Query di di creazione: creazione: le le righe righe ee ii criteri criteri ? Salvare ed eseguire la query ? Visualizzare finestra database (F11 o ) a.a. 2001/2002 9.4 V. Moriggia Modelli di Base Dati 9.5 Query Query di di eliminazione eliminazione ? per eliminare alcuni record da una tabella scelta ? a.a. 2001/2002 Nella riga Elimina selezionare Da o Dove 9.5 V. Moriggia Modelli di Base Dati 9.6 Query Query di di eliminazione eliminazione da da due due tabelle tabelle collegate collegate a.a. 2001/2002 ? Relazione uno uno--uno come per una tabella ? Relazione uno uno--molti 9.6 V. Moriggia Modelli di Base Dati 9.7 Query Query di di accodamento accodamento ? per aggiungere ad una tabella alcuni record estratti da una tabella scelta ? a.a. 2001/2002 Dare il nome della tabella a cui accodare i record della tabella selezionata 9.7 V. Moriggia Modelli di Base Dati 9.8 Query Query di di aggiornamento aggiornamento ? per modificare alcuni valori di una tabella scelta Scegliere il campo o i campi in cui modificare i valori ? Inserire l’aggiornamento ? Inserire gli eventuali criteri ? a.a. 2001/2002 9.8 V. Moriggia Modelli di Base Dati 9.9 Query Query aa campi campi incrociati incrociati ? per creare una tabella a due entrate da una tabella scelta Inserire i campi ? Scegliere la funzione di aggregazione ? Scegliere fra Riga, Colonna, Valore ? a.a. 2001/2002 9.9 V. Moriggia Modelli di Base Dati 9.10 Esercizi Esercizi Con riferimento al database composto dalle tabelle: Anag:: Codice, cognome, nome, indirizzo, provincia Anag Movim:: ID, codice, causale, data, importo, Movim creare le seguenti query per ? aggiungere le righe della tabella Anag1 (stessa struttura di Anag Anag)) per cui provincia è prefissata (query parametrica). ? eliminare i movimenti per cui l’importo è negativo ? creare una nuova tabella in cui ci siano i movimenti di un cliente prefissato ? convertire gli importi dei movimenti in Euro. a.a. 2001/2002 9.10 V. Moriggia Modelli di Base Dati 9.11 QBE: QBE: query query più più complesse complesse ? a.a. 2001/2002 Database Auto con le tabelle: 9.11 V. Moriggia Modelli di Base Dati 9.12 Esempio 1( Between … And …) ? modello a.a. 2001/2002 e classe relativa 9.12 V. Moriggia Modelli di Base Dati 9.13 Esempio 2 ( Like) a.a. 2001/2002 ? Modello il cui nome inizia con le lettere da 1 a 9 ? Modello e casa il nome della cui casa costruttrice finisce per “t” o inizia per “f” 9.13 V. Moriggia Modelli di Base Dati 9.14 Esempio 3 (Group by, Having) ? a.a. 2001/2002 Città e numero della casa produttrice per cui il numero di modelli è maggiore di 1 9.14 V. Moriggia Modelli di Base Dati 9.15 Esempio 4 (Group by) ? a.a. 2001/2002 Media di prezzo e uso per tipologia di uso di modello 9.15 V. Moriggia Modelli di Base Dati 9.16 Esempio 5 ( Group by, Having) ? a.a. 2001/2002 Numero di modelli per tipologia di uso con giorni alla consegna minori di 100 . 9.16 V. Moriggia Modelli di Base Dati 9.17 Esempio Esempio 6: 6: query query nidificata nidificata ? a.a. 2001/2002 Nome e prezzo dei modelli con prezzo maggiore della media 9.17 V. Moriggia Modelli di Base Dati 9.18 Esercizi Esercizi Realizzare in QBE le seguenti query gi giàà scritte in SQL Raggruppare le anagrafiche per indirizzo e fornire il numero per ogni indirizzo. ? Nome delle anagrafiche che hanno almeno 30 movimenti registrati nella tabella dei movimenti. ? Elenco delle anagrafiche che hanno l’ iniziale del nome uguale ad A. ? a.a. 2001/2002 9.18