Download Titolo presentazione corso di formazione

Document related concepts
no text concepts found
Transcript
- Modulo 5 Database
Prof. Lorenzo Cassarisi
Cap. 1: Nozioni Preliminari
- Dalla carta al database Se si ha bisogno di archiviare i propri
dischi, oppure di gestire entrate e uscite di
un magazzino, o ancora di catalogare i
libri di una biblioteca, o di gestire l'elenco
docenti per ottenere consigli di classe,
cattedre e quant'altro, allora si ha bisogno
di un DATABASE.
22/05/2017
Modulo 5: Database
2
Cap. 1: Nozioni Preliminari
- Dalla carta al database Un Database è un insieme
ordinato di archivi, strutture e
procedure che consentono la
gestione (inserimento, modifica,
ricerca e cancellazione) di una
serie di informazioni.
22/05/2017
Modulo 5: Database
3
Cap. 1: Nozioni Preliminari
- Dalla carta al database La progettazione di un database
dovrà essere effettuata in modo che
non si presentino problemi di
reperimento delle informazioni, di
ampliamento della base dati e di
ristrutturazione dello schema.
22/05/2017
Modulo 5: Database
4
Cap. 1: Nozioni Preliminari
- Dalla carta al database Lo scopo è ottenuto disegnando
con oculatezza i vari archivi che
compongono
il
database
e
studiando i legami fra di essi in
modo da ottimizzare le successive
procedure di gestione.
22/05/2017
Modulo 5: Database
5
Cap. 1: Nozioni Preliminari
- Dalla carta al database Esistono due metodologie che
supportano tale processo:
1. modello relazionale
(sviluppato
nel 1969 dal matematico Codd);
2. modello Entità/Relazione (E/R);
22/05/2017
Modulo 5: Database
6
Cap. 1: Nozioni Preliminari
- Database relazionale Il database può essere pensato
come una serie di tabelle, ognuna
delle quali contiene informazioni
omogenee.
22/05/2017
Modulo 5: Database
7
Cap. 1: Nozioni Preliminari
- Database relazionale Un database si dice RELAZIONALE
se i dati non sono memorizzati in
un’unica grande tabella, ma in più
tabelle tutte in relazione tra di loro.
 Le informazioni di diverse tabelle
possono essere unite ed è possibile
eseguire ricerche in più tabelle
contemporaneamente.
22/05/2017
Modulo 5: Database
8
Cap. 1: Nozioni Preliminari
- Database relazionale Excel spesso viene usato anche per
gestire elenchi, ma in molte
situazioni non è all’altezza del
compito.
In questi casi bisogna utilizzare un
vero database.
22/05/2017
Modulo 5: Database
9
Cap. 1: Nozioni Preliminari
- Database relazionale 


I database sono più sicuri: excel, per
esempio, lavora interamente in memoria.
In caso di blocco del computer, tutti i dati
non salvati andrebbero persi;
I database possono gestire una maggiore
quantità di dati. Excel può gestire in teoria
65.000 righe ma, una quantità di dati di
questo tipo potrebbe rendere lentissimo
anche il computer più potente;
Nei database si possono utilizzare le
relazioni tra tabelle.
22/05/2017
Modulo 5: Database
10
Cap. 1: Nozioni Preliminari
- Database relazionale Access è composto da oggetti che
consentono di inserire, modificare, gestire
e stampare i dati:
 Tabelle
 Query
 Maschere
 Report
 Macro
 Modulo
