Una buona strutturazione semplifica le operazioni di aggiornamento e manutenzione del database. I dati vengono memorizzati in tabelle e ogni tabella include i dati relativi a un solo argomento, ad esempio i clienti. In questo modo, se è necessario aggiornare un'informazione specifica, ad esempio un indirizzo, è possibile apportare la modifica in una sola posizione per renderla disponibile automaticamente in tutto il database.
Un database ben strutturato include, in genere, diversi tipi di query per la visualizzazione delle informazioni necessarie. Le query consentono di visualizzare un sottoinsieme di dati, ad esempio tutti i clienti di Londra, oppure combinazioni di dati provenienti da tabelle diverse, ad esempio informazioni relative agli ordini o ai clienti.
Questa
query recupera l'ID dell'ordine, il nome della società, la città e le
informazioni di data necessarie per i clienti di Londra che hanno inoltrato
ordini in aprile.
I risultati che si desidera ottenere dal database, ovvero le maschere, le pagine di accesso ai dati e i report, non forniscono necessariamente indicazioni su come strutturare le tabelle del database, in quanto le maschere, i report e le pagine di accesso ai dati sono spesso basati sulle query anziché sulle tabelle.
Prima di utilizzare Microsoft Access per creare tabelle, query, maschere e altri oggetti, è consigliabile elaborare una bozza della struttura su carta e rielaborarla fino a ottenere i risultati desiderati. È inoltre possibile esaminare database ben strutturati con caratteristiche simili oppure aprire il database di esempio Northwind e quindi aprire la finestra Relazioni per esaminarne la struttura.
Di seguito vengono descritti i passaggi fondamentali per la progettazione di un database.
Determinare
lo scopo del database
Il primo passaggio per la strutturazione di un database consiste nel determinarne lo scopo e le modalità di utilizzo:
· Consultare gli utenti che utilizzeranno il database per individuare le esigenze che dovranno essere soddisfatte.
· Elaborare delle bozze dei report che si desidera produrre.
· Raccogliere la modulistica in uso per la registrazione dei dati, da utilizzare come modello per le maschere.
Durante la fase di definizione degli scopi del database si otterrà un elenco delle informazioni necessarie, dal quale è possibile dedurre i fatti che è necessario memorizzare nel database e la categoria di appartenenza dei vari fatti, ovvero i singoli argomenti. I fatti corrispondono ai campi (le colonne) del database e gli argomenti corrispondono alle tabelle.
Determinare
i campi necessari nel database
Ogni campo rappresenta un fatto relativo a un argomento specifico. Ad esempio, è possibile memorizzare i seguenti fatti relativi ai clienti: nome della società, indirizzo, città, paese e numero telefonico. Per ogni fatto è necessario creare un campo distinto. Nel definire i campi necessari, tenere presenti i seguenti suggerimenti a livello di strutturazione:
· Includere tutte le informazioni necessarie.
· Memorizzare le informazioni suddividendole al massimo dal punto di vista logico. Ad esempio, i nomi dei dipendenti vengono spesso divisi in due campi, Nome e Cognome, in modo da agevolare l'ordinamento dei dati in base al cognome.
· Non creare campi per dati costituiti da elenchi con numerose voci. Ad esempio, se in una tabella Fornitori viene creato un campo Prodotti che include un elenco separato da virgole per ogni prodotto ricevuto dal fornitore, risulterà più difficile individuare solo i fornitori che forniscono un determinato prodotto.
· Non includere dati derivati o calcolati (dati che siano il risultato di un'espressione). Ad esempio, se sono disponibili un campo PrezzoUnitario e un campo Quantità, non creare un campo aggiuntivo per moltiplicare i valori di questi due campi.
· Non creare campi simili. Ad esempio, se nella tabella Fornitori vengono creati i campi Prodotto1, Prodotto2 e Prodotto3, risulterà più difficile individuare tutti i fornitori che forniscono un determinato prodotto. Inoltre, se un fornitore fornisce più di tre prodotti, sarà necessario modificare la struttura del database. È necessario un solo campo per i prodotti, se tale campo viene inserito nella tabella Prodotti anziché nella tabella Fornitori.
Determinare
le tabelle necessarie nel database
Ogni tabella deve contenere informazioni relative a un solo argomento. L'elenco dei campi fornirà indicazioni sulle tabelle necessarie. Ad esempio, se esiste un campo DataAssunzione, il relativo argomento è un dipendente, pertanto il campo appartiene alla tabella Impiegati. È possibile creare una tabella Clienti, una tabella Prodotti e una tabella Ordini.
Determinare
la tabella a cui appartiene ogni campo
Nel determinare la tabella a cui appartiene ogni campo, attenersi alle seguenti regole di strutturazione:
· Aggiungere un campo a una sola tabella.
· Non aggiungere un campo a una tabella se ne consegue che le stesse informazioni sono incluse in più record di tale tabella. Se un campo in una tabella include numerose informazioni duplicate, è probabile che il campo sia inserito nella tabella sbagliata.
Ad esempio, se si aggiunge il campo contenente l'indirizzo di un cliente alla tabella Ordini, è probabile che queste informazioni vengano ripetute in più record, in quanto i clienti inoltrano in genere più di un ordine. Tuttavia, se si aggiunge il campo Indirizzo alla tabella Clienti, il campo apparirà una sola volta. È questa la differenza tra una tabella di un database di Microsoft Access e una tabella di un database non relazionale, ad esempio un foglio di calcolo.
Se ogni informazione è memorizzata in una sola tabella, è possibile aggiornarla in un'unica posizione. Ciò risulta più funzionale e inoltre impedisce che voci duplicate contengano informazioni diverse.
Identificare
i campi con valori univoci in ciascun record
Per fare in modo che le informazioni memorizzate in diverse tabelle vengano collegate, ad esempio per collegare un cliente a tutti i suoi ordini, è necessario che ciascuna tabella del database comprenda un campo o un set di campi che identifichi in modo univoco ogni singolo record della tabella. Tale campo o set di campi viene definito chiave primaria.
Determinare
le relazioni tra le tabelle
Dopo avere suddiviso le informazioni nelle tabelle e avere identificato i campi chiave primaria, è necessario indicare a Microsoft Access in che modo riunire le informazioni correlate in maniera significativa. A tale scopo è necessario definire relazioni tra le tabelle.
Può risultare utile esaminare le relazioni definite in un database esistente ben strutturato, come il database di esempio Northwind.
Dopo aver strutturato le tabelle, i campi e le relazioni necessari, esaminare la struttura e individuare le eventuali imperfezioni rimaste. È più semplice modificare la struttura del database in questa fase, piuttosto che dopo aver inserito i dati nelle tabelle.
Utilizzare Microsoft Access per creare tabelle, specificare le relazioni tra queste ultime e aggiungervi dati di esempio sufficienti che consentano di verificare la struttura. Per verificare le relazioni nel database, controllare se è possibile creare delle query per ottenere le risposte desiderate. Creare bozze delle maschere e dei report e verificare se visualizzano i dati previsti. Ricercare eventuali dati ripetuti ed eliminarli.
Aggiungere
dati e creare altri oggetti di database
Una volta constatato che la struttura della tabella risponde ai principi illustrati, è necessario procedere all'aggiunta di tutti i dati esistenti nelle tabelle. È possibile creare altri oggetti di database, ovvero le query, le maschere, i report, le pagine di accesso ai dati, le macro e i moduli.
Utilizzare
gli strumenti di analisi di Microsoft Access
In Microsoft Access sono disponibili due strumenti che consentono di perfezionare la struttura di un database di Microsoft Access.
· L'Analizzatore tabelle è in grado di analizzare una struttura di una tabella alla volta, di proporre nuove strutture e relazioni, se appropriate, e di dividere una tabella in nuove tabelle correlate, se opportuno.
· L'Analizzatore Prestazioni è in grado di analizzare l'intero database e fornire consigli e suggerimenti per migliorarlo. La procedura guidata consente inoltre di implementare tali consigli e suggerimenti.