Title: Esercizio ODBC
1Esercizio ODBC
2Configurare il driver ODBC
- Start ? Control Panel ? Administrative Tools
- Aprire Data Source(ODBC)
- User DSN ? Add.
- Selezionare il driver Oracle ODBC Driver (in
OraHome92)
3Configurare 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
4Esercizio
- Creare una query MS Access per visualizzare e
cancellare le sessioni gestite nellesercizio 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.
5Funzionalità 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.
6Utilizzare 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
listanza di oracle a cui si vuole connettersi
(Mionome.oracle1.odbc) - Inserire Username e Password dellistanza di
oracle a cui si vuole connetersi. - OK, e aspettare
7Usare 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 leffetto delle modifiche sulle tabelle
Oracle, usando SqlPlus Worksheet - select from lttabellagt
8Query Sessioni Aperte
- Creo una query Access che mostri per ogni
sessione aperta - ID della sessione
- il nome dellutente,
- il suo anno di nascita
- Il numero di acquisti effettuati dallutente
- Il prezzo totale degli acquisti effettuati
dallutente
9Creazione 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
10Creazione 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
lopzione 2 (da Sessioni verso Acquisti). - la join tra Acquisti e Oggetti e seleziono
lopzione 3 (da Acquisti verso Oggetti).
11Creazione 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 SESSIONE Count
12Form 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.
13Form 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 gtgt)
- Click su Next
14Form 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.
15Form 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.
16Form 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.
17Esercizio di query
- Definire una query che per ogni sessione ritorni
- IDSESSIONE
- NOME UTENTE
- ANNO NASCITA
- NUM. SCELTE
- NUM. ACQUISTI
18Soluzione
- 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
19Esercizio di Form
- Realizzare una form per limmissione 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
linserimento dati (funzionalità add new record)
e per la cancellazione