Целостность данных - это механизм поддержания соответствия базы данных предметной области. В реляционной модели данных определены два базовых требования обеспечения целостности: целостность ссылок и целостность сущностей.
Целостность сущностей: Объект реального мира представляется в реляционной базе данных как кортеж некоторого отношения. Требование целостности сущностей заключается в следующем: каждый кортеж любого отношения должен отличатся от любого другого кортежа этого отношения (т.е. любое отношение должно обладать первичным ключом).
Вполне очевидно, что если данное требование не соблюдается (т.е. кортежи в рамках одного отношения не уникальны), то в базе данных может хранится противоречивая информация об одном и том же объекте. Поддержание целостности сущностей обеспечивается средствами системы управления базой данных (СУБД). Это осуществляется с помощью двух ограничений: при добавлении записей в таблицу проверяется уникальность их первичных ключей; не позволяется изменение значений атрибутов, входящих в первичный ключ.
Целостность ссылок: вводится понятие внешнего ключа. Отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом. Требование внешнего ключа состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающихся отношениях, в отношении, на которое ссылается, должен найтись кортеж с таким же значением ключа либо значение внешнего ключа должно быть неопределенным. Для поддержания целостности по ссылкам существует три подхода: 1) запрещается производить удаление кортежа, на который существует ссылка; 2) при удалении кортежа, на который существует ссылка, во всех ссылающихся кортежах значение ссылающегося ключа автоматически становится неопределенным; 3) каскадное удаление – при удалении кортежа, на который есть ссылки, автоматически удаляются все ссылающиеся кортежи их всех ссылающихся отношений.