La
tabella si presenta come una sorta di foglio Excel,
le colonne sono identificate dai Campi,
mentre le righe dai Valori
memorizzati negli stessi campi.
Creando
una nuova tabella, ci troviamo a dover dettagliare
le caratteristiche dei campi che intendiamo utilizzare,
tali caratteristiche sono principalmente:
Nome
Tipo
di dato memorizzato (può essere un testo,
un numero, una data...)
Eventuale
dimensione o specifica del tipo dato (numero
caratteri, tipo di numero...)
Valore
di default (è quel valore proposto ad ogni
nuovo record inserito)
Univocità
dei valori nella tabella e assegnazione della
chiave primaria...
La
chiave primaria, rappresenta quel campo (o insieme
di campi) che per ragioni di unicità di valore,
deve essere esclusiva nella tabella. Nel caso
classico di una tabella anagrafica, troviamo campi
quali: Ragione Sociale, Via, Telefono.... e sicuramente
Codice Cliente. Tale codice deve ovviamente essere
univoco nella tabella così che non possa mai sussistere
la codizione di due clienti con uguale codice.
Definiremo questo Codice come chiave primaria,
in altre parole Codice sarà quel valore utilizzabile
per relazionare la tabella Anagrafica con per
esempio una tabella Contatti.
In
una tabella normalmente esistono campi più soggetti
a ricerche e ordinamenti da parte dell'utente.
Sempre in riferimento ad una Anagrafica, la Ragione
Sociale può diventare un utile mezzo di ricerca
all'interno della tabella. Per migliorare le prestazioni
di queste ricerche, si definiscono gli Indici.
Esistono Indici a valori Univoci (chiavi primarie)
e Indici a valori Dupplicabili.
Troppi Indici appesantiscono la memoria del PC
peggiorando le prestazioni dell'applicativo; è
quindi un dovere limitarne l'utilizzo ai campi
strettamente necessari.
Nell'esempio
Anagrafica Cliente-Contatti, si potrebbero adottare
le seguenti indicizzazioni:
Ragione
Sociale (nella tabella Anagrafica Cliente):
Indice con Dupplicati possibili.
Codice
Cliente (nella tabella Contatti): Indice con
Dupplicati possibili.
Cognome
Contatto (nella tabella Contatti): Indice
con Dupplicati possibili.
A
questo punto sorge naturale la necessità di relazionare
le due tabelle in modo da chiarire al database
che i due codici Clienti uniscono a tutti gli
effetti le tue tabelle.
Parliamo quindi di Relazioni:
Le relazioni posso essere di diverso tipo:
Semplici.
Uno-Molti,
Molti-Uno, Uno-Uno, Molti-Molti.
Le
prime indicano una semplice corrispondenza tra
due campi di altrettante tabelle, senza però chiarirne
il particolare Tipo di Corrispondenza.
In riferimento ai Clienti-Contatti, potremmo dire
che ad Un Cliente possono corrispondere Molti
Contatti. Ecco che abbiamo preso una relazione
Uno-Molti.
Se volessimo migliorare ulteriormente questa relazione,
potremmo specificarne le Integrità Referenziali.
Queste sono come la stessa definizione suggerisce,
proprietà che garantiscono l'integrità tra due
tabelle. Supponendo di cancellare un Cliente,
i relativi contatti non avrebbero più senso di
esistere, è possibile quindi fare in modo che
alla cancellazione di un Cliente, vengano automaticamente
cancellati i Contatti associati.
Specificare
Integrità Referenziali su tabelle preesistenti
può non essere sempre fattibile, è bene innanzi
tutto controllare che le regole di integrità per
i dati esistenti siano verificare (ed eventualmente
correggerle), devono essere anche corrette le
definizione degli indici e le corrispondenze tra
i Tipi di Campi.
Ovviamente non è possibile relazionare un Campo
Testuale con un Campo Numerico...
Access
97 non permette di stampare su carta la struttura
tabellare, solo grazie ad alcuni add-in
aggiuntivi è possibile ottenere
tale funzionalità.