Wat is gegevensintegriteit?

In dit tijdperk waarin meer en meer gegevens dan ooit worden opgeslagen en geproduceerd, is het belangrijk dat de integriteit van onze gegevens wordt bewaard. Stel je voor dat we wat werknemers hebben die voor een MNC werken. Deze medewerkers werken voor twee afdelingen, bijvoorbeeld sales en finance. Beide afdelingen hebben hun eigen database tabellen. Moeten we het dossier van deze werknemers dan twee keer opslaan? Nee, data-integriteit zegt dat er geen dubbele data in onze database mag zijn., Er mag geen redundantie zijn en onze gegevens moeten consistent zijn in de hele database. Maar hoe kan dit worden bereikt? Er zijn verschillende beperkingen voor gegevensintegriteit die door het DBMS aan ons worden verstrekt. Laten we ze in detail bekijken.

gegevensintegriteit

gegevensintegriteit heeft correcte en nauwkeurige gegevens in uw database. Wanneer we gegevens in de database opslaan, willen we geen herhalende waarden, we willen geen onjuiste waarden of gebroken relaties tussen tabellen. Dus, laten we begrijpen door middel van een voorbeeld dat hoe gebroken relaties gegevens inconsistentie kunnen veroorzaken.,

voorbeeld: stel je voor dat we een klantendatabase hebben met twee tabellen: “customer_table” (customer_id, customer_name, purchased_item) en “purchase_table” (purchase_id, purchased_item). Deze twee tabellen zijn zodanig gerelateerd dat als een aankoop wordt gedaan door de klant dan die gegevens van het gekochte item zal worden opgeslagen in de inkoop_tabel. Dus, als we een record van een gekocht item in de aankoop_tabel dan die aankoop moet worden gemaakt door een klant aanwezig in de klant _tabel., Nu, laten we eens kijken naar een situatie waarin de aankooptabel zegt dat een item wordt gekocht door een customer_id zeggen 10, maar dat customer_id niet bestaat in de customer_table. Het is niet mogelijk dat een aankoop wordt gedaan zonder een klant. Een dergelijke situatie kan zijn ontstaan doordat de gegevens van de klant uit customer_table zijn verwijderd. Dus als de gegevens van de klant uit de klantentabel worden verwijderd, moeten de bijbehorende gegevens ook uit de aankooptabel worden verwijderd. Daarom moeten de wijzigingen in de database consequent worden bijgewerkt om de integriteit van de gegevens te behouden.,

gegevensintegriteit kan worden gehandhaafd met beperkingen. Deze beperkingen definiëren de regels volgens welke de bewerkingen zoals updation, deletion, insertions etc. moeten worden uitgevoerd om de integriteit van de gegevens te behouden. Er zijn hoofdzakelijk vier typen gegevensintegriteit:

  1. Domeinintegriteit
  2. Entiteitintegriteit
  3. referentiële integriteit
  4. door de gebruiker gedefinieerde integriteit

Domeinintegriteit

domein verwijst naar het bereik van aanvaardbare waarden. Het verwijst naar het bereik van waarden die we gaan accepteren en opslaan in een bepaalde kolom in een database., De beschikbare Gegevenstypes zijn hoofdzakelijk integer, tekst, datum enz. Elke vermelding die we maken voor een kolom moet beschikbaar zijn in het domein van het gegevenstype.

voorbeeld: als we het salaris van de werknemers in de ‘employee_table’ moeten opslaan, dan kunnen we beperkingen stellen dat het alleen een geheel getal moet zijn. Elke entry anders dan integer-achtige karakters zou niet acceptabel zijn en wanneer we proberen om input als deze te geven, zal het DBMS fouten produceren.

Entity Integrity

elke rij voor een entiteit in een tabel moet uniek worden geïdentificeerd, d.w.z., idf sommige record wordt opgeslagen in de database dan dat record moet uniek worden geïdentificeerd van anderen. Dit wordt gedaan met behulp van primaire sleutels. De entity constraint zegt dat de waarde van de primaire sleutel niet nul moet zijn. Als de waarde van de primaire sleutel NULL is, kunnen we de rijen niet uniek identificeren als alle andere velden hetzelfde zijn. Ook kunnen we met behulp van de primaire sleutel elk record uniek identificeren.

voorbeeld: als we een klantendatabase hebben en customer_table daar aanwezig is met attributen zoals leeftijd en naam. Dan moet elke klant uniek worden geïdentificeerd., Er kunnen twee klanten met dezelfde naam en dezelfde leeftijd, dus er kan verwarring zijn tijdens het ophalen van de gegevens. Als we de gegevens van de klant met de naam ‘Angel’ ophalen, dan hebben twee rijen deze naam en zou er verwarring zijn. Dus, om dit probleem op te lossen worden primaire sleutels toegewezen in elke tabel en het identificeert uniek elke ingang van de tabel.

referentiële integriteit

referentiële integriteit wordt gebruikt om de gegevensconsistentie tussen twee tabellen te behouden., In de databasestructuur worden regels gemaakt over hoe buitenlandse sleutels moeten worden gebruikt om ervoor te zorgen dat wijzigingen, toevoeging en verwijdering in de database de integriteit van de gegevens behouden. De referentiële integriteitsbeperkingen stellen dat als een vreemde sleutel in de eerste tabel verwijst naar de primaire sleutel van de tweede tabel, Elke waarde van de vreemde sleutel in de eerste tabel ofwel nul moet zijn of aanwezig moet zijn in de tweede tabel.

voorbeeld: stel dat we twee tabellen hebben van de student (student_id, naam, leeftijd, course_id) en cursus(course_id, course_name, duration)., Nu, als er een cursus_id aanwezig is in de studententabel die er niet is in de cursustabel dan is dit niet toegestaan. De cursus_id in de studententabel moet ofwel null zijn of als er een cursus_id aanwezig is in de studententabel, dan moet het ook aanwezig zijn in de cursustabel. Dit is hoe referentiële integriteit wordt gehandhaafd.

door de gebruiker gedefinieerde integriteit

soms zijn deze drie integriteit, dat wil zeggen domein -, referentiële-en entiteitintegriteit, niet voldoende om de gegevensintegriteit te behouden., Dergelijke integriteit wordt meestal geïmplementeerd via triggers en opgeslagen procedures. Triggers zijn een blok statements dat automatisch wordt uitgevoerd als er vooraf gedefinieerde gebeurtenissen optreden.

Voorbeeld1: wanneer een nieuwe rij wordt ingevoegd in een student_tabel die merktekens van verschillende vakken van studenten heeft, wordt automatisch ook een nieuw gemiddelde berekend en opgeslagen.

we kunnen hier ook enkele door de gebruiker gedefinieerde beperkingen en Specifieke bedrijfsregels definiëren.

Voorbeeld2: als we een tabel aanmaken voor registratie en we willen dat de leeftijd van de gebruiker groter is dan 21., Een dergelijk type beperking wordt ingesteld door de gebruiker.

Voorbeeld3: stel dat we een employee_tabel hebben met attributen zoals emp_id, emp_name, job_name, salaris, mobile_no. Hier hebben we beperkingen dat de id van een werknemer altijd moet beginnen met een aantal specifieke tekens zoals ‘AfterAcademy’ en dan gevolgd door cijfers. Elke vermelding die niet aan deze beperking voldoet, zou dus niet aanvaardbaar zijn.

dus, vandaag leerden we over data-integriteit en hoe het helpt bij het handhaven van de data-integriteit. Ik hoop dat je vandaag iets nieuws hebt geleerd.