Целостность информации

Целостность данных (целостность информации) - означает, что данные полны, и что соблюдено условие того, что данные не были изменены при выполнении любой операции над ними, будь то передача, хранение или представление.

В криптографии и информационной безопасности целостность данных в общем — это данные в том виде, в каком они были созданы, например, изменение номер аккаунта в банковской транзакции, подделка документа, случайное изменение при передаче информации или при неисправной работе жесткого диска.

Проверка целостности данных может быть осуществлена использованием хеш-функции, к примеру MD5. Такая функция преобразует совокупность данных в последовательность чисел. Если данные изменятся, то и последовательность чисел, генерируемая хеш-функцией тоже изменится.

В теории баз данных целостность данных означает корректность данных и их непротиворечивость. Обычно она также включает целостность связей, которая исключает ошибки связей между первичным и вторичным ключом. К примеру, когда существуют дочерние записи-сироты, которые не имеют связи с родительскими записями.

Главная особенность SQL-технологий наличие у сервера СУБД специальных средств контроля целостности данных, не зависящих от клиентских программ и привязанных непосредственно к таблицам. Т.е. принципиально не важно, каким образом осуществляется доступ к базе данных: через SQL-консоль, через ODBC-драйвера из приложения Windows, через WWW-connector из Internet-браузера или через DBI-интерфейс Perl. В любом из этих случаев, за контролем целостности данных следит сервер, и при нарушении правил целостности данных сервер известит клиента об ошибке.

Обеспечение целостности данных гарантирует качество данных в таблице. Например, если уникальной записи присвоен идентификатор 123, база данных не должна позволять другим записям иметь такое же значение идентификатора. Если существует столбец, в котором значения должны находиться в диапазоне от 1 до 5, база данных не должна сохранять в нем значения, лежащие вне этого диапазона. Если в таблице есть столбец, в котором хранятся номера, то база данных должна воспринимать только те значения, которые допустимы в качестве номеров.

Целостность данных подразделяется на следующие категории.

  • Сущностная целостность
  • Доменная целостность
  • Ссылочная целостность
  • Пользовательская целостность
  • Сущностная целостность

Сущностная целостность определяет строку как уникальную сущность в конкретной таблице. Она обеспечивает целостность столбцов идентификаторов или первичного ключа таблицы с помощью индексов и ограничений UNIQUE или PRIMARY KEY.

Доменная целостность — это достоверность записей в конкретном столбце. Она включает ограничения типа данных, ограничения формата при помощи ограничений CHECK и правил, а также ограничения диапазона возможных значений при помощи ограничений FOREIGN KEY, CHECK, DEFAULT, определений NOT NULL и правил.

Ссылочная целостность сохраняет определенные связи между таблицами при добавлении или удалении строк. В SQL Server ссылочная целостность основана на связи первичных и внешних ключей (либо внешних и уникальных ключей) и обеспечивается с помощью ограничений FOREIGN KEY и CHECK. Ссылочная целостность гарантирует согласованность значений ключей во всех таблицах. Этот вид целостности требует отсутствия ссылок на несуществующие значения, а также обеспечивает согласованное изменение ссылок во всей базе данных при изменении значения ключа.

При обеспечении ссылочной целостности SQL Server не допускает следующих действий пользователей:

  • добавления или изменения строк в связанной таблице, если в первичной таблице нет соответствующей строки.
  • изменения значений в первичной таблице, которое приводит к появлению потерянных строк в связанной таблице.
  • удаления строк из первичной таблицы, если имеются соответствующие ей строки в связанных таблицах.

Пользовательская целостность - сохранение от изменений прав пользователей на модификацию данных и структуры таблиц и базы в целом.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: