Home page | Каталоги и базы данных

Научные и технические библиотеки

Рубцов В.В., Масевич А.Ц., Пименов Е.Н.
Библиотека Российской академии наук, С.-Петербург


Расширение возможностей ППП CDS/ISIS и ISIS/Pascal

В дополнение к стандартным средствам CDS/ISIS нами создан ряд утилит, обеспечивающих дополнительные функции при обработке данных. Утилиты написаны на внутреннем языке пакета ISIS/Pascal. Некоторые утилиты используют обращение к командам DOS или вызывают специальные EXE-программы, написанные на языке Turbo-Pascal (например: звуковые эффекты сообщений об ошибках, EXE-модуль, дописывающий строку в файл - ISIS-Pascal такой функции не имеет и каждый раз при открывании файла создает его заново).

Включение таких вспомогательных программ в действующие техпроцессы заметно облегчает и ускоряет работу в базах данных, поддерживаемых пакетом CDS/ISIS/M; а зачастую подобные утилиты позволяют создавать уникальные самостоятельные техпроцессы. При этом техпроцессы и поддерживающие их программы унифицируются, программы становятся более компактными, облегчается их отладка и текущая модернизация.

Наш опыт позволяет предостеречь разработчиков EXE-утилит от одной серьезной опасности: любой дополнительный EXE-модуль является мишенью для компьютерных вирусов. Разработка подобных дополнений должна быть очень серьезно мотивирована. Особенно это актуально при эксплуатации программных продуктов в среде библиотек при отсутствии (или минимальном наличии) персонала, способного проводить должный антивирусный контроль. Существенным достоинством пакета CDS/ISIS является отсутствие в именах его загружаемых модулей этого расширения.

Применение элементов структурного программирования позволило создать два вида утилит:

  • утилиты - самостоятельные программы, включаемые в состав меню;
  • утилиты - подпрограммы, вызываемые из программ с помощью процедур EXEC или SYSTEM.

Описываемые ниже утилиты являются самостоятельными программами и могут быть использованы как универсальные независимо от специфики конкретных баз данных. Эти утилиты позволяют выполнять:

  • выгрузку и обратную загрузку информации подполей;
  • работу с большими ANY-файлами по аналогии работы с инвертированным файлом;
  • дублирование записей (создание дублей при обработке томов многотомных изданий или статей, состоящих из нескольких частей, и пр.; выявление и удаление дублей);
  • редактирование инвертированного файла: исправление ошибок, унифицирование похожих терминов и др.

Выгрузка и загрузка подполей

Комплекс программ позволяет выводить информацию в текстовый файл и загружать отредактированные данные обратно на их исходное место. Цель: поиск грамматических ошибок в выгруженных текстовых данных с помощью программ типа SPELL CHECK. Данные могут быть выгружены по интервалу номеров записей в базе или по результату последнего поиска. Последняя функция легко позволяет, например, выгрузить из русскоязычной базы данных и проверить правописание только заглавий в англоязычных работах.

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

Утилита загрузки указанного комплекса программ лучше работает в несетевом режиме. Сетевая версия проверяет блокировку записи, и процесс загрузки будет ждать освобождения записи в случае одновременного редактирования базы с нескольких терминалов.

Работа с большими ANY-файлами

Программа первоначально разработана для специализированной локальной базы данных "Реставрация и консервация", использующей обширные списки групповых ANY-терминов. Данная утилита предназначена для имитации работы со статьями файла ANY как с терминами словаря инвертированного файла текущей базы данных.

Вся совокупность терминов ANY "уплотняется", и на экран выводится список обобщенных понятий. Перемещение от одного термина к другому, листание страниц (если терминов больше 20) происходит по привычному сценарию работы в словаре терминов. Поиск по текущему термину выполняется нажатием на "горячую" клавишу. Результат поиска аналогичен тому, как если бы был выполнен ручной вызов термина ANY.

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

Дублирование записей

Проблема дублирования может быть понята и рассмотрена с двух противоположных сторон:

  • как "и шутя и скоро" создать в БД, поддерживаемой средствами CDS/ISIS, запись, полностью идентичную текущей;
  • как "и шутя и скоро" выявить дубль и расправиться с ним.

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

Вторая проблема решается применением утилиты поиска дублей. Программа работает в полуавтоматическом режиме. Автоматизирован поиск "кандидатов" в дубли, а человек визуальным просмотром решает судьбу отобранных записей. Эта программа работает в паре со словарем терминов и выявляет те из них, у которых более одной ссылки. Естественно, что "термин" - это заранее принятый "основной" критерий дублетности. Отобранные записи выводятся на экран в двух окнах и сравниваются визуальным просмотром. При необходимости записи можно редактировать. Удаление выполняется по одной записи ("удалить эту") или по списку ("удалить все, кроме этой").

Редактирование инвертированного файла

В больших базах данных со временем возникает проблема: как поступить, если в инвертированном файле накопились термины, либо содержащие ошибки (опечатки оператора ввода, не замеченные редактором), либо вообще не имеющие ссылок (после удаления записи). Из-за одного термина не станешь инвертировать базу, содержащую несколько сот тысяч или миллионы записей. Нередко появляется много похожих терминов, стоящих в словаре друг за другом и как бы просящих "Исправь меня!". Со временем такие термины становятся все более заметными и создают впечатление небрежности в поисковом словаре.

Созданный нами редактор инвертированного файла позволяет входить в словарь терминов по ключу и выводит в специальное окно термины с указанием количества ссылок на каждый из них. Термины, не содержащие ссылок, дополнительно выделяются цветом.

Режим коррекции производит поиск в базе по текущему термину, отобранные записи могут быть просмотрены (броузинг) и исправлены. Сервисные функции редактора позволяют выполнить актуализацию словаря, удалить текущий термин (при отсутствии ссылок), изменить рабочий лист коррекции записей.

Copyright © 1995-97 ГПНТБ России