Regole di Integrità
Integrità significa garantire che le operazioni effettuate sul database da utenti autorizzati non provochino una perdita di consistenza ai dati. Integrità può essere sul Dato, sull'Entità e Referenziale.
-
Integrità sul dato: La validità dei dati. Dipende dall'analisi della situazione.
esempio
Codice fiscale deve essere uguale a 16 caratteri. Il sistema non deve accettare il dato che non soddisfa i requisiti perché un codice fiscale minore o maggiore di 16 caratteri non è più valido, non può essere un codice fiscale.
oppure
Il prezzo di un articolo non può essere negativo. Il prezzo deve essere positivo altrimenti non è un attributo valido.
oppure
Data di nascita non può essere superiore alla data odierna.
-
Integrità sull'entità: Presenza di un campo, che è CHIAVE PRIMARIO, che appartiene ad un dominio cioè insieme di valori che l'entità può assumere e devono essere tutti diversi
Grazie alla chiave primaria, due persone con lo stesso nome e cognome sono distinguibili.
Le regole sono:
-
tutte le righe della tabella contengono lo stesso numero di colonne, corrispondente agli attributi;
-
gli attributi rappresentano informazioni elementari (o atomiche), non scomponibili ulteriormente, cioè non ci sono campi di gruppo che contengono per ogni riga un insieme di valori anziché un solo valore;
-
i valori assunti da un campo appartengono al dominio dei valori possibili per quel campo, e quindi sono valori omogenei tra loro, cioè sono dello stesso tipo;
-
in una relazione, ogni riga è diversa da tutte le altre, cioè non ci possono essere due righe con gli stessi valori dei campi: questo significa che esiste un attributo o una combinazione di più attributi che identificano univocamente la n-upla, e che assumono perciò la funzione di chiave primaria della relazione;
-
le n-uple compaiono nella tabella secondo un ordine non prefissato, cioè non è rilevante il criterio con il quale le righe sono sistemate nella tabella.
-
Integrità Referenziale: Valori di una chiave esterna che deve avere un riferimento alla chiave privata dell'entità correlata.
Quando viene applicata l’integrità referenziale, è necessario osservare le seguenti regole pratiche:
-
Non è possibile immettere un valore nella chiave esterna della tabella associata, se tale valore non esiste tra le chiavi della tabella primaria.
-
Non è possibile eliminare una n-upla dalla tabella primaria, se esistono righe legate ad essa attraverso la chiave esterna nella tabella correlata
-
Non si può modificare, come è ovvio, il valore della chiave nella tabella primaria, se ad essa corrispondono righe nella tabella correlata.
Esempio
Considera la struttura degli istituti bancari organizzati in agenzie dove sono depositati i conti correnti dei clienti.
Per ogni agenzia devi ottenere informazioni relative al direttore (nome, cognome, indirizzo mail).
La base di dati deve essere in grado di memorizzare i dati relativi ai movimenti effettuati su ciascun conto corrente (importo, tipo e data).
Il tipo del movimento indica se si tratta di un prelievo o di un versamento.
In ogni momento deve essere data la possibilità di conoscere il saldo del conto corrente.