Esercizio ODBC
Configurare il driver ODBC Start Control Panel Administrative Tools Aprire: Data Source(ODBC) User DSN Add…. Selezionare il driver : Oracle ODBC Driver (in OraHome92)
Configurare Oracle ODBC driver Data source name: un nome del tutto arbitrario (uso Mionome.oracle1.odbc) TNS Service name: il service name del database oracle verso cui voglio effettuare la connessione. (oracle1 oppure oracle2) UserID: il mio user name di Oracle Click su OK
Esercizio Creare una query MS Access per visualizzare e cancellare le sessioni gestite nell’esercizio 5. Creo una directory ~/ese6bdl Copio in ~/ese6bdl da ~ghelli/bdl05/ese6 i file create.sql (cancellazione in cascata a partire dalle sessioni) e createview.sql (per estrarre i secondi dalla tabella Sessioni) Compilo i file.
Funzionalità di Microsoft Access Table: tabelle relazionali sulle quali è possibile creare form, eseguire query, creare report. La creazione delle relazioni può essere effettuata anche tramite wizard. Query: interrogazione SQL Access (possibilità di creazione tramite interfaccia grafica e/o wizard). Form: per creare delle semplici ed intuitive maschere di inserimento dati sulle table presenti nel database. Macros: insieme di operazioni che il database compie automaticamente in corrispondenza degli eventi selezionati. Report: strumento per la presentazione (tipicamente in formato stampa) delle table o dei risultati di query. Modules: strumento per la programmazione di procedure e funzioni in VBA.
Utilizzare tabelle Oracle in MS Access Start Programs Microsoft Access Blank database File Get External Data Link Tables Settare il parametro File of types a ODBC database Selezionare Machine Data Source e selezionare l’istanza di oracle a cui si vuole connettersi (Mionome.oracle1.odbc) Inserire Username e Password dell’istanza di oracle a cui si vuole connetersi. OK, e aspettare…
Usare tabelle Oracle in MS Access Selezionare le tabelle “Acquisti, Oggetti, Scelte, Sessioni, Sessioni_Secondi”. Premo solo OK per tutte le richieste di selezione di campi per integrità referenziale. Apro e modifico le tabelle. Osservo l’effetto delle modifiche sulle tabelle Oracle, usando SqlPlus Worksheet: –select * from ;
Query: Sessioni Aperte Creo una query Access che mostri per ogni sessione aperta: –ID della sessione –il nome dell’utente, –il suo anno di nascita –Il numero di acquisti effettuati dall’utente; –Il prezzo totale degli acquisti effettuati dall’utente;
Creazione di Sessioni Aperte Nella finestra di gestione del database seleziono queries. Premo il bottone New Opzione Design View OK Dalla finestra Show Table (menu Query scelta Show Table) seleziono con Add le tabelle Acquisti, Oggetti, Sessioni. Premo Close. Considerato che per selezionare un campo di una tabella devo fare doppio click sul suo nome, seleziono i campi: IDSessione,NomeUtente, AnnoNascita, prezzo
Creazione di Sessioni Aperte Creo le Join tra le tabelle: –trascino il campo IDSessione sul campo sessione –trascino il campo IDOggetto sul campo oggetto Definisco le outer join: faccio doppio click sulla linea che rappresenta –la join tra Sessioni e Acquisti e seleziono l’opzione 2 (da Sessioni verso Acquisti). –la join tra Acquisti e Oggetti e seleziono l’opzione 3 (da Acquisti verso Oggetti).
Creazione di Sessioni Aperte Trasformo la query in una group by: mi posiziono sulla parte inferiore della finestra della query e premo il tasto destro, seleziono Totals. Modifico il campo PREZZO della select: –Sostituisco PREZZO con TOTALE: PREZZO –E sostituisco Group By con Sum Inserisco un ulteriore campo alla select: Salvo la query come: Sessioni Aperte. Eseguo la query premendo ! Field (campo)Total (totale) ACQUISTI: SESSIONECount
Form in Access Creo una form che consente di eliminare una sessione La form mostra le sessioni nella tabella sessioni; ogni sessione è associata ad un bottone che premuto ne causa la cancellazione.
Form Cancellazione Sessioni Nella finestra di gestione del database seleziono forms. Premo il bottone New Opzione Form Wizard OK Seleziono la tabella o query su cui eseguire la ricerca e i campi che devono comparire nel form: –Query: Sessioni Aperte –Campi: Tutti (premere >>) Click su Next
Form Cancellazione Sessioni Seleziono il layout del form tabular tra quelli disponibili e premo “Next”. Seleziono lo stile grafico tra quelli disponibili e premo “Next”. Scrivo il nome FormCancellazioneSessioni, seleziono Open the form; quindi seleziono il tasto “Finish”.
Form Cancellazione Sessioni Aggiungo un bottone di comando (cancellazione) alla form. Clicco con il tasto destro del mouse sul form appena creato; comparirà un menu da cui scegliere il comando Form Design Seleziono dalla Toolbox il “Command Button” identificabile dalla seguente figura: Clicco sul form, nel punto in cui deve comparire il bottone.
Form Cancellazione Sessioni Seleziono nel Wizard la categoria “Record Operation” e tra le azioni, il comando “Delete Record”; quindi premere “Next”. Seleziono il testo o la figura che dovrà contraddistinguere il bottone appena creato e premere il tasto “Next”. Scrivo il nome associato al bottone e quindi premo il tasto “Finish”.
Esercizio di query Definire una query che per ogni sessione ritorni: –IDSESSIONE –NOME UTENTE –ANNO NASCITA –NUM. SCELTE –NUM. ACQUISTI
Soluzione Definire una query che calcoli il numero delle scelte per sessione Definire una query che calcoli il numero degli acquisti per sessione Definire una query che faccia la giunzione tra i risultati delle due query precedenti
Esercizio di Form Realizzare una form per l’immissione dati e la cancellazione nella tabella Dipendenti del database del progetto –La form deve mostrare i dati in formato Columnar –Deve avere un bottone di comando per l’inserimento dati (funzionalità add new record) e per la cancellazione