Corso di Microsoft Access

Le regole di integrità

 

Oggi parliamo di un altro argomento che ci permette di inquadrare in un contesto teorico più corretto alcuni argomenti già trattati in ordine sparso nelle precedenti lezioni: le regole di integrità.

Si parla di due tipi di regole d’integrità: generali e specifiche del database.
Per quanto riguarda le regole generali sono l’integrità dell’entità e l’integrità referenziale. L’integrità dell’entità è molto semplice e prevede che il campo di chiave primaria non sia nullo (vuoto). La ragione di essere di questa regola è evidente: non si può identificare univocamente una riga se la chiave primaria può essere nulla. Questo è valido anche per le chiavi primarie composte (in questo caso nessuno dei campi che formano la chiave primaria può essere nullo). Questa regola viene applicata automaticamente da Access che non accetta chiavi primarie nulle.
La regola d’integrità referenziale prevede che un database non deve contenere nessuna chiave esterna senza un valore corrispondente. Questo significa che, fra due tabelle in relazione fra loro:
non può essere aggiunta una riga che fa riferimento ad un’altra riga nell’altra tabella, senza che questa esista realmente;
non si può cancellare una riga di una tabella la quale è collegata (tramite chiavi esterne) ad una o più righe dell’altra tabella. In questo caso Access permette di impostare due scelte: o la cancellazione è respinta completamente o la cancellazione viene estesa a catena a tutte le righe dipendenti.

Ma andiamo a vedere in concreto come si impostano le relazioni.
Ipotizziamo di avere due tabelle, prodotti e ordini; le due tabelle saranno messe in relazione dal campo cod. art. (codice articolo) che è chiave primaria nella tabella prodotti e chiave esterna nella tabella ordini.

Con il pulsante relazioni si apre una finestra in cui, tramite tasto destro del muose e mostra tabella, verranno inserite le due tabelle.
Quindi si clicca sulla chiave primaria della tabella prodotti (cod art) e si trascina sulla corrispondente chiave esterna della tabella ordini. Si apre a questo punto una nuova finestra come indicato nella figura sottostante.

La relazione viene creata. Nella finestra modifica relazioni, oltre a vedere le tabelle collegate, la chiave interna e la chiave esterna, si imposta l’integrità referenziale. Nell’esempio mostrato gli aggiornamenti del campo cod art  nella tabella articoli saranno aggiornati a catena anche nella tabella ordini. La cancellazione invece non sarà permessa fino a quando non sarà selezionata la voce Elimina record correlati a catena.

Le regole d’integrità specifiche del database sono quelle definite dal creatore del database stesso. Riguardano i dati che verranno inseriti nelle tabelle e hanno lo scopo di assicurare che questi dati siano corretti, in modo da avere un database che contiene informazioni logiche. Esempi di alcune regole possono essere: la data e l’ora dell’ordine non possono essere precedenti all’ora corrente, l’ora e la data di consegna devono essere successive alla data dell’ordine, la quantità ordinata non può essere inferiore a 1 ecc.
Si tratta delle regole più svariate che dipendono dal tipo di dati che si vogliono immagazzinare nel database.
Come creare queste regole è già stato spiegato nelle lezioni 3 e 4 quando si è parlato della definizione dei campi nelle tabelle.
In particolare questi criteri di validazione dei dati inseriti vengono specificati con la proprietà ‘valido se’ della maschera di costruzione della tabella. Con la proprietà ‘messaggio errore’ è possibile mostrare un messaggio personalizzato qualora l’utente inserisca dei dati al di fuori del range specificato.

Con questa lezione si conclude l’esame delle tabelle del database. Dalla prossima cominceremo a vedere come estrarre e manipolare i dati contenuti nelle tabelle.

 

Torna all'indice Generale del corso di Corso di Microsoft Access di Software Planet