ESERCITAZIONE SUGLI ALGORITMI NUMERO TREclassiperlo.altervista.org/Materiale/5ast/EL4-4_5AST Access...

16
EL4-4_5ST ACCESS – SECONDA PARTE Autore: __________________________________________ Data: _________Classe: ____ ATTENZIONE Il significato dei simboli usati in questa e nelle prossime esercitazioni è spiegato dettagliatamente nella guida http://www.classiperlo.altervista.org/Materiale/Generale/Simboli.d oc (scaricala e consultala in caso di dubbi). Il simbolo della manina in colore blu indica una domanda alla quale bisogna OBBLIGATORIAMENTE rispondere scrivendo in colore blu. Il simbolo della manina in colore blu con la scritta Cou New indica un codice che va incollato usando Courier New in colore blu. Il simbolo della manina in nero indica una o più immagini o schermate da incollare (protette col tuo watermark, le tue iniziali di Nome e Cognome) Il simbolo della manina con colori attenuati indica un'operazione che bisogna svolgere, senza rispondere a nessuna domanda (non vuol dire che non devi fare nulla – significa solo che non devi scrivere niente!). Il simbolo della manina col ciak video indica un video da registrare con Gif Recorder (http://gifrecorder.com/ )e da salvare in formato gif nella cartella dell'esercitazione. recupero. Questo simbolo indica un video di esempio o di spiegazioni da guardare su YouTube

Transcript of ESERCITAZIONE SUGLI ALGORITMI NUMERO TREclassiperlo.altervista.org/Materiale/5ast/EL4-4_5AST Access...

EL4-4_5ST ACCESS – SECONDA PARTEAutore: __________________________________________ Data: _________Classe: ____

ATTENZIONE

Il significato dei simboli usati in questa e nelle prossime esercitazioni è spiegato dettagliatamente nella guida http://www.classiperlo.altervista.org/Materiale/Generale/Simboli.doc (scaricala e consultala in caso di dubbi).

Il simbolo della manina in colore blu indica una domanda alla quale bisogna OBBLIGATORIAMENTE rispondere scrivendo in colore blu.

Il simbolo della manina in colore blu con la scritta Cou New indica un codice che va incollato usando Courier New in colore blu.

Il simbolo della manina in nero indica una o più immagini o schermate da incollare (protette col tuo watermark, le tue iniziali di Nome e Cognome)

Il simbolo della manina con colori attenuati indica un'operazione che bisogna svolgere, senza rispondere a nessuna domanda (non vuol dire che non devi fare nulla – significa solo che non devi scrivere niente!).

Il simbolo della manina col ciak video indica un video da registrare con Gif Recorder (http://gifrecorder.com/)e da salvare in formato gif nella cartella dell'esercitazione.recupero.

Questo simbolo indica un video di esempio o di spiegazioni da guardare su YouTube

A) OPERAZIONI PRELIMINARI

A1) Crea una sottocartella di ES4 con nome uguale a quello di questa esercitazione (EL4-4_5AST Access 2)

A2) All'interno della sottocartella EL4-4_5AST Access 2 salva questo file Word

B) ACCESS: LA TABELLA PRESTITI

B1) Copia il file Biblioteca.accdb dalla cartella della precedente esercitazione nella cartella di questa esercitazione (lo modificheremo ancora).

Nel nostro database relazionale non ci sono relazioni che collegano le tabelle. Per fare questo, dobbiamo ancora creare un'ultima tabella: Prestiti.

B2) In Biblioteca.accdb crea una tabella Prestiti contenente i campi UtentiId (numero), LibriId (numero), dataPrestito (data e ora), Scadenza (numero), dataConsegna (data e ora), Consegnato (SI/NO). Fra parentesi sono indicati i tipi dei diversi campi. ATTENZIONE: non inserire dati nella tabella, lasciala vuota.

Il campo UtentiId nella tabella Prestiti è una chiave esterna correlata con la chiave primaria con lo stesso nome nella tabella Utenti. Analogamente LibriId in Prestiti è la chiave esterna collegata con la omonima chiave primaria in Libri.

