Andmete terviklikkus jaguneb järgmisteks kolmeks kategooriaks. (1) Domeeni terviklikkus: viitab veeru sisendi kehtivusele, kas see võib olla nullväärtus. Domeeni terviklikkust tagatakse tüübi (veeru andmetüübi määramisega), vormingu (CHECK piirangute ja reeglitega) või võimalike väärtuste vahemikuga (FOREIGN KEY piirangud, CHECK piirangud, VAIKIMISI definitsioonid, NOT NULL definitsioonid ja reeglid). Näiteks peavad õpilaste testitulemused olema vahemikus 0~100 ning sugu võib olla ainult "mees" või "naine". (2) Üksuse terviklikkus: tähendab, et kõik tabeli read oleksid unikaalsed. Entiteedi terviklikkus nõuab, et kõigil tabeli ridadel oleks unikaalne identifikaator. See unikaalne identifikaator võib olla veerg või mitme veeru kombinatsioon, mida nimetatakse primaarvõtmeks. See tähendab, et tabeli peamine võti peab võtma unikaalse väärtuse kõigil ridadel. Entiteedi terviklikkuse jõustamise meetodid on: indeksid, UNIKAALSED piirangud, PRIMAARVÕTME piirangud või IDENTITEEDI atribuudid. Näiteks peab SNO (õpilase number) väärtus õpilase tabelis olema unikaalne, see identifitseerib unikaalselt vastava kirje kaudu esindatud õpilase ning õpilase numbri dubleerimine on ebaseaduslik. Õpilase nime ei saa kasutada peamise võtmena, sest on täiesti võimalik, et kaks õpilast kannavad sama nime ja perekonnanime. (3) Referentsiaalne terviklikkus: See tähendab peamise märksõna (viidatud tabel) ja välise märksõna (viidete tabeli) vahelise referentsiaalse seose tagamist. See hõlmab järjepidevuse hooldust kahe või enama tabeli andmete puhul. Võõrvõtme väärtus seob viitetabelis olevad kirjed, mis seda võtit sisaldavad, viidetabelis olevate kirjetega, mis vastavad esmase võtmega võõrvõtmega. Kirjete sisestamisel, muutmisel või kustutamisel säilitatakse tabelite defineeritud seosed terviklikkuse seisukohalt, tagades, et võtmeväärtused on kõigis tabelites ühtsed. See järjepidevus nõuab, et mitteolemasolevaid väärtusi ei viidata ning kui võtmeväärtus muutub, muudetakse kõik selle võtmeväärtuse viited andmebaasis järjepidevalt. Referentsiaalne terviklikkus põhineb võõrvõtme ja primaarvõtme vahelisel seosel. Näiteks peab õpilase õppekursuse kursuse number olema kehtiv kursuse number ning hindamistabeli (hinnetabeli) võõrvõti CNO (kursuse number) viitab kursuse tabelis (kursuse ajakava) põhivõtmele CNO-le (kursuse number), et tagada andmete terviklikkus. Domeeniterviklikkus, entiteedi terviklikkus ja referentsiaalne terviklikkus on rakendatud vastavalt veergudel, ridadel ja tabelitel. Andmete terviklikkust saab rakendada igal ajal, kuid kui andmete terviklikkust rakendatakse tabelis olemasolevate andmetega, peab süsteem esmalt kontrollima, kas tabelis olevad andmed vastavad rakenduse terviklikkusele, ning ainult siis, kui tabelis olevad andmed vastavad rakenduse terviklikkusele, saab andmete terviklikkust edukalt rakendada. |