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