22/05/2017
Modulo 5: Database
11
Cap. 1: Nozioni Preliminari
- Le tabelle Le tabelle sono strutture fondamentali in un database
di access perché memorizzano i dati che si devono
gestire.
All’interno di una tabella, i dati sono organizzati in
campi (colonne) e record (righe):
In una tabella è possibile
inserire,
modificare,
memorizzare e ricercare
informazioni.
22/05/2017
Modulo 5: Database
12
Cap. 1: Nozioni Preliminari
- Le tabelle Campi
Un campo è uno spazio nel database che
contiene un'unità di informazione, come un
nome, un numero di telefono, una data.
Quando si crea un database è necessario
includere un campo per ogni categoria di dati
a cui si è interessati. Per esempio campo
cognome; in esso nella colonna verranno
messi tutti i cognomi.
22/05/2017
Modulo 5: Database
13
Cap. 1: Nozioni Preliminari
- Le tabelle Record
Un record è costituito da un insieme di campi
riferiti a un singolo soggetto. In un database
che raccoglie i dati dei clienti, per esempio,
tutte le informazioni relative a uno stesso
cliente sono registrate in un record. Per
esempio cognome, nome, indirizzo, città etc.
dello stesso individuo sono tutti i campi che
costituiscono un record.
22/05/2017
Modulo 5: Database
14
Cap. 1: Nozioni Preliminari
- Le tabelle I campi comuni alle diverse tabelle sono definiti
campi chiave.
Essi possono essere definiti elementi di intersezione
tra i diversi insiemi di dati, che consentono all’utente
di creare sottoinsiemi sempre diversi, rispondenti alle
proprie esigenze di ricerca e assemblaggio dei dati.
Tutti i campi chiave sono dotati di una ulteriore
proprietà: sono campi indicizzati.
22/05/2017
Modulo 5: Database
15
Cap. 1: Nozioni Preliminari
- Le maschere Le maschere consentono di visualizzare e immettere
dati secondo un formato conveniente, simile a quello
dei moduli di compilazione su carta.
Le maschere consentono di introdurre, visualizzare e
modificare dati.
E’ possibile utilizzare una maschera come alternativa
alla visualizzazione dei dati in righe e colonne.
22/05/2017
Modulo 5: Database
16
Cap. 1: Nozioni Preliminari
- Le query La query è uno strumento con il quale si possono
“interrogare” i dati contenuti nelle tabelle e eseguire
azioni specifiche sui dati stessi.
Le query possono, inoltre,
consentire di modificare,
eliminare o aggiungere
consistenti quantità di dati
in un solo passo.
Quando si esegue una
query, appare un insieme
selezionato
di
record:
Recordset.
22/05/2017
Modulo 5: Database
17
Cap. 1: Nozioni Preliminari
- I Report I report consentono di stampare o visualizzare in
anteprima, dati secondo un formato specifico.
Essi possono presentare anche i risultati delle query
in un formato facilmente comprensibile.
22/05/2017
Modulo 5: Database
18
Cap. 1: Nozioni Preliminari
- Macro La macro è un insieme di comandi Access che può
essere ripetuto per automatizzare alcune funzioni del
database.
22/05/2017
Modulo 5: Database
19
Cap. 1: Nozioni Preliminari
- Modulo I moduli, come le macro, consentono di
automatizzare
alcune
funzioni
di
Access.
Diversamente dalle macro, essi forniscono un
controllo più preciso sulle azioni da eseguire e
richiedono un’esperienza di programmazione.
22/05/2017
Modulo 5: Database
20
Cap. 2: Normalizzare un database
- Progettazione L’utilizzo di un insieme di tabelle mal disegnate ha
come effetto indesiderato il fenomeno della
ridondanza: la memorizzazione ripetuta della
medesima informazione nella stessa tabella ed in
tabelle differenti.
Tale fenomeno, oltre ad incrementare lo spazio
occupato complessivamente dal database, è causa di
una serie di anomalie nell’esecuzione delle
operazioni di:
1.
Inserimento
2.
Cancellazione
3.
Modifica dei record.
22/05/2017
Modulo 5: Database
21
Cap. 2: Normalizzare un database
- Schema relazionale Il processo di normalizzazione di uno schema
relazionale è la trasformazione di uno schema
generico in uno schema in cui la ridondanza sia
ridotta al minimo ed in ogni caso gestita in modo
controllato.
La normalizzazione nel modello relazionale consiste
in una serie di raffinamenti successivi dello schema
del database.
22/05/2017
Modulo 5: Database
22
Cap. 2: Normalizzare un database
- Forma normale L’obiettivo di ognuno di tali raffinamenti è il
raggiungimento di una “forma normale”, ossia un
disegno dello schema che, sottostando ad una serie
di vincoli, riduca o elimini la possibilità di anomalie.
Le forme normali sono ordinate gerarchicamente a
partire dalla prima fino alla quinta forma normale.
Ogni forma normale è ottenuta imponendo vincoli
aggiuntivi alla forma normale precedente.
Ciò significa che, ad esempio, la terza forma normale
è ottenuta a partire da uno schema in seconda forma
normale al quale è imposto un vincolo aggiuntivo.
22/05/2017
Modulo 5: Database
23
Cap. 2: Normalizzare un database
- Forma normale Affinché un DB risulti normalizzato è
necessario che tutte le sue relazioni siano:
in prima forma normale;
 in seconda forma normale;
 in terza forma normale.

