Andrea Alberini
Dispense su Access
Verona 17/11/2010
Database
Registrare dati per ottenerne rapidamente informazioni.
 Introduzione
Con Database, o Base di dati, si intende una collezione di dati
che descrivono un insieme di oggetti del mondo reale,
considerati da un ben definito punto di vista.
La descrizione degli oggetti, o elementi, di interesse avviene
tramite la specificazione di alcune loro caratteristiche tipiche
(dette anche proprietà o attributi).
Ad esempio, nell’elenco del telefono possiamo individuare un
database costituito da:
-
elementi: persone (abbonati a Telecom Italia)
-
caratteristiche: provincia, città, cognome, nome,
indirizzo, numero di telefono.
Ovviamente, i vari elementi del database saranno distinguibili
per i diversi valori attribuiti ad una o più delle caratteristiche
considerate.
 Definizione
Si può quindi pensare ad un database come ad un elenco di
dati omogenei, solitamente, ma non necessariamente,
presentati in forma di tabella.
Nel gergo informatico si utilizzano dei termini diversi da quelli
utilizzati sopra. Di seguito due gruppi di sinonimi.
Record
Riga della tabella
elemento
Campo
Colonna della tabella
caratteristica
RECORD
CAMPO
 Scopo
Pag. 1
Andrea Alberini
Dispense su Access
Verona 17/11/2010
Un database viene utilizzato per raccogliere dati di interesse e
per poter reperire informazioni, da essi derivanti, su richiesta:
-
informazioni elementari: singoli dati (ad es. il numero di
telefono o l’indirizzo di un certo cliente). Utili per
l’esecuzione di azioni semplici (ad es. contattare,
spedire, ecc.)
-
informazioni d’insieme: statistiche, cioè risultati di
calcoli effettuati su un sottoinsieme dei record (ad es. il
fatturato complessivo generato da un certo cliente in un
trimestre). Sono molto importanti come supporto alle
decisioni (ad es. come organizzare e programmare le
attività secondo l’andamento dell’azienda)
 Strumenti
Per semplici realtà di interesse è sufficiente utilizzare una
singola tabella. In questi casi un programma per la gestione di
fogli elettronici (come “Excel”) fornisce tutte le funzionalità
necessarie.
Normalmente, però, le realtà di interesse sono complesse, cioè
coinvolgono più oggetti o informazioni di tipo diverso (ordini,
prodotti, clienti, spedizioni, ecc.). In questi casi utilizzando una
sola tabella nascono situazioni indesiderate:

Ridondanze (ripetizione di dati e quindi spreco di tempo
e spazio)

Anomalie di aggiornamento (aggiornare tutte le
informazioni ripetute, pena la perdita di
consistenza/coerenza)
Esempi dei Recapiti e delle Fatture.
In questi casi si preferisce utilizzare dei programmi per la
gestione dei database (come “Access” o “File Maker”)
Con tali programmi rappresento la realtà di interesse tramite più
tabelle strutturate secondo i seguenti criteri.
-
Per oggetti di tipo diverso, conviene rappresentare con
tabelle separate ma collegate tra loro.
-
Ciascuna tabella contiene dati relativi ad una singola
famiglia di oggetti omogenei (cioè caratterizzati dalle
stesse proprietà/attributi)
-
Il collegamento tra record di tabelle diverse si basa su
due campi, uno per tabella, contenenti valori comuni (tali
campi fungono da raccordo tra i record associati).
In generale tali programmi facilitano:
-
il progetto dello schema del database (la sua struttura in
tabelle collegate)
Pag. 2
Andrea Alberini
Dispense su Access
-
l’inserimento dei dati
-
l’esecuzione di statistiche e il reperimento di informazioni
-
l’esecuzione di operazioni di automazione sui dati
(estrazione informazioni, allarmi, aggiornamenti
automatici)
Verona 17/11/2010
Pag. 3
Andrea Alberini
Dispense su Access
Verona 17/11/2010
Tabelle
I database sono generalmente costituiti da un insieme di tabelle tra loro
collegate.
 Esempio di Anagrafica Clienti
