Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo [email protected].

56
Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo [email protected]

Transcript of Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo [email protected].

Page 1: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Ms. Access: corso pratico di utilizzo dello strumento

Marco [email protected]

Page 2: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le basi di dati

• Una base di dati (DataBase) raccoglie grandi quantita’ di dati e ne facilita l’accesso all’utente.

• Esso rappresenta il cuore della maggior parte dei programmi che vengono utilizzati nelle aziende.

Page 3: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Fogli elettronici

• Sono strumenti software che mimano il lavoro di contabilita’ normalmente svolto normalmente su carta.

• Il loro compito e’ quello di generare I tabulati, effettuando contemporaneamente I conti necessari.

• Il foglio elettronico piu’ comune e’ EXCEL

Page 4: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Fogli Elettronici (II)

• Un foglio elettronico puo’ fare cose simili ad un DataBase, e vice versa ma:– Un foglio elettronico ha problemi a

trattare grosse quantita’ di dati.– Difficolta’ nel trattare dati non

numerici.– Difficolta’ a interrogare I dati.

Page 5: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Tipi di DataBase

• Data Base relazionali• Data Base gerarchici• Data Base ad oggetti.

– Access e’ un DataBase relazionale !

Page 6: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le tabelle

• Il luoghi dove il DataBase memorizza I dati vengono chiamati tabelle.

• In una singola base di dati, vi sono generalmente numerose tabelle.

• Ogni tabella raccoglie dati simili, aventi cioe’ tutti la medesima struttura.

Page 7: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le Query

• Una volta memorizzati I dati, occorre in qualche modo poterli analizzare.

• L’analisi viene fatta effettuando delle domande a cui il DataBase produce delle risposte.

• Queste risposte vengono dette interrogazioni o Query.

Page 8: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le Query (II)

• Le domande che si possono esprimere nelle query possono essere domande di ricerca, ordinamento, calcolo, modifica, cancellazione …

• Le risposte a queste domande sono nuove tabelle, eventualmente anche vuote o contententi una unica riga.

Page 9: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le Query (III)

• Le Query vengono espresse attraverso appositi linguaggi, detti linguaggi d’interrogazione.

• SQL e’ I linguaggio d’interrogazione piu’ comune.

• Access permette di esprimere le query anche in modo grafico.

Page 10: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le maschere

• Le tabelle definiscono le strutture capaci di contenere I dati…

• Ma come si inseriscono I dati nelle tabelle ?

• Le maschere disegnano le interfacce utenti con cui interagire con I dati archiviati!

Page 11: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le maschere (II)

• Maschere di immissione, per popolare la base di dati

• Maschere di interrogazione, per velocizzare il processo di esecuzione di una Query.

• Maschere di stampa, per inviare I dati ad una stampante.

• Maschere di comando, per collegare le varie maschere tra di loro.

Page 12: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I report

• Non basta avere le risposte a video! Bisogna anche poterle stampare!

• I report costituiscono il modo con cui I risultati calcolati dalle Query possono essere formattati in modo da poter essere stampati in modo leggibile.

Page 13: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I report (II)

• I report possono essere mostrati a video, inviati ad una stampane, importati in un altro programma (I.e. Word), spediti per mail…

• La costruzione di un report e’ vicina a quella di una maschera, anche se presenta carateristiche diversi determinate dal differente supporto a cui e’ destinato.

Page 14: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Access

• Access mette a disposizione funzionalita’ per creare tabelle, query, maschere, report ed altro ancora.

• Vedremo in dettaglio solamente queste 4 parti!

Page 15: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Access (II)

Page 16: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le tabelle

• Le tabelle sono I luoghi dove venogno custoditi I dati.

• Sono chiamate cosi’ per l’analogia con le tabelle stampate

• Le righe delle tabelle vengono chiamate record.

Page 17: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I record

• I record ragruppano tutte le informazioni relative ad un particolare oggetto (entita’).

• Tutti I record di una tabella contengono le stesse tipologie di informazioni per tutte le entita’ inserite nell’archivio.

• Le informazioni sono contenute nelle colonne delle tabelle.

