Целостта на данните се разделя на следните 3 категории. (1) Целостта на домейна: отнася се до входната валидност на колона, дали е позволено да бъде нулева стойност. Целостта на домейна се налага чрез ограничаване на типа (чрез задаване на типа данни на колоната), формата (чрез ограничения и правила на CHECK) или чрез диапазона на възможните стойности (чрез ограничения FOREIGN KEY, ограничения CHECK, дефиниции по подразбиране, дефиниции NOT NULL и правила). Например, резултатите на учениците трябва да са между 0~100, а полът може да бъде само "мъжки" или "женски". (2) Цялост на обекта: означава гарантиране, че всички редове в таблицата са уникални. Целостта на обекта изисква всички редове в таблицата да имат уникален идентификатор. Този уникален идентификатор може да бъде колона или комбинация от няколко колони, наречена първичен ключ. Тоест, първичният ключ в таблицата трябва да има уникална стойност за всички редове. Методите за налагане на целостта на обекта са: индекси, УНИКАЛНИ ограничения, PRIMARY KEY ограничения или атрибути IDENTITY. Например, стойността на SNO (студентски номер) в студентската таблица трябва да е уникална, тя уникално идентифицира студента, представен от съответния запис, а дублирането на студентския номер е незаконно. Името на ученика не може да се използва като основен ключ, тъй като е напълно възможно двама ученици да имат едно и също име и фамилия. (3) Референтна цялост: Тя се отнася до осигуряване на референтната връзка между основната ключова дума (таблицата с цитати) и външната ключова дума (таблица на цитиране). Тя включва поддържане на консистентност за две или повече таблици данни. Стойността на външния ключ свързва записите в референтната таблица, които съдържат този ключ, с записите в таблицата, които съвпадат първичния ключ с външния ключ. При въвеждане, промяна или изтриване на записи, дефинираните връзки между таблиците се запазват с оглед на целостта, като се гарантира, че ключовите стойности са последователни във всички таблици. Тази консистентност изисква да не се реферират несъществуващи стойности, а ако ключова стойност се промени, всички препратки към тази ключова стойност се променят последователно в цялата база данни. Референтната цялост се основава на връзката между външния и първичния ключ. Например, номерът на курса на студентския курс трябва да е валиден номер на курс, а чуждият ключ CNO (номер на курс) в таблицата с оценки (таблицата с оценки) ще се отнася до основния ключ CNO (номер на курс) в таблицата на курсовете (график на курсовете), за да се постигне целостта на данните. Целостта на домейна, целостта на обекта и референтната цялост се реализират съответно върху колони, редове и таблици. Целостта на данните може да бъде реализирана по всяко време, но при прилагане на целостта на данните върху таблица с вече съществуващи данни, системата първо трябва да провери дали данните в таблицата отговарят на целостта на имплементацията, и само ако данните в таблицата отговарят на целостта на имплементацията, целостта на данните може да бъде успешно реализирана. |