(devono, cioè, soddisfare ai requisiti che
tali forme richiedono)
22/05/2017
Modulo 5: Database
24
Cap. 2: Normalizzare un database
- Prima Forma normale “Una relazione è in Prima Forma
Normale (1NF) se tutti i suoi campi
contengono i valori atomici” cioè non
scomponibili in elementi più semplici.
22/05/2017
Modulo 5: Database
25
Cap. 2: Normalizzare un database
- Prima Forma normale Problema 1
Consideriamo il campo Telefono della tabella
Fornitori; esso potrà contenere anche più numeri
telefonici relativi all’azienda considerata.
Il valore contenuto in tale campo non è dunque
atomico e la tabella non è in 1NF.
Nome Società
Indirizzo
Telefono
Fax
Baudo spa
C.so Italia
095 123456
095 654321
095 121212
Fiat spa
Via Roma
011 454545
011 454544
22/05/2017srl
Aria
Modulo 5: Database
Via del Lavoro
02 12123434
02 123456726
Cap. 2: Normalizzare un database
- Prima Forma normale Soluzione (errata) al problema 1
Nome
Società
Indirizzo
Telefono 1
Telefono 2
Fax
095
654321
095
121212
Baudo
spa
C.so Italia
095
123456
Fiat spa
Via Roma
011
454545
011
454544
Aria srl
Via del
Lavoro
02
12123434
02
1234567
22/05/2017
Modulo 5: Database
27
Cap. 2: Normalizzare un database
- Prima Forma normale Soluzione (errata) al problema 1
Nome Società
Indirizzo
Telefono
Fax
Baudo spa
C.so Italia
095 123456
095 121212
Baudo spa
C.so Italia
095 654321
095 121212
Fiat spa
Via Roma
011 454545
011 454544
Aria srl
Via del Lavoro 02 12123434
22/05/2017
Modulo 5: Database
02 1234567
28
Cap. 2: Normalizzare un database
- Prima Forma normale Soluzione corretta
La soluzione corretta è quella di creare una
nuova tabella Telefono in relazione uno a molti
con la tabella Fornitori.
In tal modo, viene garantita:
la possibilità di inserire nuovi numeri telefonici;
2. viene evitata la duplicazione delle informazioni.
1.
22/05/2017
Modulo 5: Database
29
Cap. 2: Normalizzare un database
- Prima Forma normale Soluzione corretta
Il procedimento che “risolve” le tabelle che non si
trovano in 1NF è il seguente:
eliminare il campo non atomico dalla relazione
di origine;
2. creare una nuova tabella con il nome del
campo eliminato;
3. inserire in questa nuova tabella, una nuova
colonna per ospitare la chiave esterna legata alla
tabella originale.
1.
22/05/2017
Modulo 5: Database
30
Cap. 2: Normalizzare un database
- Prima Forma normale Soluzione – traduzione in tabelle
Nome Società
Indirizzo
Fax
Baudo spa
C.so Italia
095 121212
Fiat spa
Via Roma
011 454544
Aria srl
Via del Lavoro
02 1234567
Id telefono
Telefono
1
095 123456
Baudo spa
2
095 654321
Baudo spa
3
011 454545
Fiat spa
4
22/05/2017
Nome Società
5: Database
02 12123434Modulo Aria
srl
31
Cap. 2: Normalizzare un database
- Seconda Forma normale Dipendenza funzionale
Y dipende funzionalmente da X se, ogni volta che si
ripetono dei valori in X, si hanno valori ripetuti anche
in Y.
Esempio: Tabella con attributi Città e Regione.
Regione dipende funzionalmente da Città
Nome Società
Indirizzo
Città
Regione
Baudo spa
C.so Italia
Catania
Sicilia
Fiat spa
Via Roma
Torino
Piemonte
22/05/2017srl
Aria
Modulo 5: Database Milano
Via del Lavoro
Lombardia 32
Cap. 2: Normalizzare un database
- Seconda Forma normale Dipendenza funzionale
Per eliminare le dipendenze funzionali, si deve creare
una nuova tabella con tutti gli attributi che sono in
rapporto di dipendenza funzionale.
Nome
Società
Indirizzo
Città
Baudo spa C.so Italia
Città
Regione
Catania
Catania
Sicilia
Fiat spa
Via Roma
Torino
Torino
Piemonte
Aria srl
Via del Lavoro
Milano
Milano
Lombardia
22/05/2017
Modulo 5: Database
33
Cap. 2: Normalizzare un database
- Normalizzazione L’effetto più evidente della normalizzazione è quello di
ottenere molte tabelle “piccole” (contenenti cioè
pochi campi) partendo da poche tabelle “grandi”.
L’effetto pratico è quello di eliminare le anomalie di:
aggiornamento;
 inserimento;
 cancellazione.

L’output della normalizzazione consiste in una serie di
relazioni che sono finalmente “pronte” per essere
implementate all’interno di Access.
22/05/2017
Modulo 5: Database
34
Cap. 3: Le Tabelle
- Tipi di dati TESTO


Può contenere una qualunque combinazione di
lettere, numeri, segni di punteggiatura e spazi.
L’ampiezza standard è 50 caratteri e la
lunghezza massima è 255.
22/05/2017
Modulo 5: Database
35
Cap. 3: Le Tabelle
- Tipi di dati MEMO


