Esercitazioni di Sistemi
Informativi
Ing. Maurizio Vincini
[email protected]
Basi di Dati - Access
1
MS Access
Un DBMS relazionale per Windows
l
Quali DBMS in ambiente PC:
–
–
–
–
–
–
–
–
dBase (per windows)
FoxPro (per windows)
Access (per windows)
SQL Server (client/server)
Oracle (client/server)
Informix (client/server)
...
NB: client/server si riferisce a sistemi distribuiti in rete con
elaboratori più potenti che gestiscono i dati (server) e pc
collegati da cui gli utenti richiedono operazioni (client)
Basi di Dati - Access
2
Caratteristiche di MS Access
Interazione completamente a finestre
l Funzioni (vista utente):
l
–
–
–
–
–
–
l
creazione e consultazione di tabelle, interfaccia tabellare
interfaccia a schede personalizzabili (un record per volta)
interfaccia SQL
salvataggio e modifica di interrogazioni
generazione di report
multiutenza
Funzioni (vista sistema)
–
–
–
–
chiavi primarie e indici
valori nulli, regole di validità e domini di valori
gestione vincoli di integrità referenziale
programmazione
Basi di Dati - Access
3
Database
–
–
–
–
–
–
–
è un contenitore di tabelle, maschere, query, report, moduli,
macro
le tabelle contengono i dati, gli altri tipi di documenti
forniscono strumenti di accesso personalizzati
ogni strumento di accesso può essere generato
automaticamente in forma standard, poi modificato
secondo le esigenze
ogni strumento può essere usato o modificato
è possibile importare/esportare DB da/verso i dbms più
diffusi
i dati possono essere facilmente collegati ad altri strumenti
di ambiente windows (es: excel, word, ...)
dal punto di vista DOS è un unico file con estensione .MDB
Basi di Dati - Access
4
Finestra principale database
Basi di Dati - Access
5
Oggetti di un DB
l
tipi di oggetti:
–
–
–
–
–
–
tabelle: contenitori di dati (relazionali)
query: operazioni sui dati (di consultazione o modifica)
maschere: interfacce visuali per l’accesso ai dati
report: produzione di stampe
macro: sequenze di operazioni pre-registrate e rieseguibili
a comando
moduli: applicazioni programmate
ogni oggetto può essere creato, memorizzato,
utilizzato, modificato
l tramite tabelle, maschere e query si possono
anche modificare i dati
l
Basi di Dati - Access
6
Struttura di tabella
nomi, tipi e dimensioni
dei campi
l chiave primaria
l indici
l possibilità di duplicati
o di nulli
l valori di default
l regole di convalida
l messaggi di errore
l
Basi di Dati - Access
7
Relazioni
l
l
l
stabiliscono i vincoli di integrità referenziale
uno a uno e molti a molti
in caso di aggiornamento e cancellazione di un record
padre che ha figli si può:
–
–
richiedere l’aggiornamento
impedire l’operazione
Basi di Dati - Access
8
Consultazione di tabella
l
l
l
l
operazione di browse su tutta la tabella
possibilità di filtrare i dati con una regola di restrizione
possibilità di ordinamento
possibilità di aggiornare direttamente i dati
Basi di Dati - Access
9
Query
l
l
l
l
maschera di ausilio alla
formulazione di query
una query su più tabelle ha,
come predicati di join
automatici, le relazioni
definite sul DB
in assenza di relazioni
predefinite i predicati di
join si stabiliscono
graficamente come le
relazioni
è possibile definire ulteriori
predicati (criteri),
raggruppamenti o
ordinamenti
Basi di Dati - Access
10
Query - SQL
l
l
l
si può passare indifferentemente dalla formulazione
assistita alla formulazione SQL
la formulazione SQL ha maggiore potere espressivo, ma
è più complessa
il linguaggio SQL contiene numerose variazioni rispetto
allo standard (estensioni, modifiche e limitazioni)
Basi di Dati - Access
11
Query - risultato
l
l
l
l
una query produce una vista sui dati e può essere
manipolata come una tabella
le viste ottenute da query con raggruppamenti non sono
modificabili
le viste da query con join sono direttamente modificabili
i dati sono modificati sulle tabelle base
Basi di Dati - Access
12
Maschere
l
l
l
l
l
maschera di visualizzazione, aggiornamento e
inserimento
può essere generata automaticamente a partire dalla
struttura di una tabella o di una query
può essere personalizzata dal punto di vista sia grafico
che funzionale
menu a tendina, pulsanti di
opzione, procedure da associare ai
vari eventi (pressione del mouse
in un punto determinato, rilascio
del mouse, ...)
procedure di controllo per vincoli
di integrità
Basi di Dati - Access
13
Report
l
per la produzione di stampe
l
personalizzare le intestazioni
l
definire gruppi e sottogruppi
l
calcolare totali parziali sui gruppi
Basi di Dati - Access
14
Import / Export
l
è possibile importare o esportare dati con:
–
–
–
–
l
dBase
Excel
Lotus
Database SQL
è possibile esportare
–
–
intere tabelle
risultato di query
Basi di Dati - Access
15
Programmazione di applicazioni
visione a oggetti: ad ogni oggetto possono
essere collegate diverse funzioni da attivare al
verificarsi di eventi
l interfaccia principale fornita dalle maschere
l gli eventi sono forniti dalle interazioni
dell’utente con mouse e tastiera
l le funzioni sono scritte in Visual Basic
l Visual Basic è un linguaggio di
programmazione strutturata che interagisce
con gli oggetti del db
l con la programmazione si può ulteriormente
semplificare l’esecuzione dei vari compiti
l
Basi di Dati - Access
16
Creazione Database
l
l
l
l
Selezionare Nuovo database dal
menu File
Nella finestra Nuovo selezionare
l’icona Database vuoto nella
scheda Generale e confermare
con OK
Dalla finestra Salva nuovo
database assegnare un nome al
database da creare, scegliere la
cartella in cui di desidera salvare
il database e fare clic sul pulsante
Crea.
Esempio: studente.mdb
Basi di Dati - Access
17
Creazione Tabella 1
l
l
Dalla finestra Tabelle fare clic sul pulsante Nuovo per
visualizzare la finestra Nuova Tabella
Selezionare Visualizzazione struttura
Basi di Dati - Access
18
Creazione Tabella 2
l
Nella prima colonna digitare i nomi dei campi:
– la lunghezza massima di un campo nome è di 64 caratteri
– una tabella non può contenere due campi con lo stesso
nome
l
Nella colonna Tipo dati fare clic sul pulsante a freccia e
selezionare il tipo di dato corrispondente al campo creato:
– Testo, da 1 a 255 caratteri
– Memo, fino a 64.000 caratteri
– Numerico
– Data/Ora
– Valuta
– Contatore
– Si/No
Basi di Dati - Access
19
Creazione Tabella 3
l
Definizione campo chiave primaria:
– selezionare il campo (o i campi) che si desidera definire
come chiave primaria
– fare clic sullo strumento Chiave primaria
l
Salvare la tabella definita:
– Chiudere la tabella (selezionare Chiudi dal menu File)
– Nella finestra di dialogo Salva con nome, digitare il nome
della tabella e premere Invio.
Basi di Dati - Access
20
Immissione dei dati
l
Aprire la tabella in modalità Foglio Dati facendo doppio clic
sul suo nome oppure tramite il pulsante Apri.
Posizionarsi sull’ultimo record vuoto.
l
Digitare il contenuto del record.
l
Successivamente è possibile:
– Spostarsi all’interno della tabella tramite i tasti della
tastiera tramite mouse
– Selezionare e modificare il contenuto
– Eliminare un record
– Annullare le modifiche apportate
– Correggere gli errori di immissione
Basi di Dati - Access
21
Ordinamento
l
Ordinamento crescente o decrescente
– selezionare il campo su cui effettuare l’ordinamento
– selezionare Ordinamento crescente oppure decrescente
l
Ordinamento su più campi
– selezionare il comando Ordinamento/filtro avanzato dal
sottomenu Filtro del menu Record
– selezionare i campi sul quale effettuare l’ordinamento,
specificare il tipo di ordinamento per ciascun campo
– fare clic sullo strumento Applica filtro
Basi di Dati - Access
22
Personalizzazione della visualizzazione
Foglio dati
E’possibile:
l
modificare l’ampiezza della colonna
l
bloccare le colonne in modo che restino sempre visualizzate
l
modificare l’altezza di una riga
l
visualizzare o nascondere le linee della griglia
l
modificare il tipo di carattere
l
salvare le modifiche di visualizzazione (Salva layout)
Basi di Dati - Access
23
Le Maschere
l
consentono di visualizzare e gestire in modo
diverso i dati contenuti nelle tabelle
Creazione di una maschera
Visualizzare la scheda Maschere e selezionare
Nuovo.
l Si può utilizzare:
– funzione di autocomposizione
– modalità Visualizzazione Struttura
l
Basi di Dati - Access
24
Autocomposizione Maschera
Si seleziona il nome della tabella
l Si seleziona i campi della tabella
l Selezionare il formato di visualizzazione:
–a colonne
–tabulare
–foglio dati
l Specificare lo stile di visualizzazione
l Specificare il titolo
l
Basi di Dati - Access
25
Creazione maschera vuota
scegliere modalità visualizzazione struttura
l è possibile aggiungere:
l
– caselle di testo
– etichette
– altri controlli (pulsanti, casella di controllo, casella
combinata etc...)
la finestra di lavoro è costituita:
l area di lavoro
l strumenti
– barra degli strumenti
– righelli
– casella degli strumenti
Basi di Dati - Access
26
Sezioni di una maschera
Una maschera può essere suddivisa in cinque
sezioni:
–Intestazione maschera
–Intestazione pagina
–Corpo
–Piè di pagina pagina
–Piè di pagina maschera
l di default viene visualizzato solo il corpo
l è possibile modificare le dimensioni di
ciascuna sezione e specificare le proprietà
l
Basi di Dati - Access
27
Modifica proprietà di una
maschera
l
Seleziona la
maschera tramite il
comando Seleziona
del menu Modifica,
utilizzare lo
strumento
Proprietà per
visualizzare le
proprietà della
maschera.
Basi di Dati - Access
28
Controlli
l
Si suddividono i tre categorie
– Controllo associato: consente la visualizzazione,
l’aggiornamento e la modifica dei dati contenuti nel campo
– Controllo non associato: consente la visualizzazione di un
testo informativo o di altri elementi grafici come linee,
contorni e altre figure
– Controllo calcolato: consente di effettuare calcoli sulla base
di dati contenuti nella tabella.
Basi di Dati - Access
29
Casella degli strumenti 1
Seleziona oggetti
l Autocomposizione controllo
l Etichetta
l Casella di testo
l Gruppo di opzioni
l Interruttore
l Pulsante di opzione
l Casella di controllo
l Casella combinata
l Casella di riepilogo
l
Basi di Dati - Access
30
Casella degli strumenti 2
Pulsante di comando
l Immagine
l Cornice oggetto non associato
l Cornice oggetto associato
l Interruzione di pagina
l Sottomaschera/sottoreport
l Linea
l Rettangolo
l
Basi di Dati - Access
31
Creazione casella di testo
l
per creare una casella che visualizza il
contenuto di un campo:
– visualizzare l’elenco dei campi facendo clic sullo strumento
Elenco campi e poi trascinare il campo nella posizione
desiderata
l
per creare una casella di testo da utilizzare
come campo calcolato o come controllo
associato:
– fare clic sullo strumento Casella di testo e fare clic sul
punto in cui si vuole venga visualizzata l’angolo superiore
sinistro della casella.
Basi di Dati - Access
32
Relazioni tra tabelle
l
l
l
stabiliscono i vincoli di integrità referenziale
tabella primaria -> chiave primaria (primary key)
tabella correlata -> chiave esterna (foreign key)
chiave primaria
chiave esterna
Basi di Dati - Access
33
Tipi di Relazioni
l
Relazione uno-a-molti
– In una relazione uno-a-molti un record della tabella A può
avere molti record corrispondenti nella tabella B, ma un
record della tabella B non ha più di un record
corrispondente nella tabella A.
l
Relazione molti-a-molti
– In una relazione molti-a-molti un record della tabella A può
avere molti record corrispondenti nella tabella B e
viceversa. Ciò è possibile solo definendo una terza tabella,
chiamata tabella di congiunzione, la cui chiave primaria
consiste almeno di due campi, vale a dire le chiavi esterne
da entrambe le tabelle A e B.
l
Relazioni uno-a-uno
Basi di Dati - Access
34
Integrità referenziale
l
È possibile impostare l'integrità referenziale quando
vengono soddisfatte tutte le seguenti condizioni:
– Il campo corrispondente della tabella primaria è una chiave
primaria o dispone di un indice univoco.
– I campi correlati contengono lo stesso tipo di dati.
– Entrambe le tabelle appartengono allo stesso database di Microsoft
Access.
l
Quando viene applicata l'integrità referenziale, è
necessario osservare le seguenti regole:
– Non è possibile immettere un valore nel campo chiave esterna
della tabella correlata che non esiste nella chiave primaria della
tabella primaria.
– Non è possibile eliminare un record da una tabella primaria, se
esistono i record corrispondenti in una tabella correlata.
– Non è possibile modificare un valore chiave primaria nella tabella
primaria, se quel record dispone di record correlati.
Basi di Dati - Access
35
Definizione delle relazioni 1
l
l
l
l
Selezionare Relazioni dal menu Strumenti
Selezionare le tabelle desiderate e fare clic sul pulsante
Aggiungi.
Fare clic sul pulsante Chiudi.
Per definire una relazione fare clic sul campo comune
dalla parte a uno e trascinarlo sul campo corrispondente
dell’altra tabella (foreign key).
Basi di Dati - Access
36
Definizioni delle relazioni 2
E’ possibile specificare se
si desidera che vengano
automaticamente eseguite
in successione le
operazioni di eliminazione
ed aggiornamento per i
record correlati.
Se si impostano queste
opzioni, le operazioni di
eliminazione e di
aggiornamento, che di
solito sarebbero impedite
dalle regole sull'integrità
referenziale, vengono
consentite.
Basi di Dati - Access
37
Proprietà campi
E` possibile modificare le proprietà di ciascun campo
Basi di Dati - Access
38
Dimensione campo
campi testo: valore compreso tra 1 e 255
l campi numerici
tipo dato
valori
memoria (bytes)
--------------------------------------------------------------------------l
byte
intero
intero lungo
precisione singola
precisione doppia
Basi di Dati - Access
0 255
-32768 - 32765
-2147483648 2147483647
-3,402823E38 3,402823E38
7 cifre decimali
1,79769313486232E308
1,79769313486232E308
15 cifre decimali
1
2
4
4
8
39
Formato campi numerici
l
determina l’aspetto di visualizzazione di un
numero:
– numero generico
– valuta
– fisso
– standard
– percentuale
– scientifica
l
è possibile specificare un formato
personalizzato
Es. #.###,0; -#.###,0;0,0;”Nullo”
72354,657
-72354,857
0
Basi di Dati - Access
72.354,9
-72.354,9
0,0
Nullo
40
Formato Tipo Data/Ora
l
Esistono diversi formati
– Data generale
– Data estesa
– Data breve
– Data in cifre
– Ora estesa
– Ora breve 12h
– Ora breve 24h
l
04/03/93 17.34.00
sabato 3 aprile 1993
03/apr/93
04/03/93
17.34.23
5.34 PM
17.34
Formati personalizzati
– È possibile creare formati di data e ora personalizzati
utilizzando dei codici di definizione
Basi di Dati - Access
41
Formato campi di tipo si/no e
campi testi
l
sono disponibili i seguenti formati
– vero/falso
– si/no
– on/off
l
formato personalizzato per campi testo diviso
in due parti
– la prima specifica la visualizzazione del testo
– la seconda specifica il formato quando il campo è vuoto
@ è necessario un carattere di testo
& non è necessario un carattere di testo
< rende il testo minuscolo
> rende il testo maiuscolo
Basi di Dati - Access
42
Maschera di input e Etichetta
l
maschera di input
– consente di impostare un formato predefinito
– per creare una maschera di input tramite
autocomposizione selezionare la casella e fare clic sul
pulsante Genera
l
etichetta
–consente la definizione di un nome
alternativo come intestazione di colonna
nella visualizzazione Foglio dati.
Basi di Dati - Access
43
Valore predefinito
valore visualizzato automaticamente durante
l’immissione dei dati in un nuovo record
l come valore predefinito è possibile usare
un`espressione del tipo:
l
=1
=“MI”
=Null
=Date()
=DatePart(“m”, Date())
=Format(Date()
“gg-mm-aaaa”)
= Now()
= Time
Basi di Dati - Access
1
MI
valore nullo
data corrente
mese della data corrente
data nel formato specificato
data e ora corrente
ora corrente
44
Generatore di espressioni
consente di comporre un espressione come
valore predefinito
l selezionare la casella valore predefinito
l fare clic sul pulsante Genera
l è possibile selezionare
l
– funzioni
– costanti
– operatori
Basi di Dati - Access
45
Valido se
consente di definire un intervallo di valori
accettabili per un campo
l è possibile utilizzare delle espressioni come
combinazione di:
l
– operatori
– costanti
– funzioni
– campi
– proprietà
l
E’possibile utilizzare il generatore di
espressioni
Basi di Dati - Access
46
Messaggio errore - Richiesto
Messaggio errore: è possibile definire un
messaggio personalizzato quando un dato
immesso in un campo non soddisfa la regola di
convalida
l Richiesto: consente di impedire la
memorizzazione in un campo di un valore
nullo
l Consenti lunghezza zero: per distinguire tra i
valori nulli e stringhe a lunghezza zero
l
Basi di Dati - Access
47
Indicizzato
consente di definire un indice per rendere più
rapide le operazioni di ordinamento e ricerca
l l’indice può essere costituito da uno o più
campi
l Nel primo caso (un campo solo) selezionare la
proprietà Indicizzato, esistono tre opzioni:
l
– No
– Si (duplicati possibili)
– Si (duplicati impossibili
l
Nel secondo caso occorre usare lo strumento
Indici
Basi di Dati - Access
48
Valori Null
Campo che non contiene caratteri o valori. Un
campo Null è diverso da una stringa di
lunghezza zero ("") o da un campo contenente
un valore zero.
l Non è possibile immettere un valore Null per
una chiave primaria.
l Integrità referenziale: è possibile immettere un
valore Null nella chiave esterna, specificando
che i record non sono correlati.
l
Basi di Dati - Access
49
Espressioni
Un'espressione è un insieme di simboli che
producono un risultato.
l Un’espressione è costituita da una
combinazione di:
l
– operatori
– nomi di campi o di controlli (identificatori)
– valori alfanumerici
– costanti
– funzioni
Somma([Prezzo unitario] * [Quantità])*0,9
Basi di Dati - Access
50
Uso delle espressioni
Impostazione di una proprietà che definisce un
controllo calcolato, stabilisce una regola di
convalida imposta un valore di campo
predefinito.
l Immissione di un'espressione criterio,
creazione di un campo calcolato o
aggiornamento di record in una query o in un
filtro.
l Impostazione di una condizione per
l'esecuzione di un'azione o di una serie di
azioni in una macro o specifica di argomenti
per più azioni.
l
Basi di Dati - Access
51
Regole di immissione 1
l
Le espressioni prevedono i seguenti caratteri
di controllo:
[] prima e dopo nomi di maschere, report,
campi e
controlli.
# Prima e dopo le date.
“ Prima e dopo un testo.
l
Access inserisce automaticamente i caratteri
di controllo in alcuni casi (inserimento in una
tavola delle proprietà, in una cella di una
griglia QBE)
Basi di Dati - Access
52
Regole di immissione 2
l
nomi di campi o di controllo
[Prezzo unitario]
la parentesi è obbligatoria se il nome contiene spazi
bianchi ma è sempre consigliabile
Un numero può essere immesso direttamente
[Quantità] < 25
l Un testo deve essere tra virgolette
[settore] <> “Narrativa”
l Date e ore devono essere tra #
[Data] >#1/2/96#
l Costanti (Null, si, Vero, etc)
l
Basi di Dati - Access
53
Operatori
indicano il tipo di azione che deve essere
eseguita o il modo in cui devono essere
confrontati due valori
l operatori aritmetici (*, /, \, +, - , ^, MOD)
l operatori di concatenazione (&)
l operatori di confronto (>, >=,<,<=,=, <>)
l operatori logici (and, or, xor, not, eqv, imp)
l operatori vari (Between ... And, In, Is (null), Is
not (null), Like)
l
Basi di Dati - Access
54
Operatori di identificazione
indicano la relazione esistente tra gli elementi
di un identificatore
!
seguito dal nome di un elemento definito
dall’utente
.
è utilizzato per riferirsi a un nome di una
proprietà
l per specificare che un controllo o una
proprietà appartengono ad un oggetto è
possibile includere il nome di un oggetto
(Maschere, Report, Schermo)
Maschere![clienti]![codice cliente]
l
Basi di Dati - Access
55
Query
l
Esistono due tipi principali di query:
– query di selezione: consentono di ricercare, estrarre
dati contenuti in una o più tabelle;
– query di comando: consentono di modificare,
aggiornare, eliminare o aggiungere dati a una o più
tabelle
l
Esistono due modalità:
– QBE (Query By Example) : query tramite esempio
– SQL
l
l
si può passare indifferentemente dalla formulazione
assistita alla formulazione SQL
la formulazione SQL ha maggiore potere espressivo, ma
è più complessa
Basi di Dati - Access
56
QBE Query di selezione
Dalla finestra Query fare clic sul pulsante
nuovo e scegliere modalità visualizzazione
struttura
l Dalla finestra Mostra tabella scegliere le
tabelle desiderate
l
Basi di Dati - Access
57
Selezione dei campi
l
è possibile selezionare i campi in diverse
modalità:
– selezionare i campi dalla tabella e trascinarli su una
colonna della griglia
– selezionare il campo nella casella Campo della griglia QBE
– digitare il nome del campo nella casella Campo
l
per visualizzare tutti i campi è possibile
utilizzare l’asterisco
Basi di Dati - Access
58
Esecuzione di una query
Quando si salva una query viene salvata la
struttura della query
l E’possibile eseguire una query:
l
– dalla modalità visualizzazione struttura utilizzando lo
strumento Esegui o Visualizzazione Foglio Dati
– dalla scheda Query tramite il pulsante Apri oppure tramite
doppio clic sul nome della query
Basi di Dati - Access
59
Ordinamento di record
l
l’ordinamento può essere per diversi tipi:
– alfabetico per nome
– cronologico per data
– numerico per valore
l
per specificare l’ordinamento selezionare nella
casella Ordinamento sotto il nome del campo
selezionare il tipo:
– Crescente
– Decrescente
– Non ordinato
l
è possibile eseguire un ordinamento su più
campi specificando il tipo di ordinamento per
ciascun campo
Basi di Dati - Access
60
Criterio di ricerca
Specifica il criterio di selezione per ciascun
campo
l E’possibile usare il Generatore di espressioni
l Esistono diversi criteri
l
– ricerca di un valore specifico (Es. =“Milano”)
– ricerca di una parte di testo (Es. Like “A*”)
– ricerca di un testi all’interno di altri
(“*dei Cipressi*”)
– ricerca tramite Is Null/ Is Not Null
– ricerca di intervalli di date
(Between 1/1/98 And 31/3/98)
Basi di Dati - Access
61
Criteri di ricerca
l
E’possibile specificare diversi criteri con le
seguenti tecniche:
– per relazioni di tipo And tra diversi campi,
posizionare i criteri di ricerca sulla stessa riga della
griglia QBE
– per relaziondi di tipo Or tra diversi campi,
posizionare i criteri di ricerca su righe separate della
griglia QBE
– per specificare una relazione di tipo And in un
singolo campo utilizzare l’operatore And
– per specificare una relazione di tipo Or in un singolo
campo utilizzare l’operatore Or o In
Basi di Dati - Access
62
Calcoli
E’possibile inserire un campo calcolato nella
griglia QBE.
l Posizionarsi su un campo vuoto e digitarvi
un’espressione [Quantità] * [Prezzo unitario]
l Si puo’assegnare alla colonna un’intestazione
e poi utilizzare tale nome per effettuare altri
calcoli
Prezzo complessivo: [Quantità] * [Prezzo
unitario]
Prezzo con IVA: [Prezzo complessivo] * 1,04
l
Basi di Dati - Access
63
Utilizzare il linguaggio SQL
l
l
l
E’ possibile utilizzare direttamente l'istruzione SQL
sottostante una query dopo aver creato una query in
visualizzazione Struttura.
Fare clic sulla freccia accanto al pulsante delle
visualizzazioni sulla barra degli strumenti, quindi
scegliere Visualizzazione SQL.
Viene visualizzata l'istruzione SQL equivalente a quella
creata in visualizzazione Struttura.
– Se si desidera apportare delle modifiche, digitarle
nell'istruzione SQL.
– Per visualizzare le modifiche nella griglia di
struttura, fare clic sulla freccia accanto al pulsante
delle visualizzazioni sulla barra degli strumenti,
quindi fare clic su Visualizzazione Struttura.
Basi di Dati - Access
64
Utilizzo di SQL
l
E’necessario usare direttamente il linguaggio
SQL per:
– query di definizione dati: questo tipo di query crea o
modifica gli oggetti di database.
– query di unione: combina i campi o le colonne di una
o più tabelle in un campo o una colonna nei risultati
della query.
– sottoquery: questo tipo di query è costituito da
un'istruzione SQL SELECT all'interno di un'altra
query di selezione o di comando.
Basi di Dati - Access
65
Query di definizione Dati
Dopa aver creato una nuova query scegliere
Specifica SQL dal menu Query, quindi
scegliere Definizione dati.
l Immettere l'istruzione SQL per la query di
definizione dati.
l Access supporta i seguenti tipi di query:
l
– CREATE TABLE crea una tabella.
– ALTER TABLE aggiunge un nuovo campo o vincolo ad una
tabella esistente.
– DROP elimina una tabella da un database o rimuove un
indice da un campo o da un gruppo di campi.
– CREATE INDEX crea un indice per un campo o per un
gruppo di campi
Basi di Dati - Access
66
Query basate su più tabelle
Tramite la griglia QBE è possibile definire
query di Join
l Per definire le relazioni esistenti tra tabelle:
l
– se la relazione è già impostata, Access le unisce
automaticamente visualizzando una linea di Join
– se la relazione non è stata impostata, Access può creare
automaticamente un join utilizzando i campi comuni delle
tabelle
– è possibile impostare un join facendo clic sul nome del
campo che si desidera utilizzare in una tabella e trascinarlo
sul nome corrispondente dell’altra tabella
Basi di Dati - Access
67
Tipi di Join
per default access genera un equi-join
l per creare un join esterno (outer join)
– selezionare la linea di join da modificare e
fare doppio clic
– scegliere l’opzione desiderata:
l
» 1 - includi solo le righe in cui i campi collegati da
entrambe le tabelle sono uguali (INNER JOIN)
» 2 - includi tutti i record di tabella1 e solo i record
di tabella2 in cui i campi collegati sono uguali
(LEFT JOIN)
» 3 - includi tutti i record di tabella2 e solo i record
di tabella1 in cui i campi collegati sono uguali
(RIGHT JOIN)
Basi di Dati - Access
68
QBE vs SQL
è possibile utilizzare la modalità di
Autocomposizione ricerca dati non
corrispodenti per visualizzare i record privi di
corrispondenza
l per creare un self join occorre inserire due
copie della stessa tabella nella finestra di
query
l per altri tipi di query conviene usare
direttamente il linguaggio SQL (condizioni di
Join diverse da =, interrogazioni innestate,
subquery, etc..)
l
Basi di Dati - Access
69
Utilizzo di formule nelle query
Trascinare nella griglia QBE i campi sui quali
si desidera effettuare dei calcoli
l fare clic sullo strumento Formule: in tal modo
viene visualizzata una nuova riga denominata
Formula
l fare clic sul pulsante a freccia della cella
Formula e selezionare una delle opzioni:
l
– somma
– media
– min
– max
– conteggio
– etc.
Basi di Dati - Access
70
Calcoli basati su gruppi di record
Trascinare nella griglia QBE il campo sul
quale si desidera basare il raggruppamento
l selezionare l’opzione Raggruppamento nella
cella Formula
l se si includono diversi campi con l’opzione
raggruppamento, il gruppo è definito dalla loro
combinazione
l
Basi di Dati - Access
71
Criteri di ricerca per i campi impostati con
un operatore matematico
E’possibile specificare se applicare il criterio
prima o dopo che è stato effettuato il calcolo
l per selezionare i record in base al risultato del
calcolo e’sufficiente immettere il criterio di
ricerca nella cella Criteri in corrispondenza
del campo sul quale si effettua il calcolo
l per selezionare i record sui quali eseguire i
calcoli è necessario utilizzare l’opzione Dove
che agisce come filtro
l
Basi di Dati - Access
72
Visualizzazione de valori massimi
e minimi
E’possibile visualizzare i primi e gli ultimi
valori tra i record, secondo un intervallo
definito.
l Il campo contenente i valori da utilizzare per
l’ordinamento deve essere collocato nella
colonna piu’a sinistra della griglia
l selezionare l’ordinamento Decrescente o
Crescente
l nella casella Primi valori della tavola delle
proprietà della query immettere un valore
assoluto (ad esempio 3 per visualizzare i primi
3 valori) sia una percentuale (ad esempio 10%)
l
Basi di Dati - Access
73
Query per parametri
Una query con parametri è una query per la
quale durante l'esecuzione viene visualizzata
una finestra di dialogo in cui viene richiesto di
specificare il valore per i parametri (criteri).
l Nella visualizzazione Struttura della query,
trascinare i campi dall'elenco di campi alla
griglia di struttura della query.
l Nella cella Criteri, digitare una richiesta
racchiusa tra parentesi quadre per ciascun
campo che si desidera utilizzare come
parametro (diversa dal nome del campo).
l
Basi di Dati - Access
74
Query a campi incrociati
l
Una query a campi incrociati estrae valori di
riepilogo, come somme, conteggi e medie, da
un campo di una tabella e li raggruppa
visualizzandoli in un set di dati elencati sul
lato sinistro del foglio di dati e in un altro set
di dati elencato nella parte superiore del foglio
di dati.
Basi di Dati - Access
75
Query a campi incrociati
l
l
l
l
l
Fare clic sul pulsante Tipo di query sulla barra degli
strumenti, quindi scegliere Campi incrociati.
Fare clic sulla riga Campi incrociati, quindi su
Intestazione di riga per il campo o i campi i cui valori si
desidera vengano visualizzati come righe.
Fare clic sulla riga Campi incrociati, quindi su
Intestazione di colonna per il campo i cui valori si
desidera vengano visualizzati come intestazioni di
colonna.
Fare clic sulla riga Campi incrociati, quindi su Valore
per il campo di cui si desidera utilizzare i valori
nell'incrocio dei campi.
Nella riga Formula di questo campo, scegliere il tipo di
funzione di aggregazione desiderato per l'incrocio dei
campi, ad esempio Somma, Media o Conteggio.
Basi di Dati - Access
76
Query di comando
Consentono di modificare o eliminare i dati
l esistono quattro diversi tipi:
–query di creazione tabella
–query di eliminazione
–query di aggiornamento
–query di accodamento
l
Basi di Dati - Access
77
Query di creazione tabella
Scegliere tramite lo strumento Tipo di query la
query di tipo Creazione tabella. Verrà
visualizzata la finestra di dialogo Creazione
tabella.
l Nella casella Nome tabella, digitare il nome
della tabella che si desidera creare o scegliere
il nome della tabella che si desidera sostituire.
l Scegliere Database corrente o Altro database
l Trascinare i campi che si desidera inserire
nella nuova tabella dall'elenco campi alla
griglia di struttura della query.
l Digitare i criteri nella cella Criteri dei campi
che sono stati trascinati sulla griglia.
l
Basi di Dati - Access
78
Query di eliminazione
l
l
l
l
l
l
Scegliere tramite lo strumento Tipo di query la query di
tipo Query di eliminazione.
Dalle tabelle da cui si desidera eliminare dei record,
trascinare l'asterisco (*) dall'elenco campi alla griglia di
struttura della query.
Nella cella Elimina presente sotto questi campi viene
visualizzato Da
Per specificare dei criteri per l'eliminazione dei record,
trascinare sulla griglia di struttura i campi sui quali si
desidera impostare dei criteri.
Nella cella Elimina presente sotto questi campi viene
visualizzato Dove, come mostrato nell'illustrazione
seguente.
Digitare i criteri nella cella Criteri dei campi che sono
stati trascinati sulla griglia.
Basi di Dati - Access
79
Query di aggiornamento
Scegliere tramite lo strumento Tipo di query la
query di tipo Query di aggiornamento.
l Trascinare dall'elenco campi sulla griglia di
struttura della query i campi che si desidera
aggiornare o per i quali si desidera specificare
dei criteri.
l Nella cella Criteri, specificare i criteri se
necessario.
l Nella cella Aggiorna a dei campi che si
desidera aggiornare, digitare l'espressione o il
valore che si desidera utilizzare per modificare
i campi.
l
Basi di Dati - Access
80
Query di accodamento
l
l
l
l
l
l
Scegliere tramite lo strumento Tipo di query la query di
tipo Query di accodamento.
Nella casella Nome tabella, digitare il nome della tabella
alla quale si desidera accodare dei record.
Scegliere Database corrente o Altro database
Trascinare dall'elenco campi sulla griglia di struttura
della query i campi che si desidera accodare ed i campi
che si desidera utilizzare per l'impostazione dei criteri.
Se i campi selezionati hanno lo stesso nome in entrambe
le tabelle, in Microsoft Access viene automaticamente
inserito il nome corrispondente nella riga Accoda a. Se i
campi contenuti nelle due tabelle non hanno lo stesso
nome, nella riga Accoda a, immettere nella tabella i
nomi dei campi.
Nella cella Criteri dei campi che sono stati trascinati
sulla griglia, digitare i criteri in base ai quali verranno
effettuate le aggiunte.
Basi di Dati - Access
81
Esempio
Studente (matricola, nome, cognome,note)
Professore(codiceProf, nome, cognome)
Esame (codiceEsame,titolo,codiceProf)
FOREIGN KEY (codiceProf) REFERENCES Professore(codiceProf)
EsameSostenuto (matricola, codiceEsame,voto, data)
FOREIGN KEY (matricola) REFERENCES Studente(matricola)
FOREIGN KEY (codiceEsame) REFERENCES Esame(codiceEsame)
Basi di Dati - Access
82
Esempio: creazione tabella 1
CREATE TABLE STUDENTI
(
MATRICOLA INTEGER,
NOME text(30) NOT NULL,
COGNOME text(30) NOT NULL,
NOTE_STUDENTE memo,
CONSTRAINT pk_studenti PRIMARY KEY(MATRICOLA)
);
CREATE TABLE PROFESSORI
(
CODICEPROF INTEGER,
NOME text(30) NOT NULL,
COGNOME text(30) NOT NULL,
CONSTRAINT pk_professori PRIMARY KEY(CODICEPROF)
);
Basi di Dati - Access
83
Esempio: creazione tabella 2
CREATE TABLE ESAMI
(
CODICEESAME INTEGER,
TITOLO text(30) NOT NULL,
CODICEPROF INTEGER,
CONSTRAINT pk_esame PRIMARY KEY(CODICEESAME),
CONSTRAINT fk_esame FOREIGN KEY (CODICEPROF)
REFERENCES
PROFESSORI(CODICEPROF)
);
Basi di Dati - Access
84
Esempio: creazione tabella 3
CREATE TABLE ESAMISOSTENUTI
(
MATRICOLA INTEGER,
CODICEESAME INTEGER,
VOTO SMALLINT,
DATAESAME DATE NOT NULL,
CONSTRAINT pk_esamisostenuti PRIMARY
KEY(MATRICOLA,CODICEESAME),
CONSTRAINT fk_esami1 FOREIGN KEY (MATRICOLA)
REFERENCES STUDENTI(MATRICOLA),
CONSTRAINT fk_esami2 FOREIGN KEY (CODICEESAME)
REFERENCES ESAMI(CODICEESAME)
);
Basi di Dati - Access
85
Maschere basate su più tabelle
Esistono tre modalità:
• basare la maschere su una query
• selezionare campi di diverse tabelle tramite la
procedura di autocomposizione tabella
• creare una sottomaschera che consente di
visualizzare la relazione esistente tra i record di
diverse tabelle
Basi di Dati - Access
86
Sottomaschera
• vengono usate soprattutto per visualizzare i record
contenuti in tabelle collegate con relazioni del tipo
uno a molti
• è possibile crearle con la modalità di
autocomposizione:
– creare la maschera principale
– utilizzare lo strumento Sottomaschera/Sottoreport per
creare la sottomaschera sulla griglia della maschera
principale
Basi di Dati - Access
87
Creazione di una sottomaschera
Creare la maschera principale
l creare la sottomaschera
l riaprire la maschera principale in
visualizzazione struttura
l trascinare dalla finestra di database il nome
della sottomaschera sulla griglia della
maschera principale
l verificare che nella tavola delle proprietà della
sottomaschera le proprietà Collega campi
secondari e Collega campi master contengano i
campi che collegamo la maschera principale e
la sottomaschera
l
Basi di Dati - Access
88
Proprietà maschera
E’possibile:
l Assegnare un valore predefinito ad un
controllo
l Creare una regola di convalida per un
controllo
l Creare una maschera di input per un controllo
l Disattivare un controllo in visualizzazione
Maschera oppure rendere i dati di un controllo
di sola lettura
l Specificare se un utente può aggiungere,
eliminare, modificare i record salvati con una
maschera
Basi di Dati - Access
89
Macro
Una macro è un’istruzione che consente di
eseguire automaticamente una o piú
operazioni (azioni)
l Le macro possono essere usate:
l
– ricerca dati
– verifica dei dati immessi
– impostare proprietá di oggetti
– utilizzare piú maschere contemporaneamente
– collegare maschere con report
– trasferire dati
– applicazioni personalizzate
Basi di Dati - Access
90
Creazione di una macro
l
Dalla finestra macro selezionare il pulsante
nuovo.
La sezione
Argomento azione
consente di
impostare gli
argomenti delle
azioni immesse nella
colonna Azione
Basi di Dati - Access
91
Le azioni
Le azioni sono istruzioni che indicano quali
operazioni compiere
l Possono essere aggiunte in due modi
l
– trascinando il nome dell’oggetto dalla finestra di database
in una cella della colonna Azione
– fare clic su una cella della colonna Azione e selezionare
un’azione dall’elenco visualizzato
l
Nel primo caso gli argomenti vengono
impostati automaticamente, nel secondo caso è
necessario impostare gli argomenti dell’azione
Basi di Dati - Access
92
Esecuzione di una macro
l
E’possibile eseguire una macro:
– dalla finestra macro tramite lo strumento Esegui
– dalla finestra di database facendo doppio clic sul nome
della macro o usando il bottone Esegui
– da un’altra finestra selezionando Macro… dal menu
Strumenti e specificando il nome della macro
– all’interno di un’altra macro tramite l’azione EseguiMacro
– in conseguenza di un evento che si verifica in una
maschera o in un report
Basi di Dati - Access
93
Macro condizionate
Consente di eseguire una macro solo se si
verifica una determinata condizione
l Per aggiungere una consizione ad una macro:
l
– aprire la macro in modalitá struttura
– visualizzare la colonna Condizione facendo clic sullo
strumento corrispondente
– digitare nella colonna Condizione in corrispondenza
dell’azione che si desidera condizionare, l’espressione
logica che determina la condizione
– se si desidera porre un’unica condizione per diverse azioni,
si immettano dei puntini di sospensione (… .) nella colonna
Condizione accanto a ciascuna azione da eseguire nel caso
la condizione risulti vera
Basi di Dati - Access
94
Risposta ad eventi di una
maschera
E’possibile creare uno o più macro, le quali
rispondono a particolari eventi che si possono
verificare durante l’utilizzo di una maschera
l Aprire la maschera in visualizzazione
struttura
l Visualizzare le tavole delle proprietá
l Fare clic sulla proprietá relativa all’evento al
quale si desidera che la macro risponda e
selezionare il nome della macro oppure
generare una nuova macro tramite il pulsante
Genera
l
Basi di Dati - Access
95
Risposta agli eventi relativi ai
singoli controlli
Una macro puó essere collegata ai singoli
controlli di una maschera.
l Aprire la maschera in visualizzazione
struttura
l Selezionare il controllo
l Aprire la tavola delle proprietá
l Fare clic sulla proprietá relativa all’evento e
selezionare o generare la macro
l
Basi di Dati - Access
96
Debug di un macro
l
l
l
l
l
l
E’possibile controllare ogni singola azione per
verificare i risultati di ciascuna (modalitá passo a passo)
Aprire la finestra Macro corrispondente alla macro da
controllare
Fare clic sullo strumento Passo a passo
Eseguire la macro utilizzando le normali procedure
In tal modo viene visualizzata la finestra di dialogo
Macro passo a passo che contiene la descrizione
dell’azione da eseguire e tre bottoni:
Passo: esegue l’azione, se l’azione non è corretta viene
visualizzato un messaggio di avviso
– Arresta: arresta l’esecuzione della macro
– Continua: disattiva la modalitá Passo a Passo
Basi di Dati - Access
97
Report
Un report è una presentazione di dati,
provenienti da una o più tabelle, formattata e
stampata.
l Può essere basato su una tabella o su una
query
l può essere utilizzato per una stampa dei dati,
ma non per la loro immissione o modifica
l
Basi di Dati - Access
98
Creazione di un report
Esistono tre modalità:
l Creazione tramite la funzione Report Standard
– formato a colonne
– formato tabulare
l
Creazione tramite autocomposizione
– selezione dei campi
– livello di raggruppamento dati
– tipo di ordinamento
– layout e stile
l
Creazione report vuoto
Basi di Dati - Access
99
Finestra di struttura di un report
È simile a quella di una maschera
l È suddiviss in sezioni:
l
– Intestazione report
– Intestazione pagina
– Intestazione nome_raggruppamento
– Corpo
– Piè di pagina nome_raggruppamento
– Piè di pagina pagina
– Piè di pagina report
l
il testo e i dati sono rappresentati da controlli
che possono essere creati utilizzando gli
strumenti corrispondenti della casella
strumenti
Basi di Dati - Access
100
Ordinamento e raggruppamento
dei dati
Si può impostare:
l Tramite la procedura di autocomposizione
selezionando il campo secondo il quale si
desidera raggruppare i record
l Direttamente nella struttura del report
– fare clic sullo strumento Ordinamento e raggruppamento
della barra degli strumenti
– selezionare il campo su cui basare l’ordinamento o il
raggruppamento
– selezionare il criterio di ordinamento
– se si vuole usare il campo per il raggruppamento e avere
un’intestazione di gruppo modificare in Si la proprietà
Intestazione (gruppo)
– se si vuole usare il campo per il raggruppamento e si vuole
avere un piè di pagina di gruppo, modificare in Si la
proprietà Piè pagina (gruppo)
Basi di Dati - Access
101
Calcoli in un report
Dalla finestra si struttura inserire una casella
di testo standard non associata
l Per immettere un’espressione:
l
– digitare l’espressione nella casella iniziando con il segno
uguale (=), oppure
– aprire la tavola delle proprietà e digitare l’espressione
nella propietà Origine controllo o utilizzare il generatore di
espressioni
l
se si colloca il campo calcolato in una sezione
relativa ad un gruppo il calcolo si riferisce al
gruppo, se lo si colloca in una sezione relativa
al report il calcolo si riferisce a tutti i record,
se lo si colloca nella sezione Corpo, il calcolo si
basa solo sul record
Basi di Dati - Access
102
Aggiunta di numeri di pagina e
date
Si possono utilizzare:
l le funzioni =Date() o =Now() =Pagina in un
controllo calcolato;
l utilizzare i comandi del menu Inserisci
– Numeri di pagina…
– Data e ora...
Basi di Dati - Access
103