Page 18: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I campi

• Ogni cella della tabella prende il nome di campo.

• Tutti I campi di una colonna rappresentano la stessa informazione per record differenti.

• I campi sono contraddistinti dal tipo di dato che essi possono contenere.

• Tutte le colonne contengono dati dello stesso tipo.

Page 19: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I tipi di dato

• Stringhe (testi brevi)• Numeri (con o senza la virgola)• Date ed orari• Booleani (informazioni si/no)• Testi• Immagini, pagine web, suoni…

Page 20: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I sottotipi di dato

• Alcuni tipi di dati hanno bisogno di ulteriori specifiche.

• Un numero puo’ essere con o senza la virgola.

• Una stringa puo’ essere piu’ o meno lunga.

• Queste informazioni rappresentano il sottotipo di un dato.

Page 21: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Nomi di campi e tabelle

• Ogni tabella ha un nome. Il nome viene utilizzato nelle Query e nei programmi per indicare la tabella da cui attingere i dati

• Ogni campo ha un nome. Serve per specificare in una Query o in un programma quale campo considerare.

Page 22: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Creare una tabella

• Creare una tabella, vuole dire definirne la struttura.

• Definire la struttura di una tabella corrisponde a specificare quali colonne abbia la tabella, e che tipo di dati esse ospitino.

• In pratica vuole dire definire i tipi dei campi che costituiscono un record.

Page 23: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le tabelle interne

• Risiedono nel DataBase che si sta modificando.

• Si creano specificando nome del campo, tipo di dato, piu’ un eventuale commento.

• Il commento serve solo per ricordare al programmatore a cosa servono i dati contenuti in quel campo.

Page 24: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le tabelle interne (II)

Page 25: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le stringhe

• Le stringhe servono a contenere informazioni testuali.

• Si selezionano mettendo la parola “Testo” nella colonna “tipo dati”

• Bisogna specificarne una lunghezza.

Page 26: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I numeri• I campi numerici raccolgono appunto

numeri.• Sono caratterizzati dal tipo e dalla

precisione dei numeri che contengono:– Intero (Byte = 8 bit, Intero = 16 bit, Intero

Lungo 32bit)– Con la virgola (Precisione singola = 32 bit,

Precisione doppia = 64 bit)– Lunghezza arbitraria (Decimale: in questo

caso occorre anche specificare quante cifre vogliamo memorizzare prima e dopo la virgola)

Page 27: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le date

• Sono campi che consentono di memorizzare informazioni temporali.

• Sono capaci di contenere date, orari o combinazioni delle due.

• Come vedremo piu’ avanti, attraverso il formato si puo’ decidere di inserire una data o un orario.

Page 28: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I booleani

• Sono informazioni di tipo Si / No• Vengono generalmente utilizzati

per memorizzare negli archivi scelte fatte attraverso caselle con il simbolo di spunta.

Page 29: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I testi

• Una stringa puo’ contenere al massimo 255 caratteri.

• Per informazioni piu’ lunghe (esempio dei testi o delle note) occorre utilizzare i campi di tipo memo.

• I campi memo non hanno limiti alla lunghezza del testo che possono contenere, ma rallentano le operazioni di ricerca.

Page 30: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Gli oggetti collegati

• A volte e’ necessario inserire in un archivio immagini, suoni, filmati, pagine web…

• Questi dati vengono inserti nell’archivio attraverso il meccanismo degli oggetti collegati.

• Sono i tipi Oggetti OLE e Collegamenti ipertestuali.

Page 31: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Il formato di visualizzazione

• Per i dati numerici possiamo scegliere di visualizzarli con un numero fisso di decimali, con un numero variabile, come percentuali.

• Un informazione temporale possiamo visualizzarla come data breve, data lunga, ora, ora + data, etc…

• Il formato di visualizzazione stabilisce come un dato viene rappresentato.

Page 32: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I valori di default

• Alcuni campi hanno un valore praticamente standard, a cui difficilmente occorre apportare dei cambiamenti.

• In questi casi si puo’ assegnare al campo un valore di default.

