Выбирай : Покупай : Используй

Вход для партнеров

Вход для продавцов

0

Что такое целостность данных и почему это важно

Целостность данных – термин, означающий, что информация действительна. Это определение применяется в криптографии и алгоритмах блокчейна, теории баз данных и компьютерной безопасности. Контроль целостности позволяет убедиться, что представленная в электронном виде информация не была случайно (программный сбой) или намеренно (хакерская атака, вирус) изменена при хранении, выводе на экран или передаче. Поговорим о том, что представляет собой целостность данных на практике и почему она важна. 

Целостность данных идет рука об руку с безопасностью информации и ее идентификацией. Наиболее наглядно это проявляется в хэш-функциях, алгоритмах преобразования входного массива данных в уникальный набор символов. Так, помимо контроля целостности данных, хеш служит для:

Целостность данных в файлах проверяется по контрольным суммам, которые, с математической точки зрения, также являются хешем. Изменение контрольной суммы говорит о том, что файл поврежден в результате программного сбоя, вирусного заражения или постороннего вмешательства. 

Целостность данных в СУБД

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

Примеры нарушения целостности в СУБД:

  • Наличие одинаковых идентификаторов (первичных ключей).
  • Наличие «дочерних» записей, не связанных с «родительскими». 

В первом случае пользователь может запросить одну запись, а получить совсем другую. Если, например, будут одинаковыми первичные ключи у записей «Товарные позиции > Переходник HDMI – VGA» и «Контрагенты > ООО «Электроника», то вместо технических характеристик адаптера пользователь может получить реквизиты поставщика.    

В приведенном выше примере «Товарные позиции» (как и «Контрагенты») – это родительская запись. Она связана с дочерними записями, каждая из которых представляет собой массив данных об одном товаре. Если дочерняя запись «Переходник HDMIVGA» не будет связана с родительской, то она попросту не отобразится в списке товаров. Контроль целостности данных позволяет избежать «потери родственных связей» и появления дублирующихся идентификаторов.