Access
Chiara Renso, Maria Simi

Access
Introduzione
Tabelle
Definizione dello schema
Collegamenti tra tabelle
Inserzione dati in una tabella
Interrogazioni
Maschere
Rapporti
Esercizio 1
Esempio di dati
Esercizio 2

Introduzione
Microsoft Access è un tipico esempio di SGBD relazionale con interfaccia grafica. Access si basa su quattro concetti di base: le relazioni, le interrogazioni, le maschere e  i rapporti.
Per creare un nuovo Database: menù FILE, voce "nuovo"; viene creato un nuovo database a cui si dovrà dare un nome. Apparirà una finestra con 6 sottofinestre: 

Tabelle 	Visualizza le relazioni 	
Query	Visualizza le interrogazioni 	
Maschere	Maschere di immissione dati	
Report	Stampe in formati speciali	
Macro	(non ci interessa)	
Moduli	(non ci interessa) 	

Tabelle
Una tabella è una struttura contenente dati  su  un certo argomento, o entità. Ogni tabella è strutturata in record che rappresenta l’unità funzionale dell’informazione strutturata. Ogni record è suddiviso in campi che rappresentano l’elemento base. Ogni campo è caratterizzato da diversi attributi come il nome, il tipo e la dimensione.
Un database può essere formato da più tabelle correlate tra di loro, il cui contenuto riguarda complessivamente un dato argomento.  Per creare un database occorre definire lo schema, ovvero le tabelle, con i relativi campi e le relazioni tra le tabelle.
Definizione dello schema
Gli schemi di relazione sono definibili e manipolabili visualmente. Per creare una nuova relazione scegliere "nuovo" quando è in evidenza la sotto-finestra "Tabelle". 
Di ogni attributo della relazione, oltre al nome e al tipo (numerico, data, ora, valuta, valore si/no, oggetto esterno), è possibile specificare la dimensione, il formato di visualizzazione del valore, un breve commento, un eventuale valore predefinito, un vincolo d'integrità sui valori dell'attributo e la creazione o meno di un indice. Su uno schema di relazione è possibile dichiarare sia una chiave primaria, composta da uno o più attributi, sia chiavi esterne, con il tipo di associazione che rappresentano, se uno ad uno oppure uno a molti. 

Quello che segue è un esempio di definizione di due tabelle: Ristoranti e Cene. 

Uno schema di relazione può essere modificato visualmente anche dopo la creazione. Si possono cancellare od aggiungere attributi e cambiarne l'ordine (operazione che ha effetto sulla visualizzazione della relazione). Per fare questo scegliere il bottone "struttura" quando è in evidenza la sotto-finestra "Tabelle" ed è selezionata la relazione da modificare. 
Collegamenti tra tabelle
Nei sistemi relazionali è possibile collegare due tabelle utilizzando in una tabella la chiave dell’altra (chiave esterna). Nel nostro esempio abbiamo usato nella tabella "Cene" l’attributo "ristorante", che è chiave della relazione Ristoranti.
In ACCESS è possibile rendere esplicito questo collegamento, con il vantaggio che nelle interrogazioni si può evitare di specificare le condizioni di uguaglianza per la giunzione.
Premere l’icona che mostra le tabelle collegate e dopo avere aperto le tabelle da collegare, effettuare il collegamento tra gli attributi prescelti: posizionarsi sul primo attributo e portarsi sul secondo tenendo il bottone sinistro del mouse premuto.

Inserzione dati in una tabella
Una relazione può essere visualizzata in forma tabellare, come un foglio elettronico, con il bottone "apri" (sempre se è in evidenza la sottofinestra "Tabelle" ed è selezionata la relazione da aprire). In questa forma è possibile effettuare operazioni per inserire, modificare e cancellare i dati. 
Altre operazioni disponibili nella finestra di visualizzazione della relazione riguardano l'aspetto della relazione: è così possibile, ad esempio, ridimensionare le colonne, le righe, cambiare dimensioni e stili dei caratteri ecc. 
Quelle che seguono sono le due tabelle Ristoranti e Cene riempite con un po’ di dati (attenzione! i dati sulle cene sono pura fantasia!).

