Dataintegritet opdeles i følgende 3 kategorier. (1) Domæneintegritet: henviser til inputvaliditeten af en kolonne, om den må være nulværdi. Domæneintegritet håndhæves ved at begrænse typen (ved at sætte kolonnens datatype), formatet (ved CHECK-begrænsninger og regler) eller ved intervallet af mulige værdier (ved FOREIGN KEY-begrænsninger, CHECK-begrænsninger, DEFAULT-definitioner, NOT NULL-definitioner og regler). For eksempel skal elevernes testresultater være mellem 0~100, og kønnet kan kun være "mand" eller "kvinde". (2) Entitetsintegritet: henviser til at sikre, at alle rækker i tabellen er unikke. Entitetsintegritet kræver, at alle rækker i tabellen har en unik identifikator. Denne unikke identifikator kan være en kolonne eller en kombination af flere kolonner, kaldet primærnøglen. Det vil sige, at primærnøglen i tabellen skal have en unik værdi på alle rækker. Metoder til at håndhæve entitetsintegritet er: indekser, UNIKKE begrænsninger, PRIMARY KEY-begrænsninger eller IDENTITY-attributter. For eksempel skal værdien af SNO (studentnummer) i student-tabellen være unik, den entydigt identificerer den studerende, der repræsenteres af den tilsvarende post, og duplikering af studenternummeret er ulovlig. Den studerendes navn kan ikke bruges som hovednøgle, da det er fuldt ud muligt, at to studerende har samme navn og efternavn. (3) Referentiel integritet: Det refererer til at sikre det refererende forhold mellem hovednøgleordet (citeret tabel) og det eksterne nøgleord (citattabellen). Det indebærer konsistensvedligeholdelse for to eller flere tabeldata. Fremmednøgleværdien forbinder posterne i referencetabellen, der indeholder denne nøgle, med posterne i den refererede tabel, som matcher primærnøglen med fremmednøglen. Når man indtaster, ændrer eller sletter poster, opretholdes de definerede relationer mellem tabellerne med henvisning til integritet, hvilket sikrer, at nøgleværdierne er konsistente på tværs af alle tabeller. Denne konsistens kræver, at ikke-eksisterende værdier ikke refereres, og hvis en nøgleværdi ændres, ændres alle referencer til den nøgleværdi konsekvent i hele databasen. Referentiel integritet er baseret på forholdet mellem fremmednøglen og primærnøglen. For eksempel skal kursusnummeret for kurset i det studerende kursus være et gyldigt kursusnummer, og den fremmede nøgle CNO (kursusnummer) i scoretabellen (karaktertabellen) vil referere til primærnøglen CNO (kursusnummer) i kursustabellen (kursusplanen) for at opnå dataintegritet. Domæneintegritet, entitetsintegritet og referentiel integritet implementeres henholdsvis i kolonner, rækker og tabeller. Dataintegritet kan implementeres når som helst, men når dataintegritet implementeres på en tabel med eksisterende data, skal systemet først kontrollere, om dataene i tabellen opfylder implementeringsintegriteten, og kun hvis dataene i tabellen opfylder implementeringsintegriteten, kan dataintegriteten implementeres med succes. |