Creare un nuovo database contenente le due tabelle seguenti:
ANAGRAFICA (IDAnagrafica, Nome, Indirizzo, CAP, Città,
Prov, P. IVA, Cod. Fisc., Note);
RECAPITI (IDRecapito, IDAnagrafica, Tipo, Recapito, Note)
-
Creazione Database vuoto. L’ambiente di Access. La
finestra del Database.
-
Creazione delle tabelle in visualizzazione struttura.
-
Definire le chiavi primarie. Usare il tipo dati “Ricerca
guidata” per le chiavi esterne.
-
Visualizzazioni “Struttura” e “Dati”.
-
Inserire alcuni dati di anagrafica e alcuni recapiti di
esempio.
-
Utilizzare i fogli dati secondari nella tabella Anagrafica.
 Chiave primaria
La univoca identificabilità di ciascun record è condizione
necessaria per stabilire corrispondenze tra tabelle.
I valori presenti all’interno di un campo definito come chiave
primaria, devono essere sempre diversi l’uno dall’altro. Questo
a garanzia della univoca identificabilità di ciascun record.
Spesso, ma non necessariamente, come chiave primaria viene
utilizzato un campo che viene generato automaticamente al
momento della creazione di un nuovo record (campo di tipo
contatore). Si tratta di una specie di codice identificativo
generato automaticamente da Access.
Il fatto di utilizzare come chiavi dei campi ausiliari (di solito
numerici) conferisce flessibilità al database (se usassi il Nome
al posto di IDAnagrafica, come chiave esterna, eventuali
aggiornamenti al nome dovrebbero essere eseguiti su più
record)
 Relazioni (associazioni, corrispondenze)
I campi di raccordo tra due tabelle che devono essere
associate, possono avere nomi diversi in ciascuna delle due
tabelle, ma devono contenere dei valori comuni e dello stesso
tipo (testo con testo, numeri con numeri, ecc.).
La più utilizzata delle relazioni è quella detta UNO – MOLTI.
Pag. 4
Andrea Alberini
Dispense su Access
Verona 17/11/2010
Il lato UNO è rappresentato dalla tabella principale e il suo
campo coinvolto nella relazione deve essere la sua chiave
primaria.
Il lato MOLTI è rappresentato dalla tabella secondaria e il suo
campo coinvolto nella relazione è detto chiave esterna
(generalmente diverso dalla chiave primaria!)
Nota Bene Per la definizione della associazione, o relazione,
tra le tabelle, alla chiave esterna è stato assegnato il tipo
“Ricerca guidata”.
Un altro modo per definire l’associazione consiste nell’attribuire
invece alla chiave esterna il tipo “Numerico – Intero lungo” e nel
creare il collegamento tra le chiavi in modo visuale, trascinando
tra di esse il puntatore del mouse, nella finestra “Strumenti –
Relazioni” dopo avere specificato le tabelle interessate.
Pag. 5
Andrea Alberini
Dispense su Access
Verona 17/11/2010
Maschere
Le maschere, dette anche Form, consentono di inserire e visualizzare i dati
delle tabelle in modo più agevole e sicuro.
 Creazione della maschera “Anagrafica”
-
Scegliere “Crea maschera tramite creazione guidata” e
scegliere i dati caratteristici delle due tabelle, lasciando
fuori i campi ausiliari (le chiavi).
-
Osservare come venga creata una sottomaschera in
forma tabellare contenente i recapiti relativi al soggetto
corrente di anagrafica.
Quindi in una maschera è possibile visualizzare dati provenienti
da più tabelle!
 Modifica della maschera
