Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Modulo 4
Gestione ed Elaborazione di Basi di Dati
per la Didattica
A cura di:
Associazione DidasCalabria
Un Database può essere definito come una raccolta di informazioni o un insieme di dati attinenti a un
unico argomento o ad argomenti diversi, ma tra loro correlati, quindi è una collezione di informazioni
registrate in formato leggibile dall’elaboratore elettronico e relativa ad un preciso dominio di
conoscenze, organizzata allo scopo di poter essere consultata dai suoi utilizzatori. Ricorrendo ad un
esempio pratico un Database può essere visto come un armadio-raccoglitore, nei cassetti del
quale vengono archiviati i documenti riguardanti lo stesso argomento (gestione delle Assenze Alunni,
gestione dei materiali didattici, gestione della valutazione etc.) o lo stesso tipo d'informazione. Con il
termine “banche dati” invece ci si riferisce ad un insieme digitale strutturato e
organizzato di informazioni su un determinato argomento o disciplina, in forma ipertestuale e
multimediale generalmente, accessibile all’utenza attraverso opportune interfacce che permettono il
recupero dei dati. I dati archiviati all’interno di un Database, vengono organizzati e strutturati secondo
una impostazione logica fornita dall'utente. A differenza di un archivio cartaceo (a gestione manuale per
intenderci) un Database computerizzato, da questo punto in poi quando parleremo di Database
intenderemo sempre Database elettronico, ovvero organizzato e strutturato su un calcolatore
elettronico, offre notevoli vantaggi in termini di:
Alla base di un DB relazionale c’è il concetto di tabella, detta anche Relazione; essa è costituita da righe
dette tuple o record, e da colonne dette campi o attributi.
Tabelle.
Alla base della struttura di un Database vi sono le tabelle, formate da righe e colonne, dove vengono
inseriti i dati organizzati secondo schemi logici; la prima riga di ogni tabella contiene l’intestazione dei
campi.
Le informazioni relative ad argomenti diversi devono essere memorizzati in tabelle distinte, in tal modo è
possibile accedere più rapidamente e direttamente a tali informazioni. Per esempio, è conveniente creare
una tabella per memorizzare le informazioni relative agli Alunni e una relativa alle Assenze che generano
gli Alunni quotidinamente. L'attenzione va, quindi, posta sulla relazione che deve intercorrere fra le due
tabelle (ad es.: il campo IdAlunno che deve essere comune ad entrambe le tabelle).
Maschere.
La funzione delle maschere è quella di inserire i record all’interno delle Tabelle, mediante una interfaccia
grafica, nonché quella di visualizzare i dati e modificare gruppi di record, o visualizzare tutti i campi di
un singolo record all’interno di una maschera, o i dati provenienti dall’esecuzione di una query. Una
maschera può essere definita come la rappresentazione a video di un modulo su carta. Il vantaggio della
visualizzazione dei dati mediante maschera, è che non bisogna rispettare rigorosamente la struttura
righe/colonne.
Query.
Una query consente la ricerca dei dati in una o più tabelle. Sono utilizzate per filtrare i dati delle tabelle
in base a “criteri” assegnati dall’utente. Le query possono, anzi sono spesso, utilizzate come base per
creare maschere e report. Consentono di definire quali record e quali campi visualizzare.
Report.
Un report consente di stampare su supporto cartaceo i dati delle tabelle, o dei risultati delle query. La
realizzazione di un report è simile all’impostazione di una maschera: è possibile scegliere in che modo
raggruppare i record e determinare la posizione dei campi nel report.
Dopo avere organizzato le informazioni in tabelle, bisogna indicare in che modo poterle visualizzare
o stampare in maniera logica, tenendo presente, appunto, che queste possono appartenere a più
tabelle.
Per esempio si supponga di volere sapere il nominativo dell’Alunno contenuto nella tabella Alunni,
che in una certa data è stato Assente, le informazioni relative alle assenze sono contenute nella
tabella Assenze. Indicando la data a cui si è interessati, verrà ricercato il nominativo dell’alunno
facendo uso della relazione esistente fra le due tabelle. Notiamo che la relazione è data dal fatto che
la chiave primaria della tabella Alunni è un campo della tabella Assenze. Nella terminologia dei
database, il campo presente nella Tabella Assenze è chiamato chiave esterna in quanto è collegato ad
una chiave primaria di una diversa tabella.
Quindi, per impostare una relazione tra due tabelle, A e B, è necessario aggiungere la chiave
primaria di una tabella al campo dello stesso tipo dell’altra tabella, definendo la relazione e che tipo
di relazione esiste fra le tabelle.
L’integrità referenziale.
Quando si crea una relazione tra due tabelle è possibile impostare l’integrità referenziale. L’integrità
referenziale è un insieme predefinito di regole che il programma DBMS utilizza per accettarsi che la
relazione sia valida e prevenire modifiche o cancellazioni accidentali dei dati. Affinché sia possibile
applicare l’integrità referenziale devono essere verificate alcune condizioni, e cioè: il campo
correlato nella tabella primaria deve essere chiave primaria, i campi correlati devono avere lo stesso
tipo di dati, le tabelle devono appartenere allo stesso database.
L’applicazione dell’integrità referenziale determina le seguenti regole:
1) non è possibile inserire informazioni nel campo collegato della tabella messa in relazione, se
queste non sono disponibili nel campo correlato della tabella primaria;
2) non è possibile cancellare record della tabella primaria se sono in relazione con altri della tabella
correlata.
3) non è possibile modificare valori della chiave primaria se il record corrispondente è in relazione
con record nella tabella correlata.
0. CREAZIONE/APERTURA DI UN DATABASE.
Per chiudere un database dare il comando File | Chiudi. Per uscire da Access dare il comando File | Esci.
1. LE TABELLE.
Le tabelle rappresentano l’elemento principale di ogni database. Per lavorare sulle tabelle occorre scegliere la
voce Tabelle nella finestra del database.
• Selezionare il bottone Nuovo e poi (nella relativa dialog box) Visualizzazione struttura. Confermare poi
con Ok.
• Compare la finestra di creazione di una tabella in visualizzazione struttura.
2. LE RELAZIONI.
Una relazione può essere definita come un legame tra due tabelle basato sul valore di uno o più campi di
ciascuna delle due tabelle. Di solito i campi di almeno una delle due tabelle sono campi chiave. I due principali
tipi di relazioni sono:
• Relazione uno-a-uno: in questo caso ad ogni riga della prima tabella corrisponde una sola riga nella
seconda.
• Relazione uno-a-molti: in questo caso ad ogni riga della prima tabella corrispondono più righe nella
seconda.
Le relazioni molti-a-molti possono sempre essere decomposte in termini di relazioni uno-a-molti con l’aggiunta
di “tabelle di appoggio”.
Una maschera è una interfaccia personalizzata o personalizzabile per accedere al database ed alle sue
funzionalità. In particolare ogni maschera consente di accedere ad una o più tabelle o query.
NB Al fine del discorso sulle maschere può essere utile sapere che è possibile definire relazioni anche
includendo query e non solo tabelle.
Per costruire una maschera relativa ad una sola tabella/query si può procedere come segue:
• Selezionare la voce Maschere.
• Selezionare il bottone Nuovo.
• Selezionare Creazione guidata Maschera nella successiva finestra di dialogo; selezionare la tabella/query
di riferimento; confermare con Ok.
• Nella successiva finestra di dialogo selezionare i campi da inserire nella maschera (non è necessario
selezionarli tutti). Selezionare Avanti.
• Nella successiva finestra di dialogo indicare il layout scelto per la maschera tra quelli proposti: a colonne
(viene mostrato un solo record per pagina); tabulare (vengono mostrate le varie righe della tabella/query in
forma tabulare); foglio dati (simile alla modalità precedente ma con uno schema di tipo foglio elettronico);
giustificato;ecc.. Selezionare Avanti.
• Nella successiva finestra di dialogo scegliere lo stile di visualizzazione tra quelli proposti: standard,
tessuto, spedizione, ecc.. Selezionare Avanti.
• Nella successiva finestra di dialogo fornire un nome (titolo) alla maschera e selezionare il radio button
“Modifica la struttura della maschera” in modo da potere apportare modifiche alla struttura fin qui definita
nella finestra di creazione/modifica delle maschere. Selezionare Fine.
Nella finestra di creazione/modifica delle maschere si possono eseguire varie operazioni, tra cui le seguenti:
• Selezionare un oggetto della maschera. Sono possibili, con le usuali modalità (uso del tasto SHIFT durante
la selezione), selezioni e quindi poi manipolazioni di più oggetti.
© Associazione DidasCalabria – Riproduzione severamente vietata
• Trascinare gli oggetti o i relativi marker per spostare/ridimensionare gli oggetti. Lo spostamento si ottiene
con il marker in alto a sinistra.
• Eseguire operazioni tipo taglia/copia/incolla con il menù Modifica.
• Visualizzare le proprietà dello/degli oggetto/i selezionato/i ed eventualmente modificarle attraverso una
finestra a linguette (comando Visualizza | Proprietà). La possibilità di accedere alle proprietà di un
oggetto sarà fondamentale per la programmazione in VBA (vedi sotto). Le proprietà sono differenti da
oggetto ad oggetto e sono molto numerose: quando si vuole modificare qualche caratteristica di un oggetto
conviene provare a controllare se c’è qualche proprietà che si riferisce a quella caratteristica in modo da
poterla modificare. Una proprietà interessante dell’oggetto maschera nel suo complesso è la proprietà Tipo
recordset (linguetta Dati): se si sceglie dynaset si potranno (in generale) eseguire modifiche, mentre se si
sceglie snapshot si potranno solo visualizzare i dati.
• Visualizzare l’elenco dei campi (comando Visualizza | Elenco Campi) per aggiungere altri elementi (dalle
tabella/query selezionate all’inizio) alla maschera con una operazione di trascinamento.
• Inserire oggetti nella maschera (ad esempio immagini con il comando Inserisci | Immagine; l’immagine
può poi essere portata in primo o secondo piano, come ogni altro oggetto, con i comandi Formato | Porta in
primo piano o Formato | Porta in secondo piano).
Le query possono essere considerate tabelle virtuali che attingono i loro dati da tabelle o query definite in
precedenza. In genere le query richiedono l’esistenza di relazioni ed operano selezioni e proiezioni
sull’insieme delle tabelle/query su cui sono costruite. Le query (o viste) servono in pratica per avere una
visione “logica” dei dati che differisca da quella “fisica” imposta dalla struttura delle tabelle/query di partenza.
Nella finestra query di selezione si può costruire/modificare una query. Per query di tipo semplice la
procedura può essere la seguente per ogni colonna della tabella posta in fondo alla finestra (se la voce
Visualizza | Totali è disabilitata e la voce Visualizza | Nomi tabelle è abilitata):
• Nella riga “campo” selezionare il campo di una tabella (o query) o scrivere espressioni che usano come
operatori anche nomi di campo (nella sintassi nome_tabella.nome_campo). All’eventuale espressione (qui
come altrove) si può assegnare un nome generando una forma sintattica del tipo Nome:Espressione.
• Nella riga “tabella” dovrebbe automaticamente venire selezionata la tabella/query relativa al campo scelto
in precedenza.
• Nella riga “ordinamento” è possibile scegliere un criterio di ordinamento per il campo. In questo caso la
scelta dell’ordine dei campi nelle colonne diventa fondamentale (ordinamento da sinistra a destra).
• Nella riga “mostra” posso specificare se il campo selezionato andrà mostrato o meno nella query (pur
facendone comunque parte).
Nella finestra query di selezione si possono costruire/modificare query più complesse di quelle menzionate in
precedenza che consentono di eseguire raggruppamenti di dati. Rispetto a quanto detto sopra la procedura può
essere la seguente per ogni colonna della tabella posta in fondo alla finestra (se la voce Visualizza | Totali e
la voce Visualizza | Nomi tabelle sono abilitate):
• Per la riga “campo” vale lo stesso discorso di cui sopra.
• Per la riga “tabella” vale lo stesso discorso di cui sopra.
• Per la riga “formula” indicare raggruppamento per i campi/espressioni che faranno parte del
raggruppamento definito dalla presente query (es. i dati di una fattura di un cliente); indicare invece la
funzione di raggruppamento (es. somma, conteggio, ...) per i campi/espressioni che andranno riassunti
(es. il prodotto quantità per prezzo di ogni riga delle fatture dei clienti).
• Per la riga “ordinamento” vale lo stesso discorso di cui sopra.
• Per la riga “mostra” vale lo stesso discorso di cui sopra.
• Per la riga “criteri” (e successive) vale lo stesso discorso di cui sopra.
NB Per creare query su cui siano eseguibili inserimenti devono essere soddisfatte una serie di
condizioni tra cui quella di includere il campo chiave del lato “molti” di una relazione uno-a-molti.
Per modificare una query è sufficiente selezionare la voce Query, selezionare la query di interesse, usare il
bottone Struttura. A questo punto si accede alla finestra query di selezione descritta (con le sue funzionalità)
nel precedente paragrafo 3.1.
Per cancellare una query è sufficiente selezionare la voce Query, selezionare la query di interesse, usare il
comando Modifica | Elimina o il tasto CANC. A questo punto verrà chiesta conferma.
5. I REPORT.
Un report rappresenta uno stampato (di solito nella forma di un tabulato più o meno elaborato) che consente
di evidenziare i dati del database selezionati e raggruppati in maniera opportuna.
Per costruire un report relativo ad una sola tabella/query si può procedere come segue:
• Selezionare la voce Report.
• Selezionare il bottone Nuovo.
• Selezionare Creazione guidata Report nella successiva finestra di dialogo; selezionare la tabella/query di
riferimento; confermare con Ok.
• Nella successiva finestra di dialogo selezionare i campi da inserire nel report (non è necessario selezionarli
tutti). Selezionare Avanti.
• Nella successiva finestra di dialogo viene chiesto se si desidera aggiungere livelli di gruppo: per un tabulato
semplice non selezionare nulla ma premere il bottone Avanti.
• Nella successiva finestra di dialogo si può scegliere il criterio di ordinamento in base ad un massimo di 4
campi (in ordine crescente o decrescente); selezionare gli ordinamenti. Selezionare Avanti.