E’ simile ad un campo Testo, tranne nel fatto
che un campo Memo può contenere fino a
65535 caratteri.
Possiamo utilizzare i campi Memo nel
database per le note o le descrizioni lunghe.
22/05/2017
Modulo 5: Database
36
Cap. 3: Le Tabelle
- Tipi di dati NUMERICO



Si utilizza il campo Numerico solo quando si
vogliono eseguire calcoli utilizzando i valori dei
campi.
Per esempio, anche se codici postali e numeri
telefonici sono composti da caratteri numerici,
non vengono utilizzati per calcoli, perciò, non
dovrebbero essere campi Numerici.
Può contenere: caratteri numerici, un punto
(migliaia), una virgola (decimali), trattino
(numeri negativi).
22/05/2017
Modulo 5: Database
37
Cap. 3: Le Tabelle
- Tipi di dati DATA/ORA



Contiene una data e/o un’ora.
Access esegue una convalida del dato,
verificando che si tratti di una data/ora valida.
I campi Data/Ora sono utili per eseguire calcoli
su date e ore.
22/05/2017
Modulo 5: Database
38
Cap. 3: Le Tabelle
- Tipi di dati VALUTA



Simile ad un campo Numerico.
I valori possono avere solo quattro cifre
decimali.
Viene inserito automaticamente il simbolo della
valuta ed il separatore delle migliaia.
22/05/2017
Modulo 5: Database
39
Cap. 3: Le Tabelle
- Tipi di dati CONTATORE


Access assegna automaticamente, ad ogni
record, un numero univoco progressivo a
partire da 1.
I valori non si possono aggiungere o modificare
manualmente.
22/05/2017
Modulo 5: Database
40
Cap. 3: Le Tabelle
- Tipi di dati SI/NO

Si usa se il campo in questione può assumere
solo due possibilità.
22/05/2017
Modulo 5: Database
41
Cap. 3: Le Tabelle
- Tipi di dati OGGETTO OLE


E’ un collegamento ad un’altra applicazione
Windows.
Si utilizza per inserire un oggetto grafico, fogli
elettronici, file sonori,…..
22/05/2017
Modulo 5: Database
42
Cap. 3: Le Tabelle
- Tipi di dati COLLEGAMENTO IPERTESTUALE

Un campo di questo tipo, contiene un
collegamento a qualunque documento o a una
maschera all’interno del DB.
22/05/2017
Modulo 5: Database
43
Cap. 3: Le Tabelle
- Tipi di dati AUTOCOMPOSIZIONE RICERCA


Contiene una lista di valori selezionati da
un’altra tabella o una lista di valori forniti da
noi.
Successivamente, durante l’inserimento, sarà
possibile scegliere i valori della lista per ridurre
l’introduzione dati ripetitiva.
22/05/2017
Modulo 5: Database
44
Cap. 3: Le Tabelle
- Chiave primaria Access lavora in maniera più efficiente se si specifica
una chiave primaria per la tabella.
 La chiave primaria è un campo che identifica in
maniera univoca ogni record;
 La chiave primaria è indicizzata in maniera
automatica in modo da velocizzare la ricerca dei
record;
 Quando si apre una tabella, i record sono ordinati
secondo la chiave primaria;
 La chiave primaria impedisce l’inserimento di dati
