Под целостностью некоторой структуры данных понимается корректность и согласованность всех ее компонентов. Если программа обработки данных не содержит серьезных ошибок, то причиной нарушения целостности могут быть только аппаратурные неисправности ЭВМ либо внешние причины, такие как отключение электропитания во время выполнения изменений данных. Потеря целостности ГБД или общей библиотеки стилей грозит полной или частичной потерей возможности использовать соответствующие данные.
Проверка целостности выполняется с помощью команды ГБД+Целостность. Система открывает окно мастера проверки целостности. Первая страница этого окна показана на рис. 6-6.
Рис. 6-6. Мастер проверки целостности. Шаг 1
Пользователь должен прежде всего выбрать, целостность какой именно структуры должна быть проверена: общей библиотеки стилей или какой-либо ГБД. В случае проверки ГБД необходимо также выбрать конкретную ГБД для проверки. Для этого надо воспользоваться кнопкой Выбор в панели Проверить. Как отмечалось выше, нельзя выбирать для проверки текущую ГБД.
В случае, если пользователь применял режим работы с файлом изменений для проверяемой ГБД или общей библиотеки, он должен принять решение, целостность каких данных следует проверить: только тех, которые содержатся в девяти основных файлах, или же также и данных, содержащихся в файле изменений (для этого следует включить флажок Использовать файл изменений). Разумеется, при отсутствии ошибок и те, и другие данные должны сохранять целостность, однако на практике возможна ситуация, когда основные файлы содержат целостные данные, а в файле изменений целостность нарушена.
Далее следует определить, есть ли необходимость сохранять отчет о проверке в файле (притом, что этот отчет в любом случае будет выдан на экран). Если пользователь включает флажок Выводить отчет, то он должен указать имя файла отчета, воспользовавшись кнопкой Выбор (той, что в панели Файл отчета). Если выбран существующий файл отчета, то пользователь решает также, следует ли заменить прежнее содержание отчета на новое (переключатель Переписать) или нужно накапливать несколько отчетов (например, при проверке нескольких ГБД) в одном файле (переключатель Дописать). Для файлов отчета о проверке целостности система использует расширение CHK.
После нажатия кнопки Далее открывается вторая страница мастера, показанная на рис. 6-7.
Рис. 6-7. Мастер проверки целостности. Шаг 2
Назначение этой страницы – выбрать, какие именно из компонентов внутреннего представления выбранной ГБД или общей библиотеки должны подвергнуться проверке. Пользователь не обязан разбираться в тонкостях внутреннего строения ГБД, однако некоторое самое общее понимание может оказаться полезным.
Все данные ГБД, как пространственные, так и атрибутивные, хранятся в виде таблиц объектно-ориентированной базы данных, лежащей в основе представления ГБД ObjectLand. Поэтому слово «Таблицы», трижды повторенное в левой части страницы, означает не только данные, содержащиеся в таблицах ГБД, но и другие виды данных. Все они сгруппированы в три области данных.
Область описаний содержит данные о структуре ГБД (компоненты ГБД и их свойства, библиотека стилей и т.п.);
Область информационных таблиц содержит записи всех таблиц ГБД;
Область карт содержит описание графических объектов карт ГБД.
Каждая из областей содержит также индексные данные, которые используются для ускорения поиска.
Отдельными видами данных, подлежащих проверке, являются связи объектов карт с записями таблиц, а также целостность структуры слоев карт.
Если вопрос сокращения времени проверки не является критичным, можно рекомендовать оставить все флажки на этой странице включенными, что приводит к наиболее полной проверке ГБД.
Затем, после очередного нажатия кнопки Далее, открывается третья страница мастера. После нажатия кнопки Проверить в панели этого окна отображаются сообщения о проверке различных компонентов внутреннего представления. На рис. 6-8 показано окно мастера проверки целостности в ходе выполнения проверки.
Рис. 6-8. Мастер проверки целостности ГБД. Выполнение проверки
Сообщения о проверке также могут быть полезны продвинутым пользователям или разработчикам ObjectLand. Для рядового пользователя достаточно знать, что проверка должна завершиться выдачей сообщения: «Проверка целостности завершена. Количество ошибок: 0».