• Tale valore viene assegnato automaticamente al campo, ma puo’ essere modificato dall’utente quando necessario.

Page 33: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le maschere di input

• In certi casi l’informazione che si vuole inserire in un campo ha una struttura ben definita (es. codice fiscale).

• Una maschera di input forza l’utente ad immettere solamente dati conformi alla struttura del dato.

Page 34: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I criteri di validita’

• Alcuni dati per essere validi devono rispettare alcune regole: ad esempio l’ora di fine di una lezione deve essere maggiore dell’ora di inizio.

• I criteri di validita’ sono delle formule che verificano la conformita’ del dato inserito.

• Vengono scritte nel linguaggio di programmazione di Access.

Page 35: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I campi indicizzati• L’operazione piu’ comune che si effettua su

un DB e’ quella di ricerca.• Tale operazione e’ generalmente lenta in

quanto richiede di analizzare tutto l’archivio.• Un campo indicizzato e’ un campo su cui

l’operazione di ricerca e’ ottimizzata.• Un campo indicizzato occupa piu’ spazio

rispetto ad un campo tradizionale, richiede piu’ tempo per essere aggiornato, ma accelera notevolmente le operazioni di ricerca.

Page 36: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le chiavi

• Una chiave e’ un campo che contiene una informazione che identifica univocamente un record.

• La chiave puo’ identificare il record a cui appartiene, oppure un record contenuto in un’altra tabella.

Page 37: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le chiavi (II)

• Se la chiave identifica il record a cui il campo appartiene, allora si parla di chiave interna.

• Se il record identificato da una chiave e’ quello di un’altra tabella, si parla di chiave esterna.

• Per ogni record generalmente si assegna un chiave interna prioritaria, detta chiave primaria

Page 38: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le chiavi (III)

• Una chiave puo’ essere costituita da un unico campo, o dalla combinazione di piu’ campi.

• Due record diversi non possono avere esattamente gli stessi valori nei campi che costituiscono una loro chiave interna.

Page 39: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

I contatori• Per semplificare l’operazione di

creazione delle chiavi e garantirne l’unicita’ esistono dei particolari tipi di dati chiamati contatori.

• I contatori sono dei dati numerici il cui valore viene automaticamente assegnato dal programma, in maniera progressiva, in modo da garantire l’unicita’ del valore.

• Solitamente le chiavi primarie sono dei campi contatori.

Page 40: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le tabelle collegate• Una tabella collegata e’ una tabella

che risiede su un altro file.• Una volta collegate, vengono gestite da

Access come se fossero tabelle interne.• Ogni modifica effettuata sulla tabella

originale, viene immediatamente vista sulla tabella collegata.

• Ogni modifica fatta da access sulla tabella collegata, si ripercuote sulla tabella originale.

Page 41: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le tabelle importate• Una tabella importata, e’ una tabella interna

di Access che pero’ viene creata a partire da una tabella presente su un file esterno.

• Al momento della creazione della tabella, vengono letti i dati della tabella originale, e copiati in una tabella interna al DB Access.

• Ogni modifica apportata dopo alla tabella originale non influenzera’ la tabella importata.

• Ogni modifica effettuata sulla tabella importata, non influenzera’ la tabella orginale.

Page 42: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Vantaggi e svantaggi di collegamenti ed

importazioni• Le tabelle collegate sono molto piu’ lente da gestire, ma permettono la condivisione di dati immediata con altre sorgenti.

• Le tabelle importate sono decisamente piu’ veloci e flessibili da gestire, ma richiedono un processo di importazione / esportazione che deve essere ripetuto ogni qual volta sia necessario sincronizzare i dati.

Page 43: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le relazioni

• Un DataBase contiene generalmente piu’ tabelle.

• Alcuni record possono essere in relazione con record di altre tabelle.

• Le relazioni servono a legare dati insieme, in modo da permettere l’archiviazione di quantita’ variabili di dati.

Page 44: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le relazioni (II)

• Esistono 4 tipi di relazioni:– 1 a 1.– 1 a molti.– Molti a 1.– Molti a molti.