TIPO DEI VALORI

Il tipo SI/NO serve per inserire una check box da spuntare (se il libro è stato riconsegnato).

Il tipo di UtentiId e di LibriId deve essere numero poiché la corrispondente chiave primaria è un numero progressivo. Chiave primaria e chiave esterna devono obbligatoriamente essere dello stesso tipo (normalmente sono entrambe un valore numerico).

Dobbiamo ora creare la relazione fra le tabelle.

B3) Apri la scheda Strumenti database e clicca su Relazioni:

B4) Se è la prima volta che usi questo strumento sul tuo DB, dovrai per prima cosa aggiungere le tre tabelle alla finestra Relazioni. Clicca su ciascuna tabella e poi premi il pulsante Aggiungi (se non vedi il menu in figura, puoi aprirlo cliccando col tasto destro su uno spazio vuoto

e scegliendo Mostra Tabella):

B5) Per creare una relazione fra due tabelle, devi cliccare col mouse su una delle due chiavi che vuoi collegare e quindi trascinarla sopra la chiave collegata (vedi frecce in figura). Il cursore del mouse assume la forma di un segno +:

B6) Nella finestra che si apre, metti la spunta su Applica integrità referenziale e poi clicca

su Crea

ATTENZIONE: se una delle due tabelle è aperta in Visualizzazione, otterrai un messaggio di errore

Chiudi la tabella e quindi ripeti il procedimento.

INTEGRITA' REFERENZIALE

L’integrità referenziale è una funzione con cui Access garantisce che ogni record della tabella correlata corrisponda opportunamente a un record della tabella primaria.

In parole più semplici: Access impedisce, per esempio, l’eliminazione di un libro o di un utente, senza che vengano eliminati anche tutti i prestiti di quel libro o intestati a quell’utente. Analogamente non si può inserire come chiave esterna un valore che non corrisponda a un valore valido di chiave primaria.

Se sono stati già inseriti dei dati errati nella tabella prestiti (p.es. un codice fiscale di un utente che non esiste), Access segnalerà un messaggio di errore quando si tenterà di applicare l’integrità referenziale alla relazione. In questo caso occorre individuare la causa di errore e correggerla.

B7) Completa la relazione fra le tre tabelle (ricordati l'Integrità referenziale!). Dovresti ottenere un risultato come in figura, in cui i campi correlati delle tabelle sono collegati con una linea nera spessa (sostituisci la tua schermata al posto della mia):

SE SBAGLI

Se ti sbagli nel costruire una relazione fra tabelle, puoi cancellarla cliccando sulla linea di collegamento fra le tabelle e premendo il tasto CANC.

RELAZIONE UNO A MOLTI

Se osservi con attenzione la linea di collegamento fra le tabelle, vedrai che c'è segnato 1 in corrispondenza della chiave primaria e ∞ (infinito) in corrispondenza della chiave esterna collegata. Questo tipo di relazione fra tabelle prende il nome di uno a molti.

Il motivo è che la chiave primaria compare sempre in uno e un solo record, mentre la chiave esterna collegata può comparire in molti record nella tabella collegata. Per esempio in Libri ogni record (cioè ogni libro) ha un suo LibriId unico e progressivo. In Prestiti lo stesso LibriId può comparire in molti record, perché lo stesso libro può essere dato in prestito molte volte.

B8) Vediamo se hai capito. Nella tabella Utenti, quanti utenti diversi ci possono essere con un valore di UtentiId uguale a 2?

B9) Invece nella tabella Prestiti, quanti record ci possono essere che hanno UtentiId uguale a 2?

C) COMPILIAMO LA TABELLA DEI PRESTITI

C1) Dopo aver stabilito le relazioni fra le tabelle, salva e chiudi la scheda Relazioni (ATTENZIONE: finché non salvi le Relazioni, queste non saranno applicate).

C2) Apri ora la tabella Prestiti che abbiamo lasciato vuota. Riempi il primo record (il primo prestito) con dei valori a caso.

