Ms. Access: corso pratico di
utilizzo dello strumento
Marco Gribaudo
[email protected]
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)