-
Visualizzazione “Struttura”, “Maschera” e “Foglio Dati”.
-
Vari tipi di controlli. Modifica delle etichette.
Formattazione e spostamento dei controlli.
-
Controlli associati e non associati. Inserimento di un
controllo non associato per la ricerca di un soggetto di
anagrafica (casella combinata).
Relazioni più complesse
Cerchiamo di rappresentare nel database tutte le attività (ad esempio
interventi) svolte dai dipendenti di un’azienda nei confronti dei suoi clienti.
Per registrare l’attività dell’azienda e quindi poter effettuare
delle verifiche periodiche sul suo andamento occorre
rappresentare tramite tabelle i seguenti nuovi oggetti:
DIPENDENTE (IDDipendente, Nome, Recapito, note)
ATTIVITA’ (IDAttività, IDCliente, IDDipendente, Data, Causale,
Durata, Note).
-
Aggiungere le nuove tabelle al database.
-
Inserire dati di prova.
Pag. 6
Andrea Alberini
Dispense su Access
Verona 17/11/2010
Semplici estrazione di informazioni dal Database
Tramite i comandi Ordina e Filtro
informazioni elementari e statistiche
riesco
ad
ottenere
rapidamente
Cerco di ottenere informazioni d’insieme (statistiche) dalla lista
delle Attività.
-
Utilizzo i comandi di ordinamento e di filtro disponibili
dal menù contestuale (clic destro) o dalle barre degli
strumenti.
E’ piuttosto facile individuare le attività svolte da un particolare
dipendente o per un particolare cliente o in una determinata
giornata.
Manca però la possibilità di effettuare in automatico le
statistiche, cioè di effettuare calcoli. Sarà possibile ciò
all’interno di maschere.
-
Creare maschera su Attività
-
Modificare il tipo di maschera da Singola in Continua
-
Spostare e formattare i controlli in modo che siano adatti
alla rappresentazione continua.
Realizzo così una rappresentazione simile a quella del foglio
dati ma con tutte le potenzialità delle maschere.
-
Aggiungere un controllo casella di testo Totale durata
non associato in cui inserire la funzione
=Somma(durata).
-
Eseguire diverse operazioni di filtro per ottenere i valori
di durata relativi ad operatori e clienti.
-
Potenziare le possibilità di verifica statistica tramite
l’utilizzo di alcune categorie ricorrenti di causali (studio,
contabilità, uscite, consulenza telefonica, altro) da
inserire in una tabella di supporto e da cui attingere per
specificare la causale di ciascuna attività.
Pag. 7
Andrea Alberini
Dispense su Access
Verona 17/11/2010
Query
La potenzialità massima di estrazione di informazioni avviene tramite lo
strumento “Query”
 Query di selezione
Si tratta di uno strumento di Access che consente di definire delle interrogazioni verso
tabelle. Una volta salvate, queste interrogazioni possono essere eseguite ogniqualvolta si
desideri. L’esecuzione comporterà l’estrazione di record da una o più tabelle
opzionalmente con la presenza di risultati di calcoli o statistiche.
Visualizzazione Struttura per la definizione della Query.
Scelta della tabella su cui effettuare l’interrogazione e scelta dei campi da visualizzare.
Definizione di Ordinamenti e Condizioni di filtro, anche multipli.
Visualizzazione Foglio Dati per l’esecuzione e la visualizzazione del risultato
dell’interrogazione.
Definizione di “Parametri” come valori da utilizzare nelle condizioni e da inserire al
momento dell’esecuzione.
Query tra più tabelle (“Join”). Permettono una “vista” personalizzata dei dati presenti
anche in tabelle distinte, purché associate tra di esse.
Campi calcolati: etichetta e formula separati da “:”. Le formule possono contenere anche
funzioni predefinite, come quelle disponibili in Excel.
Esecuzioni di statistiche, tramite il comando “Totali”: specifica dei campi su cui effettuare
i raggruppamenti e delle funzioni statistiche da utilizzare nei campi rimanenti.
Visualizzazione SQL: permette di verificare, o modificare, la scrittura della Query nel suo
linguaggio effettivo. Viene generata automaticamente sulla base di quanto svolto in
Visualizzazione Struttura.
 Query di comando
Permettono di svolgere operazioni di modifica sui dati: Creazione tabella (select … into),
Accodamento (insert), Aggiornamento (update), Eliminazione (delete).
Utili per automatizzare modifiche su grandi quantità di dati, specie se frequenti.
Una volta aperta la Visualizzazione struttura della Query, scegliere il tipo desiderato,
tramite il menu “Query”.
Per la sua esecuzione scegliere “Esegui” sempre dal menu “Query”.
Pag. 8