duplicati (non può ammettere valori Null).
22/05/2017
Modulo 5: Database
45
Cap. 3: Le Tabelle
- Come creare una tabella Esempio
Supponiamo di voler creare un semplice
database per gestire un magazzino per il solo
carico e scarico degli articoli. Il database deve
contenere l'elenco degli articoli immagazzinati
con i dettagli di nome, prezzo, fornitore etc.,
l'elenco dei fornitori con i dettagli di nome,
indirizzo, città etc., infine la tabella più importante
sarà quella che contiene le operazioni quotidiane
di carico o scarico di una serie di articoli con la
data e tutti i riferimenti necessari.
22/05/2017
Modulo 5: Database
46
Cap. 3: Le Tabelle
- Come creare una tabella Esempio
Progettazione:
1.
2.
3.
quante e quali tabelle creare?
quali campi devono contenere?
quali devono essere le relazioni fra loro in modo
da rendere automatica la gestione?
22/05/2017
Modulo 5: Database
47
Cap. 3: Le Tabelle
- Come creare una tabella Esempio
Possibile soluzione:
2.
tabella che contiene le operazioni (la chiameremo
Operazioni);
tabella degli articoli (la chiameremo Articoli);
3.
tabella dei fornitori (la chiameremo Fornitori).
1.
22/05/2017
Modulo 5: Database
48
Cap. 3: Le Tabelle
- Come creare una tabella Esempio
Possibile soluzione:
Nelle tabelle metteremo i campi essenziali
e quelli indispensabili per le relazioni, cioè i
campi che collegano l'elenco articoli di una
operazione alla operazione relativa e i
campi che collegano gli articoli alle tabelle
articoli e fornitori.
22/05/2017
Modulo 5: Database
49
Cap. 3: Le Tabelle
- Come creare una tabella Esempio
Tabella
Operazioni
22/05/2017
Campi
Descrizione
Collegamenti
ID Op
Chiave primaria contatore
Collegato a ID Op della
tabella
Articoli
dell'operazione.
Data
Data dell'operazione
ID Articolo
Codice numerico articolo
Quantità
Quantità
Carico
Campo logico
Scarico
Campo logico
Presso
Testo
Modulo 5: Database
Collegato alla tabella
articoli
50
Cap. 3: Le Tabelle
- Come creare una tabella Esempio
Tabella
Campi
Descrizione
Collegamenti
ID Articolo
Contatore
articoli Collegato alla tabella
Chiave primaria
delle operazioni
Nome
Testo
ID Fornitore
Numero
fornitore
primaria
Prezzo
Numero
Articoli
22/05/2017
Modulo 5: Database
Codice
Collegato alla tabella
Chiave
fornitori
51
Cap. 3: Le Tabelle
- Come creare una tabella Esempio
Tabella
Fornitori
22/05/2017
Campi
Descrizione
ID Fornitore
Contatore
primaria
Nome
Testo
Indirizzo
Testo
Città
Testo
Telefono
Testo
Modulo 5: Database
Collegamenti
Chiave Collegato a Codice
Articolo
52
Cap. 3: Le Tabelle
- Uso dei caratteri jolly per la ricerca Carattere
Significato
Esempio
*
Qualunque numero di
caratteri
Prov* consente di trovare tutti i valori
che cominciano con Prov
*Prov* consente la ricerca di tutti i
valori che contengono la parola Prov
?
Solo un carattere
C?ibo consente di trovare: Cibo,
cubo, …
[]
Qualunque carattere
Pr[io]va consente di trovare: Prova,
compreso nell’insieme Priva.
!
Ogni carattere eccetto
Ros[!ou] consente di trovare: Rosi,
quelli specificati
Rosa, Rose
dell’insieme.
-
Ogni carattere in un
intervallo definito
22/05/2017
#
Doci[l-n]e consente di trovare:
Docile, Docime, Docine.
Modulo 5: Database
Solo una cifra
197# trova 1971, 1972, 1973, …
53
Cap. 3: Le Tabelle
- Le Relazioni Cosa sono ?
Access permette di creare database relazionali…è
importante che:
i dati siano suddivisi tra più tabelle;
2. le tabelle siano collegate in modo opportuno.
1.
Si definisce Relazione tra tabelle, l’associazione
stabilita tra campi comuni in due tabelle che devono
contenere lo stesso tipo di dati.
22/05/2017
Modulo 5: Database
54
Cap. 3: Le Tabelle
- Le Relazioni Cosa serve ?
Una relazione funziona facendo corrispondere i dati
nei campi chiave, in genere un campo con lo stesso
nome per entrambe le tabelle.
Si definisce Chiave esterna, uno o più campi
(colonne) di tabella che si riferiscono al campo o ai
campi chiave primaria di un’altra tabella.
Essa indica il modo in cui le tabelle sono collegate.
22/05/2017
Modulo 5: Database
55
Cap. 3: Le Tabelle
- Le Relazioni Benefici
Quando le tabelle sono messe in relazione, si può
accedere a tutti i campi delle tabelle messe in
relazione.
Si possono, perciò, creare oggetti (report, maschere,
query) per gestire i dati.
Esse ci consentono di creare tabelle più piccole e più
efficienti che saranno messe in relazione quando
avremo bisogno di accedere ai dati.
22/05/2017
Modulo 5: Database
56
Cap. 3: Le Tabelle
- Le Relazioni Attenzione!!!
Le relazioni tra le tabelle devono essere definite
durante le fasi iniziali di pianificazione del DB.

Le tabelle devono avere campi comuni che
contengono lo stesso tipo di dati (nel caso di campi
numerici, devono avere lo stesso formato).

