1
Università degli Studi di Ferrara
Corso di Laurea in Tecnologie per i Beni Culturali
A.A.2009/2010
Corso di Informatica 2
Docente: Dott. Andrea Silvestri
- Access -
2
Creazione di un database Access
Apriamo Access e, nel riquadro Attività, facciamo
click su Database vuoto
Diamo un nome al database e premiamo Invio; da
questo momento possiamo inserire i nostri oggetti
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
3
Database Access vuoto
• I principali elementi sono:
▫ Elenco dei tipi di oggetti che possiamo
creare
x tabelle, query, maschere…
▫ Opzioni di creazione e oggetti creati,
nella
ll parte
t centrale
t l d
della
ll fi
finestra
t
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
4
Creazione di una tabella
• Per creare la tabella insegnamenti:
▫ clicchiamo, nella colonna degli
oggetti, su Tabelle
▫ facciamo doppio click su Crea una
tabella in visualizzazione
struttura verrà mostrata una
struttura,
finestra per la definizione delle
colonne della tabella
▫ inseriamo i dati relativi alle due
colonne (campi)
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
5
Tipi di dati
Testo
Utilizzare per gli oggetti OLE, ad esempio documenti Word, Excel, immagini, suoni ecc. creati in
altri programmi tramite il protocollo OLE. Memorizza fino a 1 GB.
Memo
Utilizzare per testo lungo e numeri. Memorizza fino a 65.536 caratteri.
Numerico
Utilizzare per i dati numerici da inserire in calcoli matematici, ad eccezione dei calcoli con
valuta. In tal caso, utilizzare il tipo di dati Valuta. Memorizza 1, 2, 4 o 8 byte e 16 byte solo per
l'ID replica (GUID, Globally Unique Identifier). La proprietà Dimensione campo definisce il
tipo numerico specifico.
Data/Ora
Utilizzare per la data e l'ora. Memorizza 8 byte.
Valuta
Utilizzare per i valori di valuta e per evitare gli arrotondamenti per difetto nei calcoli.
Memorizza 8 byte.
Contatore
Utilizzare per i numeri univoci sequenziali (con incremento di una unità alla volta)
o per i numeri assegnati in modo casuale inseriti automaticamente quando si aggiunge
un record. Memorizza 4 byte e 16 byte solo per l'ID replica (GUID).
Sì/N
Sì/No
Utilizzare per i dati ai quali può essere assegnato solo uno di due valori,
valori ad esempio Sì/No,
Sì/No
Vero/Falso, On/Off. I valori Null non sono consentiti. Memorizza 1 bit.
Oggetto
OLE
Combinazioni di testo e numeri. Memorizza fino a 255 caratteri. La proprietà Dimensione
campo definisce il numero massimo di caratteri che possono essere digitati.
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
6
Definire una chiave primaria
• La chiave primaria è un campo, o una combinazione di campi,
che identifica in modo univoco ciascun record in una tabella.
Il pulsante col simbolo
della chiave col quale è
possibile definire una
chiave primaria
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
7
Manipolazione dei dati
• Access permette di manipolare i dati in modo
semplice intervenendo sulla tabella:
• clicchiamo, nella colonna degli oggetti, su Tabelle
• facciamo doppio click sulla tabella insegnamenti
• ci posizioniamo nella riga col simbolo * sulla
sinistra, per inserire un nuovo record, questo verrà
salvato non appena abbandoniamo la riga
• clicchiamo sul selettore di riga e poi premiamo
Canc per cancellare un record
• infine, selezioniamo la riga da modificare e
inseriamo direttamente il nuovo testo
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
8
Relazioni tra tabelle
• Per impostare una relazione tra studenti ed esami sostenuti dobbiamo creare
altre due tabelle,, studenti ed esami,, e definire la relativa struttura:
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
9
Impostazione di una Relazione
• Impostiamo la relazione vista:
Pulsante aggiungi tabella
•
•
•
•
•
•
•
•
nel menu Strumenti scegliamo Relazioni
clicchiamo sul pulsante aggiungi tabella
selezioniamo le tabelle interessate;
trasciniamo
i i
la
l colonna
l
cod_insegnamento
d i
della tabella esami sulla stessa colonna della
tabella insegnamenti
verrà aperta
p
una finestra p
per definire i
dettagli della relazione
attiviamo la check box Applica integrità
referenziale
a seconda del tipo di relazione,
relazione possiamo
anche attivare l’aggiornamento e
l’eliminazione a catena delle righe
ripetiamo il procedimento per la
relazione
l i
ttra esamii e studenti
t d ti (b
(basata
t sulla
ll
colonna matricola).
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
10
Esercizio 1/2
• Creiamo le tabelle elencate, dimensionando i campi in modo opportuno
… e impostiamo le relazioni:
studenti <-> citta
studenti <-> esami
studenti <-> diplomi
insegnamenti <-> esami
corsi_facolta <-> corsi
corsi_facolta <-> facolta
NOTA: per impostare le relazioni,
i campi coinvolti devono essere
dello stesso tipo
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
11
Esercizio 2/2
• Dopo aver terminato la creazione, popolare le tabelle
… e impostiamo le relazioni:
studenti <->
< > prenotazioni
studenti <-> iscrizioni
appelli <-> insegnamenti
appelli <-> docenti
appelli <->
< > prenotazioni
studenti <-> corsi_facolta (su due campi)
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
12
Le maschere
• Una maschera è un oggetto del database utilizzato principalmente per
l'inserimento, la visualizzazione e la modifica dei dati in un database.
• Creiamo un maschera per gestire gli insegnamenti:
▫ Selezioniamo, nell’elenco degli oggetti, Maschere
▫ Facciamo doppio click su Crea una maschera mediante una creazione guidata
Innanzitutto scegliamo in quale oggetto si trovano
i dati da gestire (tabella o query)
La casella di riepilogo Campi disponibili:
mostrerà tutti i campi utilizzabili.
Clicchiamo su un campo e poi su > per includerlo
nella maschera.
Clicchiamo su >> per includere nella maschera
tutti i campi
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
13
Creazione di una maschera - 1
Definiamo lo schema di visualizzazione della maschera
Selezioniamo lo stile da applicare alla maschera
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
14
Creazione di una maschera - 2
Se lasciamo attivata questa opzione, la
maschera verrà visualizzata in modalità
Visualizzazione Maschera pronta per
la manipolazione dei dati.
Se vogliamo subito procedere con la
personalizzazione
pe
so a a o e de
della
a maschera,
asc e a,
attiviamo l’opzione Modificare la
struttura della maschera
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
15
Le proprietà degli oggetti
• Tutti gli oggetti presenti nella maschera possiedono delle proprietà:
▫ Per accedere alle p
proprietà,
p
, facciamo doppio
pp click sull’oggetto.
gg
▫ Per accedere alle proprietà della maschera, facciamo doppio click sul quadratino in
altro a sinistra della maschera.
▫ Le proprietà caratterizzano un oggetto, ad esempio ne definiscono il nome, le
dimensioni, il colore, il comportamento ecc.
Modifichiamo il testo dell’etichetta in Codice
Impostiamo il colore di sfondo selezionandolo
facendo click sui tre puntini
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
16
Creare una query
• Per creare una query con gli strumenti visuali di Access:
▫
▫
▫
▫
▫
▫
clicchiamo, nella colonna degli oggetti, su Query
facciamo doppio click su Crea una query in visualizzazione struttura,
struttura verrà mostrata
una finestra per la scelta delle tabelle da cui estrarre i dati
clicchiamo su studenti e poi sul pulsante Aggiungi
clicchiamo su citta e poi sul pulsante Aggiungi e poi su Chiudi
Access ha aggiunto le due tabelle nella finestra della query. Se la relazione è stata impostata
correttamente, il join viene fatto automaticamente, altrimenti deve essere fatto
manualmente tramite trascinamento del campo;
trasciniamo nella griglia sottostante campi da visualizzare, da testare e utili per un
ordinamento
di
t d
dell’output
ll’ t t ed
d applicare
li
lle seguenti
ti modifiche:
difi h
Nella riga dei criteri, inseriamo le condizioni che la
colonna data_nascita deve rispettare, in questo caso
il campo deve essere maggiore o uguale (>=) a
1/1/1980.
Attiviamo la check box se vogliamo visualizzare il
contenuto
t
t d
dell campo quando
d lla query verrà
à eseguita
it
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
17
La finestra delle query
Pulsante per visualizzare il
risultato della query
Selezione del
tipo di query
Griglia QBE
(Query By
Example)
p )
Pulsante per
eseguire la
query
L’asterisco, se trascinato nella griglia
QBE, include tutti i campi della
tabella
Nome del campo
Tabella da cui proviene il
campo
Aggiungi tabella
Join
Selezione del criterio di
ordinamento (cresc./decresc.)
Se attivato, visualizza il campo
Criterio selettivo da applicare
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
18
Tipi di query
Con l’output
p della q
queryy viene
creata una nuova tabella nel
database
Ha come output una matrice
bidimensionale
E’ quella vista finora, è quella
predefintita
Utilizzata per aggiornare i
record delle tabelle
L’output della query viene
accodato ad un tabella esistente
Utilizzata per eliminare i record
delle tabelle
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
19
Operatori utilizzati nelle query
Operatore
Esempio
Risultato
> (maggiore)
voto > 23
24,30
>= (maggiore o uguale)
= (uguale)
< (minore)
<= (minore o uguale)
<> (diverso)
Like (come, *=qualsiasi gruppo di caratt.)
Like (come, ?=un carattere qualsiasi)
Like (come, #=una cifra numerica)
Like (come, […]=gruppo specifico di car.)
Like (come, !=negazione)
Between (compreso fra … e …)
In (compreso nell’elenco)
Not In (non compreso nell’elenco)
voto >= 23
voto = 23
voto < 23
voto <= 23
voto <> 23
voto Like '1*'
voto Like “?3”
voto Like “3#”
voto Like “2[2-5]”
voto Like “2[!2-3]”
voto Between 25 and 30
voto In (22;23)
voto Not In (22;23)
23,24,30
23
18,22,22
18,22,22,23
18,22,22,24,30
18
23
30
22,22,23,24
24
30
22,22,23
18,24,30
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
20
Query parametriche
• I criteri di selezione dei dati visti in precedenza erano di tipo statico, nel
senso che, una volta creata la query, il valore da testare era definito e la
sua variazione
i i
comportava la
l modifica
difi d
della
ll query.
• Nelle query di Access possiamo creare una query parametrica, con la
quale il valore da testare viene richiesto all’utente
all utente di volta in volta:
1. Inseriamo nella griglia QBE il
prompt,
p
p , racchiuso tra parentesi
p
quadre, che apparirà nella finestra
di dialogo (il prompt può essere
combinato con gli operatori già
visti)
2. Clicchiamo sul pulsante Visualizza
(o su Esegui) della Barra degli
strumenti
3. Inseriamo il parametro richiesto
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
21
Tipi di query: di creazione tabella
•
•
Vengono utilizzate per creare nuove tabelle con le colonne estratte da
tabelle esistenti.
Creiamo una tabella con tutti gli studenti residenti nella provincia di
Frosinone, ordinato per comune di residenza e cognome:
• Clicchiamo sul pulsante Tipo query
e selezioniamo Query di creazione
tabella.
• Ci verrà chiesto di dare un nome alla
nuova tabella.
• Cliccare su Visualizza, per vedere in
anteprima la lista delle righe coinvolte
dalla query.
query
• Cliccare su Esegui, per creare
realmente la nuova tabella.
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
22
Tipi di query: di aggiornamento righe
•
•
Vengono utilizzate per aggiornare i record in una tabella.
Nell’esempio seguente, gli appelli d’esame futuri vengono spostati alla
settimana successiva
Selezioniamo il tipo
p di q
query.
y
Comparirà
p
la riga
g ‘Aggiorna
gg
a:’. Q
Qui
verranno messi i nuovi valori che
rimpiazzeranno quelli esistenti.
Infine clicchiamo su ‘Visualizza’ e poi
su ‘Esegui’
g p
per p
procedere
all’eliminazione
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
23
Tipi di query: di eliminazione righe
• Vengono utilizzate per cancellare i record in una tabella.
• Procediamo alla cancellazione delle prenotazioni ad esami svolti in passato
Selezioniamo il tipo
di query
Trasciniamo l’asterisco
dalla tabella dove
cancellare
ll
lle righe,
i h nella
ll
griglia QBE
Verrà aggiunta la riga Elimina. Qui definiamo in quale tabella eliminare le righe (colonna Da) e in
b
base
a quale
l criterio
it i ((colonna
l
D
Dove).
) IInfine
fi clicchiamo
li hi
su Visualizza
Vi
li
e poii su Esegui
E
i per procedere
d
all’eliminazione
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
24
Stampa dei dati - 1
•
•
•
•
Il report rappresenta un metodo più efficace per stampare i dati.
La possibilità di controllare le dimensioni e l'aspetto di ogni elemento di un report
consente di mostrare le informazioni nel modo desiderato.
desiderato
Costruiamo un report per la stampa di un elenco studenti, raggruppati per provincia
di residenza e, nell’ambito del gruppo, ordinati per cognome.
Creiamo innanzitutto una q
queryy (residenza_studenti) che estrae i campi
p utili p
per la
stampa. Su tale query realizzeremo il report:
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
25
Stampa dei dati - 2
• Selezioniamo, nell’elenco degli oggetti, Report
• Facciamo doppio click su Crea un report mediante una creazione
guidata
Innanzitutto scegliamo in quale oggetto si
trovano i dati da stampare (tabella o query)
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
26
Stampa dei dati - 3
Scegliamo come visualizzare i dati, cioè
in base alla tabella studenti
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
27
Stampa dei dati - 4
Selezioniamo il campo in base al quale
ordinare le righe (nell’ambito della provincia).
Nel nostro caso cognome
Definiamo il layout di stampa
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
28
Stampa dei dati - 5
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri
29
Esercizi
• Creiamo i seguenti
g
report
p
basandoci,, a seconda del caso,, su una
tabella o su una query:
• Elenco studenti (cognome e nome) per facoltà,
facoltà ordinato per cognome
• Elenco studenti (cognome, nome e voto di diploma), ordinato in modo
d
decrescente
t per voto
t di di
diploma
l
e per cognome
• Elenco degli esami sostenuti (codice, descrizione, voto e data) per
singolo
i
l studente
d
((selezionato
l i
con una query parametrica
i che
h richiede
i hi d lla
matricola) ordinato per data esame
Corso di Informatica 2 – A.A. 2009/2010 – Dott. Andrea Silvestri