Что такое целостность данных?
Как технический термин понятие "целостность данных" появилось у разработчиков компьютерных технологий в связи с автоматизацией процессов обработки данных. Очевидно, что данные, с точки зрения их взаимодействия, можно рассматривать либо как исходные по отношению к производным, либо наоборот. Например, сумма чисел является производной от слагаемых, которые, в свою очередь, являются исходными данными для определения суммы. Одна и та же позиция данных может быть одновременно и исходной, и производной по отношению к разным позициям, но она в любом случае не может быть таковой по отношению только к одной позиции.
Следовательно, данные относительно друг друга располагаются так, что между ними образуются связи, которые не могут быть произвольными, а должны соответствовать закону иерархии (любая система может складываться только из элементарных, т.е. простейших, 2-уровневых, иерархий - "КВ" №29, 2000 г.), основное содержание которого заключается в том, что никакой объект не может быть составной частью самого себя. Кажется, что эта прописная истина не нуждается в комментариях, но в сложных хитросплетениях компьютерных данных ее можно просто не заметить, и в результате целостность данных будет нарушена, а информация в итоге превратится в абсурд или, хуже того, станет причиной принятия неверных решений. С другой стороны, именно закон иерархии обеспечивает возможность расположить все данные из одного источника (или системы) в одном общем списке (из позиций с абсолютными номерами), что становится очень существенным для обеспечения возможностей сохранения данных на компьютерных носителях информации.
На сегодняшнем уровне развития КТ их разработка может выполняться исключительно и только программистами (причем далеко не всеми), что обусловлено прежде всего необходимостью обеспечить структуру и целостность данных существующими средствами программирования (и, разумеется, с наименьшими затратами). Поскольку даже изначально единообразная (в форме таблиц) структура данных в результате проектирования баз данных становится уникальной, то естественно, что и программная обработка таких данных становится также уникальной со всеми вытекающими отсюда последствиями: затрудненный, неполный и даже невозможный обмен данными с другими системами, обесценивание квалифицированного труда в результате неразумного распыления творческого потенциала программистов и т.п.
До поры до времени проблема еще не стояла так остро, и разработчики КТ, в основном, интуитивно находили решение проблем, связанных с обеспечением целостности данных и даже демонстрировали на этом поприще вполне достойные образцы своего творчества. Теперь же становится совсем уж непонятно, зачем нужна программистам головная боль за целостность данных пользователя? Разумеется, что она им совсем не нужна, да деваться некуда, иначе их программы не смогут работать с данными, неизвестно откуда взявшимися. Но и передать пользователю предмет его забот оказывается совсем не просто, т.к. интуиция - вещь сугубо индивидуальная. Очевидно также, что для того, чтобы сделать хотя бы первый шаг в этом направлении, нужно прежде всего определить, что же такое целостность данных.
Принципиальная возможность создания единообразной структуры для любых (!) компьютерных источников информации ("КВ" №6) придает проблеме обеспечения целостности данных статус мышки, которая может вытянуть гигантскую репку! Это означает, что формализация как самого понятия, так и разработка систем, обеспечивающих целостность данных, становятся фактически последним серьезным препятствием на пути решения главной проблемы КТ ("КВ" №19, 2000 г.), т.е. создания возможностей для разделения труда между разработчиками (программистами) и конечными пользователями (управленцами). Поскольку речь заходит о системе, то ее главные контуры можно представить следующим образом:
Целостность данных
- Исходные
- Регуляторные.
- Логические.
- Структурные.
- Производные
- Синтетические.
- Аналитические.
- Вариантные.
Теперь становится очевидно, что понятие "целостность данных" не может быть не то что раскрыто, но даже и определено без знания компонентов системы, в которой оно функционирует. А компоненты эти оказываются очень необычными. Поскольку любой источник информации состоит из позиций данных, то целостность данных может обеспечиваться только параметрами этих позиций. Тогда получается, что каждая позиция данных как бы раздваивается на оба полюса системы, но в данном случае это вовсе не парадокс, а как раз свидетельство того, что позиции данных могут выполнять роль микросистем, аналогичных структурам атомов в материальных объектах. Единообразная структура этих систем обеспечивается естественным ограничением разновидностей данных для обеспечения их целостности.
На полюсе исходных данных регуляторные компоненты - это целенаправленно изменяемые реквизиты позиций для перехода всей системы в целом в новое состояние. Диапазоны изменений этих компонентов могут быть достаточно большими и даже (в математическом смысле) неограниченными. В отличие от них, логические компоненты и области их применения жестко детерминированы (иногда, например, кроме ОК, ничего не предлагается). А структурные компоненты вообще не входят в состав реквизитов и являются атрибутами позиций, определяющими их место и роль в источнике информации (адрес, длина записи, номер уровня и т.п.). Полюс производных данных попроще: синтетические компоненты - это один результат, получаемый из многих позиций. Если наоборот, то это будут уже аналитические компоненты. Заранее известные результаты, привнесенные извне (т.е. не формируемые в данном источнике) - это вариантные компоненты, которые могут быть идентичны логическим с той лишь разницей, что формируются системой, а не пользователем.
Следовательно, целостность данных - это совокупность системных характеристик каждой отдельной позиции источника информации, обеспечивающих связи между позициями и возможности выполнения функций (жизнеспособность системы) как на уровне отдельных данных, так и на уровне источника информации в целом. Такое определение даже в рамках традиционных понятий совсем не трудно для понимания и все же оно явно не для слабонервных с точки зрения практической реализации этих характеристик. Однако, прежде чем применять знания о сущности информации в новых технологиях, никак не уйти от еще одной воистину неприкасаемой темы, которая остается настолько темной, что, может быть, потому только и способна вывести на… момент истины!
Юрий КРАСКОВ,
c_city2000@mail.ru
Все права на публикацию принадлежат автору
Горячие темы