Ms. Access: corso pratico di utilizzo dello strumento

Ms. Access: corso pratico
di utilizzo dello strumento
www.smauro.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.
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
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.
Tipi di DataBase
• Data Base relazionali
• Data Base gerarchici
• Data Base ad oggetti.
– Access e’ un DataBase relazionale !
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.
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.
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.
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.
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!
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.
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.
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.
Access
• Access mette a disposizione funzionalita’
per creare tabelle, query, maschere, report
ed altro ancora.
• Vedremo in dettaglio solamente queste 4
parti!
Access (II)
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.
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.
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.
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…
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.
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.
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.
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.
Le tabelle interne (II)
Le stringhe
• Le stringhe servono a contenere
informazioni testuali.
• Si selezionano mettendo la parola “Testo”
nella colonna “tipo dati”
• Bisogna specificarne una lunghezza.
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)
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.
I booleani
• Sono informazioni di tipo Si / No
• Vengono generalmente utilizzati per
memorizzare negli archivi scelte fatte
attraverso caselle con il simbolo di spunta.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
Le relazioni (II)
• Esistono 4 tipi di relazioni:
– 1 a 1.
– 1 a molti.
– Molti a 1.
– Molti a molti.
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...
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.
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 !
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.
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.
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.
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.
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.
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’.
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.
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.
Le relazioni in Access (II)