C3) Prova a inserire un valore di LibriId o UtentiId non valido osserverai questo

messaggio di errore:

C4) Cosa vuol dire inserire un valore di LibriId o UtentiId non valido? In che senso "non valido"?

C5) Cosa significa il precedente messaggio di errore?

SE NON VIENE VISUALIZZATO NESSUN MESSAGGIO DI ERRORE

Se, provando a inserire un valore non valido, non compare nessun messaggio di errore, significa che non hai applicato l'Integrità referenziale per la relazione fra le due tabelle.

L'Integrità referenziale controlla infatti che ci sia corrispondenza di valori fra chiave esterna e chiave primaria.

Se c'è un errore nelle relazioni puoi correggerlo con la scheda Strumenti database e il pulsante Modifica relazioni:

C6) Riempi almeno tre record validi nella tabella Prestiti e incolla qui sotto una schermata:

D) LA NOSTRA PRIMA QUERY

La compilazione della tabella Prestiti è piuttosto noiosa dal momento che il bibliotecario deve controllare ogni volta quale numero (valore della chiave primaria) corrisponde al libro preso in prestito e all'utente. L'unico aiuto che fornisce Access è fornire un messaggio di errore nel caso in cui vengano inseriti valori non validi della chiave primaria.

Vediamo come si può migliorare il funzionamento del nostro DB.

D1) Apri la tabella Prestiti in modalità Visualizzazione Struttura. Seleziona il campo

UtentiId e scegli Casella di riepilogo nella scheda Ricerca, come mostrato in figura:

D2) Clicca sulla freccetta accanto a Origine riga e dall'elenco scegli la tabella Utenti:

D3) Prova adesso ad aggiungere un nuovo record alla tabella Prestiti. Accanto a UtentiId

dovresti trovare una casella a discesa che ti permette di scegliere fra tutti i valori validi (cioè fra tutti i valori di UtentiId presenti in Utenti come chiave primaria):

Va già meglio, ma il bibliotecario non ha ancora nessuna indicazione di quale utente (Nome e Cognome) corrisponda a ogni numero.

D4) Riapri Prestiti in Visualizzazione Struttura e clicca quindi sui tre puntini che compaiono accanto a Origine riga

D5) Rispondi SI alla richiesta di Creare una query basata sulla tabella:

Si aprirà una nuova scheda denominata Generatore di query:

D6) Seleziona i campi UtentiID, Cognome e Nome nella tabella Utenti come mostrato in figura (metti la spunta su Mostra):

D7) Salva e chiudi la scheda Generatore di query.

D8) Osserva come è stato modificato il valore di Origine riga nella scheda Ricerca riferita al campo UtentiID nella tabella Prestiti (sostituisci la tua schermata al posto della mia):

Osserva l'istruzione

SELECT Utenti.UtentiID, Utenti.Cognome, Utenti.Nome FROM Utenti;

Si tratta di un'istruzione scritta in linguaggio SQL. SQL (Structured Query Language) è un linguaggio standardizzato per database basati sul modello relazionale (RDBMS).

Torneremo ancora più avanti su questo linguaggio. Per adesso, anche se non conosciamo la sintassi di SQL, non è molto difficile comprendere il suo significato:

SELEZIONA I CAMPI UtentiID, Cognome, Nome DALLA TABELLA Utenti

Come vedi Access genera automaticamente istruzioni SQL attraverso la scheda Generatore di query. Conoscendo la sintassi del linguaggio sarebbe ovviamente possibile scrivere a mano queste istruzioni senza l’ausilio del Generatore di query automatico.

D9) Completa la scheda Ricerca riferita al campo UtentiID nella tabella Prestiti mettendo a 3 il Numero di colonne e scrivendo in Larghezze colonne 0cm;4cm;4cm

ATTENZIONE

I tre numeri inseriti in Larghezza colonne definiscono le dimensioni in centimetri che dovranno essere assegnate alle colonne UtentiID, Nome e Cognome. Mettendo a 0 la larghezza della prima colonna si ha come risultato che l'ID dell'utente non viene visualizzato.

