Che cos’è l’integrità dei dati?
In questa epoca in cui sempre più dati vengono memorizzati e prodotti che mai, è importante che l’integrità dei nostri dati sia preservata. Immaginate di avere alcuni dipendenti che lavorano per un MNC. Questi dipendenti lavorano per due dipartimenti dicono, vendite e finanza. Entrambi questi dipartimenti hanno le proprie tabelle di database. Allora abbiamo bisogno di memorizzare il record di questi dipendenti due volte? No, l’integrità dei dati dice che non ci dovrebbero essere dati duplicati nel nostro database., Non ci dovrebbe essere ridondanza e i nostri dati dovrebbero essere coerenti in tutto il database. Ma, come può essere raggiunto? Ci sono vari vincoli di integrità dei dati forniti dal DBMS. Quindi, vediamoli in dettaglio.
Integrità dei dati
L’integrità dei dati è avere dati corretti e precisi nel database. Quando memorizziamo i dati nel database non vogliamo valori ripetuti, non vogliamo valori errati o relazioni interrotte tra le tabelle. Quindi, capiamo attraverso un esempio che come le relazioni interrotte possono causare incoerenza dei dati.,
Esempio: Immaginiamo di avere un database clienti in cui abbiamo due tabelle, ovvero ‘ customer_table ‘(customer_id, customer_name, purchase_id) e’purchase_table’ (purchase_id, purchhased_item). Queste due tabelle sono correlate in modo tale che se un acquisto viene effettuato dal cliente, i dati dell’articolo acquistato verranno memorizzati nella tabella purchase_table. Quindi, se abbiamo un record di un articolo acquistato nella purchase_table, quell’acquisto deve essere effettuato da un cliente presente nella customer _table., Ora, consideriamo una situazione in cui la tabella di acquisto dice che un articolo è stato acquistato da un customer_id dire 10 ma che customer_id non esiste nel customer_table. Non è possibile che un acquisto sia fatto senza un cliente. Tale situazione potrebbe essersi verificata perché i dati del cliente sono stati rimossi da customer_table. Pertanto, se i dati del cliente vengono rimossi dalla tabella cliente, anche i dati corrispondenti devono essere rimossi dalla tabella degli acquisti. Pertanto, le modifiche nel database devono essere aggiornate in modo coerente per mantenere l’integrità dei dati.,
L’integrità dei dati può essere mantenuta utilizzando i vincoli. Questi vincoli definiscono le regole in base alle quali le operazioni come l’aggiornamento, la cancellazione, gli inserimenti ecc. devono essere eseguite per mantenere l’integrità dei dati. Esistono principalmente quattro tipi di integrità dei dati:
- Integrità del dominio
- Integrità dell’entità
- Integrità referenziale
- Integrità definita dall’utente
Integrità del dominio
Il dominio si riferisce all’intervallo di valori accettabili. Si riferisce all’intervallo di valori che accetteremo e memorizzeremo in una particolare colonna all’interno di un database., I tipi di dati disponibili sono principalmente interi,testo, data ecc. Qualsiasi voce che facciamo per una colonna dovrebbe essere disponibile nel dominio del tipo di dati.
Esempio: se dobbiamo memorizzare lo stipendio dei dipendenti in ‘employee_table’ allora possiamo mettere vincoli che dovrebbe essere solo un NUMERO INTERO. Qualsiasi voce diversa da interi come caratteri non sarebbe accettabile e quando proviamo a dare input come questo, il DBMS produrrà errori.
Integrità entità
Ogni riga di un’entità in una tabella deve essere identificata in modo univoco, ovvero, idf alcuni record vengono salvati nel database, quindi quel record deve essere identificato in modo univoco dagli altri. Questo viene fatto con l’aiuto delle chiavi primarie. Il vincolo di entità dice che il valore della chiave primaria non deve essere NULLO. Se il valore della chiave primaria è NULL, non possiamo identificare in modo univoco le righe se tutti gli altri campi sono uguali. Inoltre, con l’aiuto della chiave primaria, possiamo identificare in modo univoco ogni record.
Esempio: Se abbiamo un database clienti e customer_table è presente lì con attributi come età e nome. Quindi ogni cliente dovrebbe essere identificato in modo univoco., Potrebbero esserci due clienti con lo stesso nome e la stessa età, quindi potrebbe esserci confusione durante il recupero dei dati. Se recuperiamo i dati del cliente chiamato “Angel”, due righe hanno questo nome e ci sarebbe confusione. Quindi, per risolvere questi problemi le chiavi primarie vengono assegnate in ogni tabella e identifica in modo univoco ogni voce della tabella.
Integrità referenziale
L’integrità referenziale viene utilizzata per mantenere la coerenza dei dati tra due tabelle., Nella struttura del database vengono stabilite regole su come utilizzare le chiavi esterne per garantire che le modifiche, l’aggiunta e l’eliminazione nel database mantengano l’integrità dei dati. I vincoli di integrità referenziale affermano che se una chiave esterna nella prima tabella si riferisce alla chiave primaria della seconda tabella, ogni valore della chiave esterna nella prima tabella deve essere nullo o presente nella seconda tabella.
Esempio: Supponiamo di avere due tabelle dello studente (student_id, name, age, course_id) e course(course_id, course_name, duration)., Ora, se qualche course_id è presente nella tabella degli studenti che non è presente nella tabella del corso, questo non è permesso. Il course_id nella tabella student dovrebbe essere null o se qualsiasi course_id è presente nella tabella student, dovrebbe essere presente anche nella tabella del corso. Questo è il modo in cui viene mantenuta l’integrità referenziale.
Integrità definita dall’utente
A volte questi tre integrità cioè dominio, referenziale e integrità dell’entità non sono sufficienti per mantenere l’integrità dei dati., Tale integrità è in genere implementata attraverso trigger e stored procedure. I trigger sono un blocco di istruzioni che viene eseguito automaticamente se si verificano eventi predefiniti.
Example1: Ogni volta che una nuova riga viene inserita in una student_table che ha segni di diversi soggetti di studenti, viene automaticamente calcolata e memorizzata anche una nuova media.
Qui possiamo anche definire alcuni vincoli definiti dall’utente e regole aziendali specifiche.
Example2: Se stiamo creando una tabella per la registrazione e vogliamo che l’età dell’utente dovrebbe essere maggiore di 21., Tale tipo di vincolo è impostato dall’utente.
Example3: Supponiamo di avere un employee_table con attributi come emp_id, emp_name, job_name, salary, mobile_no. Qui abbiamo vincoli che l’ID di un dipendente dovrebbe sempre iniziare con alcuni caratteri specifici come ‘AfterAcademy’ e poi seguito da cifre. Quindi, qualsiasi voce che non segue questo vincolo non sarebbe accettabile.
Così, oggi abbiamo imparato a conoscere l’integrità dei dati e come aiuta a mantenere l’integrità dei dati. Spero che tu abbia imparato qualcosa di nuovo oggi.