22/05/2017
Modulo 5: Database
57
Cap. 3: Le Tabelle
- Le Relazioni Tipi: UNO A MOLTI
Si presenta quando un record della tabella
A può avere molti record corrispondenti
nella tabella B, ma un record della tabella
B ha più di un record corrispondente nella
tabella A (es.: un cliente con molti animali).
22/05/2017
Modulo 5: Database
58
Cap. 3: Le Tabelle
- Le Relazioni Tipi: UNO A UNO
Si presenta quando ogni record della
tabella A può avere solo un record
corrispondente nella tabella B e viceversa.
E’ possibile utilizzare una relazione uno-auno per dividere una tabella con molti
campi, per isolare parte di una tabella per
ragioni
di
protezione
(es.:
un
codice_paziente con descrizione_cliente).
22/05/2017
Modulo 5: Database
59
Cap. 3: Le Tabelle
- L’Integrità Referenziale Cos’è ?
E’ un insieme predefinito di regole che
Access utilizza per:
1. essere sicuro che la relazione sia valida;
2. prevenire modifiche o cancellazioni
accidentali dei dati.
22/05/2017
Modulo 5: Database
60
Cap. 3: Le Tabelle
- L’Integrità Referenziale Cosa serve ?
1. Il campo correlato nella tabella primaria
è la CHIAVE PRIMARIA;
2. I campi correlati delle due tabelle hanno
lo STESSO TIPO DI DATI;
3. Entrambe le tabelle appartengono allo
STESSO DATABASE.
22/05/2017
Modulo 5: Database
61
Cap. 3: Le Tabelle
- L’Integrità Referenziale Regola 1
Non è possibile inserire dati nel campo
collegato della tabella messa in relazione
se questi non vengono trovati nel campo
legato della tabella primaria.
Es.: Non possiamo inserire nuovi codici clienti nella
tabella ANIMALI se non li mettiamo anche nella
tabella CLIENTI.
22/05/2017
Modulo 5: Database
62
Cap. 3: Le Tabelle
- L’Integrità Referenziale Regola 2
Non è possibile cancellare record della
tabella primaria se questi sono legati a
record della tabella messa in relazione.
Es.: Non possiamo cancellare clienti che hanno
animali.
22/05/2017
Modulo 5: Database
63
Cap. 3: Le Tabelle
- L’Integrità Referenziale Regola 3
Non è possibile modificare valori della
chiave primaria della tabella primaria se
esistono record correlati.
Es.: Non possiamo modificare il codice di un cliente
se egli ha animali.
22/05/2017
Modulo 5: Database
64
Cap. 4: Le Query
- Concetti essenziali sulle query Cosa sono ?
Il termine query in senso stretto ha il
significato
di
interrogazione
o,
comunque, di estrazione di dati da
una o più tabelle del database.
Esse
consentono
una
grande
flessibilità nella gestione dei dati delle
tabelle e costituiscono le fondamenta
su cui si costruiscono maschere e
report.
22/05/2017
Modulo 5: Database
65
Cap. 4: Le Query
- Concetti essenziali sulle query Come crearli ?
In Access è possibile interrogare il
database in due modi:
1. mediante interfaccia grafica;
2. mediante
linguaggio
programmazione
Query Language).
22/05/2017
di
(SQL=Structured
Modulo 5: Database
66
Cap. 4: Le Query
- Concetti essenziali sulle query Quali tipi ?
In Access è possibile realizzare i
seguenti tipi di query:
1. di selezione;
2. di creazione tabella;
3. di aggiornamento;
4. di accodamento;
5. di eliminazione.
22/05/2017
Modulo 5: Database
67
Cap. 4: Le Query
- Concetti essenziali sulle query Quali tipi ?
Oltre alle precedenti query, se ne
possono costruire altre più complesse
con l’ausilio della creazione guidata:
1. a campi incrociati;
2. ricerca di dati non corrispondenti;
3. ricerca duplicati.
22/05/2017
Modulo 5: Database
68
Cap. 4: Le Query
- La query di selezione Costituisce
il
tipo
di
query
maggiormente
utilizzata
nelle
applicazioni sviluppate con Access:
può essere utilizzata per estrarre tutti
o alcuni campi di record di tabelle,
oppure la combinazione di campi e
record selezionati da più tabelle,
relazionate o meno.
22/05/2017
Modulo 5: Database
69
Cap. 4: Le Query
- La query di selezione Il risultato è rappresentato dal
recordset = insieme di record
strutturato secondo colonne (campi) e
righe (record).
Può essere considerata anche come
un filtro più avanzato perchè si
possono impostare dei criteri per
l’estrazione dei dati che interessano.
22/05/2017
Modulo 5: Database
70
Cap. 4: Le Query
- I campi calcolati La potenzialità delle query si esprime
anche e soprattutto nella creazione di
campi calcolati che si aggiornano
dinamicamente.
Vi sono alcuni dati, infatti, che non
corretto,
e
neanche
utile,
memorizzare permanentemente in
una tabella, ma viceversa, possono
essere calcolati all’occorrenza.
22/05/2017
Modulo 5: Database
71
Cap. 4: Le Query
- I campi calcolati Una volta ottenuto il recordset, se
modifichiamo il valore di un record nel
campo PREZZO, verrà aggiornato
automaticamente anche il valore
corrispondente nel campo IVA.
22/05/2017
Modulo 5: Database
72
Cap. 4: Le Query
- La query di creazione tabella Il
risultato
rappresentato
dal
recordset può diventare a sua volta
una tabella, se viene utilizzato il
comando di query di creazione
tabella.
22/05/2017
Modulo 5: Database
73
Cap. 4: Le Query
- La query di aggiornamento Permette di modificare i valori dei
campi in modo automatico.
Es.: praticare uno sconto del 10% sui prodotti
del fornitore 2
22/05/2017
Modulo 5: Database
74
Cap. 4: Le Query
- La query di eliminazione Se occorre eliminare record che
soddisfino alcune condizioni, è
necessario affidarsi ad una query di
questo tipo.
Es.: cancellare tutti i carichi del prodotto 1
22/05/2017
Modulo 5: Database
75
Cap. 4: Le Query
- La query a campi incrociati Consente di rappresentare i dati di
una tabella in una forma riepilogativa
simile a un foglio di calcolo.
Il riepilogo viene mostrato su una
griglia, in cui i campi della tabella
possono
essere
rappresentati
indifferentemente come etichette di
riga o di colonna.
22/05/2017
Modulo 5: Database
76
Cap. 4: Le Query
- Query ricerca duplicati Elenca i record di una tabella che
rappresentano valori duplicati almeno
in un campo.
L’utilità di questo tipo di query si
apprezza particolarmente quando la
ricerca deve essere fatta su elenchi
molto corposi.
In questi casi,
controllare i record uno per uno è
un’operazione improba, che porta
oltretutto a sicuri errori.
22/05/2017
Modulo 5: Database
77
Cap. 5: Le Maschere
- Cosa sono Le maschere servono fondamentalmente per
vedere (eventualmente modificare, immettere,
ecc.) i dati di una o più tabelle o query in
formato diverso da quello tabellare, ad
esempio un record alla volta:
22/05/2017
Modulo 5: Database
78
Cap. 5: Le Maschere
- Creare una maschera Quando si inseriscono dati in una
maschera, i dati sono in realtà introdotti
nella tabella o nelle tabelle che supportano
la maschera; se invece si utilizza una
maschera
per
visualizzare
delle
informazioni, esse vengono tratte da una o
più tabelle del database.
22/05/2017
Modulo 5: Database
79
Cap. 5: Le Maschere
- Creare una maschera mediante VS E’ possibile modificare e creare ex novo una
maschera direttamente da Visualizzazione
Struttura.
Questa opzione ci dà maggiore autonomia
nella creazione ma è molto meno immediata
dell’autocomposizione.
22/05/2017
Modulo 5: Database
80
Cap. 5: Le Maschere
- Creare una maschera mediante VS In una maschera le informazioni sono
contenute nei CONTROLLI.
Essi sono oggetti di una maschera che
visualizzano dati, eseguono operazioni o
hanno una funzione decorativa.
22/05/2017
Modulo 5: Database
81
Cap. 5: Le Maschere
- Modificare una maschera Una volta costruita una maschera,
qualunque sia stata la modalità, essa può
sempre essere modificata a piacimento sia
per quanto riguarda la sua struttura che per
la formattazione.
22/05/2017
Modulo 5: Database
82
Cap. 5: Le Maschere
- Modificare una maschera Una maschera ha tre sezioni fondamentali:
Intestazione/Piè
pagina
Maschera: titoli o istruzioni che
si vogliono visibili sulla maschera
in ogni momento.
Se si stampa la maschera, esse
appaiono all’inizio della prima
pagina e alla fine dell’ultima
pagina.
CORPO:
può contenere le
informazioni provenienti da tabelle
o da Query
Intestazione/Piè
Pagina: vengono
22/05/2017
pagina
visualizzate
sopra e sotto la maschera.
Se si stampa la maschera, esse
Modulo 5: Database
83
appaiono sopra e sotto ogni
pagina.
Cap. 5: Le Maschere
- Modificare una maschera Abbiamo
detto
In una maschera le
informazioni sono contenute nei CONTROLLI.
Access dispone di vari tipi di controlli:
 Associati
 Non Associati
 Calcolati
22/05/2017
Modulo 5: Database
84
Cap. 5: Le Maschere
- Modificare una maschera Controlli ASSOCIATI
Consentono di visualizzare, immettere e
aggiornare i valori derivanti dai campi del
DataBase.
22/05/2017
Modulo 5: Database
85
Cap. 5: Le Maschere
- Modificare una maschera Controlli NON ASSOCIATI
Non dispongono di un’origine dati  essi
consentono di visualizzare informazioni
non legate al DataBase.
Esempio: linee, rettangoli, immagini
22/05/2017
Modulo 5: Database
86
Cap. 5: Le Maschere
- Modificare una maschera Controlli CALCOLATI
Usano come origine dati di un’espressione.
Esempio: conversione da £ a €
22/05/2017
Modulo 5: Database
87
Cap. 5: Le Maschere
- Modificare una maschera La lista completa dei
controlli è disponibile
nella CASELLA DEGLI
STRUMENTI
22/05/2017
Modulo 5: Database
88
Cap. 5: Le Maschere
- Modificare una maschera Casella Combinata



Ci fornisce una lista di valori tra i quali poter
scegliere (si evitano errori di digitazione).
Può essere legata ad un campo  quando si
seleziona o si inserisce un valore, il valore
viene inserito in quel campo nella tabella
corrispondente.
Può essere anche NON legata  quando si
seleziona o si specifica un valore, questo viene
tenuto in memoria per essere usato in un altro
controllo o in qualche calcolo.
22/05/2017
Modulo 5: Database
89
Cap. 5: Le Maschere
- Modificare una maschera Casella di riepilogo



Ci fornisce una lista di valori tra i quali poter
scegliere (si evitano errori di digitazione).
A differenza dalla casella combinata, si uò
solamente scegliere un valore dalla lista; i
valori non presenti in lista non possono essere
inseriti in tabella.
Può essere legata oppure NON legata ad un
campo (come prima).
22/05/2017
Modulo 5: Database
90
Cap. 5: Le Maschere
- Modificare una maschera Gruppo di opzioni



E’ un insieme limitato di valori tra i quali si può
effettuare una scelta (è più veloce e più preciso)
A differenza dalla casella combinata, si uò
solamente scegliere un valore dalla lista; i valori
non presenti in lista non possono essere inseriti
in tabella.
Può essere legata oppure NON legata ad un
campo (come prima).
22/05/2017
Modulo 5: Database
91
Cap. 5: Le Maschere
- Le sottomaschere 

Servono per “riunire” in una maschera,
dati provenienti da varie tabelle o query
E’ possibile creare una maschera
principale nella quale incorporare una
sottomaschera.
22/05/2017
Modulo 5: Database
92
Cap. 5: Le Maschere
- Le sottomaschere Requisiti da soddisfare
1.
2.
La maschera principale deve essere
basata su una tabella o una query
provvista di una chiave primaria
La sottomaschera deve essere basata
su una tabella contenente un campo con
lo stesso nome del campo chiave
primaria della maschera principale.
22/05/2017
Modulo 5: Database
93
Cap. 6: I Report
- Definizione I Report permettono di visualizzare e/o
stampare le informazioni opportunatamente
reperite e organizzate.
Oltre alla visualizzazione delle specifiche
informazioni, è possibile arricchire i report
con particolari grafici tali da facilitare la
lettura e il significato dei dati.
I report possono ottenere i dati da una
singola tabella o da tabelle correlate o da
query.
22/05/2017
Modulo 5: Database
94
Cap. 6: I Report
- Definizione Ci sono tre tipi principali di report:
 a colonne
 tabulari
 giustificato
22/05/2017
Modulo 5: Database
95
Cap. 6: I Report
- Definizione Report a COLONNE
I nomi dei campi sono
listati sul lato sinistro del
report, con il valore del
campo listato sulla destra.
22/05/2017
Modulo 5: Database
96
Cap. 6: I Report
- Definizione Report TABULARE
I nomi dei campi sono listati affiancati il alto
nel report, mentre i valori dei campi sono
collocati sotto di essi nelle colonne
appropriate.
22/05/2017
Modulo 5: Database
97
Cap. 6: I Report
- Definizione Report GIUSTIFICATO
Possiamo scegliere la disposizione dei
campi e dei valori.
22/05/2017
Modulo 5: Database
98
Cap. 6: I Report
- Stampa Quando abbiamo finito di creare il REPORT,
Access lo visualizza in anteprima di stampa.
Questo ci consente di vedere il REPORT
prima di stamparlo.
22/05/2017
Modulo 5: Database
99
Cap. 6: I Report
- Modifica Dopo che il report è stato creato, è possibile
personalizzarlo in base alle proprie esigenze
semplicemente
aprendolo
in
Visualizzazione struttura e utilizzando la
casella degli strumenti così come le
maschere.
22/05/2017
Modulo 5: Database
100
Cap. 6: I Report
- Modifica Un report ha tre sezioni fondamentali:
Intestazione/Piè pagina Maschera:
titoli o istruzioni che si vogliono
visibili sul report in ogni momento.
Se si stampa il report, esse appaiono
all’inizio della prima pagina e alla fine
dell’ultima pagina.
CORPO: può contenere le informazioni
provenienti da tabelle o da Query
Intestazione/Piè
pagina
Pagina:
vengono visualizzate sopra e sotto il
report.
Se si stampa il report, esse appaiono
sopra e sotto ogni pagina.
22/05/2017
Modulo 5: Database
101