Se ti dimentichi di specificare il Numero di colonne o di assegnare una dimensione, il successivo punto D11 non funzionerà più correttamente!

D10) Salva e chiudi Prestiti e riaprila in Visualizzazione Foglio Dati (basta doppio clic sul nome della tabella nel pannello laterale).

D11) Prova ora a inserire un nuovo prestito. Vedrai che in corrispondenza di UtentiID viene visualizzato un elenco a discesa con i Cognomi e i Nomi degli utenti:

E) COMPLETIAMO IL DB

E1) Seguendo lo stesso procedimento visto al punto precedente, fai in modo che sia possibile scegliere LibriID nella tabella Prestiti da una lista a discesa nella quale vengano visualizzati Titolo e Autore del libro.

E2) → Biblioteca.gif, test completo di funzionamento del DB in cui si veda l'inserimento di un nuovo prestito nella tabella Prestiti

BONUS DOMANDA D'ESAME +1 PC – EL4-4_5ST – DOMANDA1

INCLUDEPICTURE "http://www.fttr.it/wp-content/uploads/2017/01/question-mark.jpg" \* MERGEFORMATINET

Rispondere alla seguente domanda sul foglio a righe in 8-12 righe (http://classiperlo.altervista.org/File%20comuni/Foglio%20righe.docx). Leggi prima le modalità di compilazione su (http://classiperlo.altervista.org/Materiale/Generale/Simboli.doc).

DOMANDA: Illustra i vantaggi di un programma DBMS (es Access) per la gestione di un DB rispetto all'uso di un software generico per la creazione di tabelle salvate in un file (es. Excel).

Invia il bonus separatamente su Classiperlo in un file Word di nome EL4-4_5ST – DOMANDA1.

Salva tutte le risposte alle domande in una cartella a parte, in modo da poterle facilmente ritrovare a fine anno (servono per la preparazione all'esame orale di maturità).

BONUS DOMANDA D'ESAME +1 PC – EL4-4_5ST – DOMANDA2

INCLUDEPICTURE "http://www.fttr.it/wp-content/uploads/2017/01/question-mark.jpg" \* MERGEFORMATINET

Rispondere alla seguente domanda sul foglio a righe in 8-12 righe (http://classiperlo.altervista.org/File%20comuni/Foglio%20righe.docx). Leggi prima le modalità di compilazione su (http://classiperlo.altervista.org/Materiale/Generale/Simboli.doc).

DOMANDA: Spiega i concetti di integrità dei dati e di integrità referenziale in un DB facendo anche qualche esempio.

Invia il bonus separatamente su Classiperlo in un file Word di nome EL4-4_5ST – DOMANDA2.

Salva tutte le risposte alle domande in una cartella a parte, in modo da poterle facilmente ritrovare a fine anno (servono per la preparazione all'esame orale di maturità).

BONUS EXTRA +3 PC –EL4-4_5ST – BONUS1

Realizza un DB per la registrazione dei voti degli studenti di una certa classe nelle varie materie. Il DB comprende una tabella con gli studenti e una tabella con i voti e le relative materie.

Invia il bonus separatamente su Classiperlo in un file zippato di nome EL4-4_5ST – BONUS1

F) OPERAZIONI FINALI

F1) Controlla di aver risposto a tutte le domande e incollato tutte le schermate. Tutte le

caselline dovrebbero avere un segno X, per indicare che hai risposto

F2) Comprimi le immagini contenute in questo file Word (seleziona un'immagine, scheda Formato e poi Comprimi immagini e infine Applica a tutte le immagini del documento) in modo da ridurne le dimensioni.

F3) Controlla che la cartella di questa esercitazione contenga i seguenti file con i nomi qui indicati:

Nome del file Tipo del file DescrizioneEL4-4_5AST Access 2 Word Il file di questa esercitazioneBiblioteca.accdb AccessBiblioteca.gif GIF

F4) Chiudi tutti i file, zippa la cartella di questa esercitazione e inviala all'insegnante su Classiperlo.