Page 45: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le relazioni 1 a 1• Legano in modo biunivoco i record in due

tabelle.• Ad ogni record di una tabella, corrisponde

al piu’ un record in un’altra.• Servono ad esempio a memorizzare parti

“opzionali” di un record, o a legare tabelle concettualmente distinte.

• Esempio: persone – impiegati• Una persona puo’ svolgere un lavoro o essere

disoccupato. Se svolge un lavoro, una tabella apposta puo’ contenere dati relativi al suo contratto, alla sua partita iva...

Page 46: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le relazioni 1 a molti

• Esprimono relazioni in cui ad un record di una tabella ne corrispondono molti altri in un’altra.

• Esempio: ordine – articoli acquistati– Un ordine puo’ essere costituito da piu’

articoli che vengono acquistati.– Uno stesso acquisto pero’ non puo’

appartenere a due ordini distinti.

Page 47: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le relazioni molti a 1

• Molti record di una tabella, fanno capo ad un unico record in un’altra.

• Esempio: anagrafica – citta’– Ogni persona ha la residenza in una

citta’, ma in un citta’ possono vivere piu’ persone.

– Una persona non puo’ avere la residenza in due citta’ distinte.

• Una relazione M-1 vista al contrario, diventa una relazione 1-M !

Page 48: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le relazinoni molti a molti

• A piu’ record di una tabella, posso corrispondere piu’ record in un’altra.

• Esempio: studenti – corsi seguiti– Ogni studente frequenta piu’ corsi

contemporaneamente.– Ogni corso pero’ e’ frequentato da

piu’ di uno studente.

Page 49: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Importanza delle relazioni

• Le relazioni permettono di:– Archiviare dati complessi, la cui

dimensione non e’ nota a priori.– Risparmiare spazio di

memorizzazione.– Limitare i danna causabili da errori di

immissione.– Facilitare alcuni tipi di Query.

Page 50: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Tabelle normalizzate

• Quando invece che ripetere piu’ volte un dato con un medesimo valore in una tabella, si utilizza una seconda tabella ed una relazione con essa, si dice che la tabella e’ normalizzata.

• Normalizzare le tabelle aiuta a salvare spazio e rendere piu’ efficienti le Query.

• Esistono vari tipi di normalizzazioni.

Page 51: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le chiavi e le relazioni• Le relazioni 1-1, 1-M, M-1 e M-M si

implementano in un DataBase utilizzando le chiavi interne ed esterne.

• I collegamenti avvengono mettendo in un record un campo contenente il valore della chiave primaria del record con cui e’ in relazione.

• Questo campo e’ appunto un chiave esterna.

• In access le chiavi esterne, quando si riferiscono ad una chiave primaria contenuta in un campo di tipo contatore, devono essere di tipo intero lungo.

Page 52: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Realizzare relazioni 1-1

• Le relazioni 1-1 si implementano inserendo nel record di una delle due tabelle (o eventualmente anche in entrambe) un campo capace di contenere la chiave primaria del record dell’altra tabella.

• L’unicita’ del collegamento deve essere garantita in altro modo.

Page 53: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Realizzare relazioni 1-M o M-1

• Le relazioni 1-M o M-1 si effettuano aggiungendo ai record della tabella M, un campo in cui inserire la chiave primaria della tabella 1 a cui sono collegate.

• Es: nella tabella dell’anagrafica, si aggiunge un campo in cui inserire la chiave primaria dei record della tabella delle citta’.

Page 54: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Realizzare relazioni M-M

• Per realizzare una relazione M-M tra due tabelle, occorre utilizzare una terza tabella, detta tabella di appoggio.

• I record della tabella di appoggio contengono le chiavi primarie dei record delle due tabelle che vogliono mettere in relazione.

Page 55: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le relazioni in Access

• Access permette di stabilire graficamente le relazioni tra due tabelle.

• Questa visione grafica rappresenta uno strumento utile per visualizzare la struttura di un archivio.

Page 56: Ms. Access: corso pratico di utilizzo dello strumento Marco Gribaudo Marcog@di.unito.it.

Le relazioni in Access (II)