Interrogazioni
Un'interrogazione viene definita sfruttando le capacità grafiche delle moderne interfacce utente. 
Per creare una nuova interrogazione scegliere "nuovo" quando è in evidenza la sotto-finestra "Query". 
La finestra di composizione di un'interrogazione è divisa in due parti. In quella superiore sono riportate le relazioni su cui viene fatta la ricerca. Nella parte inferiore vengono specificati quali campi devono apparire nel risultato, le condizioni che devono valere sul risultato, un eventuale ordinamento, funzioni di aggregazione (somma, conteggio, media ecc.). 
Un'interrogazione definita con questa interfaccia viene tradotta automaticamente dal sistema in un'espressione SQL. Questa espressione può essere visualizzata e modificata direttamente da un utente che conosca il linguaggio SQL. 
Per eseguire una interrogazione selezionare il bottone "!". Per vedere la versione SQL della query, aprire la query e scegliere ‘Visualizza SQL’ dal menù ‘Visualizza’.

Maschere
Una maschera permette di visualizzare dati in un formato definito dall'utente e di operarvi per compiere inserzioni, modifiche, ricerche o cancellazioni. Una maschera è collegata ad una relazione o ad un'interrogazione. Una maschera rappresenta sia parti immutabili (testi fissi od abbellimenti grafici), sia campi per la visualizzazione o l'inserzione di dati, oppure pulsanti di comando che attivano operazioni definite dall'utente in maniera opportuna. La composizione della maschera può avvenire manualmente utilizzando strumenti di composizione grafica, oppure attraverso un meccanismo di generazione semi-automatica.
In una maschera è anche possibile dare una visione gerarchica dei dati. Un campo della maschera può essere collegato infatti ad una sotto-maschera, con i dati in relazione con la maschera principale. 

Rapporti
Un rapporto è analogo ad una maschera ma è utilizzabile solo per la stampa. Nel rapporto è possibile specificare aggregazioni sui dati con gli usuali operatori di somma, media ecc. Anche i rapporti sono definiti visivamente utilizzando accorgimenti analoghi a quelli delle maschere, con una maggiore cura su aspetti tipografici, quindi possono essere visualizzati per controllo e infine stampati. 
Un aspetto interessante è la possibilità di inserire in un rapporto o in una maschera grafici generati automaticamente a partire da campi di una relazione. Il sistema propone un formato standard che l'utente può modificare con uno strumento apposito (Microsoft Graph). 
Quello che segue è un semplice rapporto generato sulla tabella "Ristoranti".

Esercizio 1
Realizzare il database descritto in queste pagine e riempirlo di dati. Successivamente realizzare le seguenti interrogazioni:
1.	Quali ristoranti sono aperti di domenica? 
2.	Dove ho mangiato i crostini? 
3.	Quanto si spende in media per una cena al ristorante? 
4.	Dove è possibile cenare in modo non "immangiabile" di martedì? 
5.	In quanti ristoranti buoni o ottimi ho mangiato nel 1998? 
Esempio di dati
Per la tabella Cene

Data	Antipasto	Primo	Secondo	Dolce	Spesa	Giudizio	Ristorante	
02/04/97	Crostini	Penna alla Norma	Involtini messinesi	Cassata	L. 32.000	Ottimo	La Stanzina	
06/01/98		Pasta e fagioli	Arista di maiale	Brigidini	L. 30.000	Buono	La Grotta	
20/02/98	Crostini		Branzino	Sorbetto al imone	L. 25.000	Decente	Barbarossa	
03/08/98	Antipasto misto	Ravioli alle ortiche	Tagliata	Tiramisu'	L. 35.000	Buono	La Stanzina	

Per la tabella Ristoranti

Nome	Citta'	Indirizzo	Telefono	Chiusura	
Barbarossa	Marina di Pisa	Via Litoranea 8	36320	mercoledi'	
La Grotta	Pisa	Via S. Francesco 103	578105	domenica	
La Stanzina	Pisa	Via Cavalca 30	570200	martedi'	

Esercizio 2
Realizzare una maschera (simile a quella in figura) per la tabella delle cene dove vengano visualizzati la data, la spesa, il giudizio e il ristorante. Aggiungere alla maschera un bottone di esecuzione query e collegarlo alla query “Dove posso mangiare in modo buono”. Aggiungere anche un altro bottone di “Trova Record”.