DOC (5,2 МБ)

advertisement
Инструментальная система управления базами данных
1
ОГЛАВЛЕНИЕ
ПРЕДИСЛОВИЕ...................................................................................................................................................... 3
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ: ............................................................................................................... 5
ГЛАВА 2. РАБОТА ПОЛЬЗОВАТЕЛЯ С СИСТЕМОЙ ........................................................................................ 5
ТРЕБОВАНИЯ К ТЕХНИЧЕСКОМУ И ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ ..................................................... 5
ПОРЯДОК УСТАНОВКИ......................................................................................................................................... 5
УСТАНОВКА ОДНОПОЛЬЗОВАТЕЛЬСКОГО ВАРИАНТА СИСТЕМЫ. .......................................................... 5
УСТАНОВКА МНОГОПОЛЬЗОВАТЕЛЬСКОГО ВАРИАНТА СИСТЕМЫ. ........................................................ 6
ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ ............................................................................................................................. 8
ВЫЗОВ ВНЕШНИХ ПРОГРАММ ........................................................................................................................ 8
ПОДКЛЮЧЕНИЕ ВНЕШНЕГО РЕДАКТОРА ................................................................................................... 9
ТАБЛИЦА БЫСТРОГО ДОСТУПА ..................................................................................................................... 9
МОДИФИКАЦИЯ МЕНЮ ..................................................................................................................................... 9
ИСПОЛЬЗОВАНИЕ ФУНКЦИОНАЛЬНЫХ КЛАВИШ ............................................................................................ 9
ГЛАВА 3. ОСНОВНЫЕ РЕЖИМЫ И ИХ НАЗНАЧЕНИЕ .................................................................................. 11
ГЛАВА 4. ЭТАП ПРОЕКТИРОВАНИЯ .............................................................................................................. 11
БАНК ДАННЫХ ...................................................................................................................................................... 11
СОЗДАНИЕ НОВОГО БАНКА......................................................................................................................... 12
ОПИСАНИЕ СТРУКТУРЫ БАНКА ДАННЫХ ................................................................................................... 13
ОПИСАНИЕ СОСТАВА ХАРАКТЕРИСТИК БАЗЫ ДАННЫХ .......................................................................... 14
ПРОЕКТИРОВАНИЕ БАЗЫ .............................................................................................................................. 25
ИНИЦИАЛИЗАЦИЯ ДАННЫХ. ......................................................................................................................... 25
ПРОЕКТИРОВАНИЕ СЛОВАРЕЙ......................................................................................................................... 26
ЗАПОЛНЕНИЕ КОДИРУЕМЫХ ХАРАКТЕРИСТИК ......................................................................................... 27
ИЕРАРХИЯ СЛОВАРЯ...................................................................................................................................... 27
ВВОД ПОНЯТИЙ В ИЕРАРХИЧЕСКИЙ СЛОВАРЬ ........................................................................................ 27
ПОСТРОЕНИЕ ИЕРАРХИЧЕСКОГО СЛОВАРЯ ИЗ ЛИНЕЙНОГО................................................................ 28
ФОРМЫ ВВОДА .................................................................................................................................................... 29
ТАБЛИЦЫ ЭКСПОРТА-ИМПОРТА ....................................................................................................................... 31
ФОРМУЛЫ ............................................................................................................................................................. 31
ЗАПРОСЫ ПО ОБРАЗЦУ ...................................................................................................................................... 36
ВЫХОДНЫЕ ФОРМЫ............................................................................................................................................ 38
СОЗДАНИЕ НОВОЙ ВЫХОДНОЙ ФОРМЫ. ................................................................................................... 39
АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ СТАНДАРТНОЙ ВЫХОДНОЙ ФОРМЫ. ................................................ 41
ДУБЛИРОВАНИЕ ВЫХОДНЫХ ФОРМ............................................................................................................ 41
ИСПОЛЬЗОВАНИЕ ВЫХОДНЫХ ФОРМ ДРУГИХ БАНКОВ .......................................................................... 41
ГЛАВА 5. НАКОПЛЕНИЕ ИНФОРМАЦИИ .......................................................................................................... 43
ВВОД ..................................................................................................................................................................... 43
ОБЩИЕ ПРАВИЛА ВВОДА ЗНАЧЕНИЙ ХАРАКТЕРИСТИК .......................................................................... 45
ВВОД НЕМНОЖЕСТВЕННЫХ и МНОЖЕСТВЕННЫХ ХАРАКТЕРИСТИК .................................................... 45
ВВОД ЗНАЧЕНИЙ КОДИРУЕМЫХ ХАРАКТЕРИСТИК ................................................................................ 46
ВВОД КОДА СЛОВАРЯ .................................................................................................................................... 46
ВВОД ПОНЯТИЯ СЛОВАРЯ............................................................................................................................. 46
ВВОД ИНФОРМАЦИИ ИЗ ТЕКСТОВОГО ФАЙЛА .......................................................................................... 46
ВВОД ОТСЫЛОК НА СВЯЗАННЫЕ БАЗЫ ...................................................................................................... 47
ОБРАЩЕНИЕ К БАНКУ ИЗ РЕЖИМА ВВОДА................................................................................................. 47
ДОПОЛНИТЕЛЬНЫЕ СЕРВИСНЫЕ СРЕДСТВА ........................................................................................... 48
ЗАГРУЗКА ИНФОРМАЦИИ .................................................................................................................................. 49
ГЛАВА 6. РЕЖИМ ОБРАБОТКА ......................................................................................................................... 51
ОБОБЩЕННАЯ СХЕМА ОБРАБОТКИ ЗАПРОСОВ ............................................................................................. 52
ЯЗЫК ЗАПРОСОВ ................................................................................................................................................ 53
ОТБОР ОБЪЕКТОВ БЕЗ НАЛОЖЕНИЯ ОГРАНИЧЕНИЙ. ............................................................................. 55
ВИД СРАВНЕНИЯ РАВНО ............................................................................................................................... 55
ВИД СРАВНЕНИЯ НЕ РАВНО ......................................................................................................................... 56
ВИДЫ СРАВНЕНИЯ МЕНЬШЕ ИЛИ РАВНО, БОЛЬШЕ ИЛИ РАВНО ........................................................... 56
ВИД СРАВНЕНИЯ РАВНО ПУСТОМУ ............................................................................................................. 56
ВИД СРАВНЕНИЯ НЕ РАВНО ПУСТОМУ ....................................................................................................... 56
ВИД СРАВНЕНИЯ ВНУТРИ ИНТЕРВАЛА ....................................................................................................... 56
Инструментальная система управления базами данных
2
ВИД СРАВНЕНИЯ ВНЕ ИНТЕРВАЛА .............................................................................................................. 56
ВИД СРАВНЕНИЯ ПОХОЖЕСТЬ .................................................................................................................... 57
ВИД СРАВНЕНИЯ ОДИНАКОВЫЕ ЗНАЧЕНИЯ .............................................................................................. 57
ВИДЫ СРАВНЕНИЯ КРАТНОСТЬ. .................................................................................................................. 57
АССОЦИАТИВНЫЕ ВИДЫ СРАВНЕНИЯ. ...................................................................................................... 57
РАЗОВЫЙ ЗАПРОС .............................................................................................................................................. 59
ПРОСМОТР ОТОБРАННОЙ ИНФОРМАЦИИ ................................................................................................. 62
СОРТИРОВКА ОТОБРАННОЙ ИНФОРМАЦИИ ............................................................................................. 62
УТОЧНЕНИЕ ЗАПРОСА ................................................................................................................................... 62
СОХРАНЕНИЕ РЕЗУЛЬТАТОВ ПОИСКА ........................................................................................................ 62
ВЫДАЧА ОТОБРАННОЙ ИНФОРМАЦИИ ....................................................................................................... 63
КОРРЕКЦИЯ ИНФОРМАЦИИ......................................................................................................................... 74
ЭКРАННАЯ КОРРЕКЦИЯ ........................................................................................................................... 76
ЦЕПОЧКИ .......................................................................................................................................................... 78
ИСПОЛЬЗОВАНИЕ ЗАПРОСОВ ПО ОБРАЗЦУ................................................................................................... 79
ИСПОЛЬЗОВАНИЕ СТРОЧНОЙ ЗАПИСИ ДЛЯ ЗАДАНИЯ КРИТЕРИЯ ОТБОРА ............................................. 79
ИСПОЛЬЗОВАНИЕ РЕЗУЛЬТАТОВ ПОИСКА ..................................................................................................... 80
ГЛАВА 7. АДМИНИСТРИРОВАНИЕ БАНКА ДАННЫХ................................................................................... 80
КОПИРОВАНИЕ .................................................................................................................................................... 80
КОПИРОВАНИЕ БАНКА ДАННЫХ ................................................................................................................... 81
РАБОТА С ИНДЕКСНЫМИ МАССИВАМИ ...................................................................................................... 82
РЕВИЗИЯ БАНКА ДАННЫХ.................................................................................................................................. 84
ЭКСПОРТ / ИМПОРТ ДАННЫХ ........................................................................................................................... 87
ПРОЕКТИРОВАНИЕ ТАБЛИЦ ТРАНСЛЯЦИИ в ТЕКСТОВЫЙ ФАЙЛ. ......................................................... 88
ЭКСПОРТ ДАННЫХ В ТЕКСТОВЫЙ ФАЙЛ. ................................................................................................... 94
ИМПОРТ ДАННЫХ ИЗ ТЕКСТОВОГО ФАЙЛА. .............................................................................................. 96
ПРОЕКТИРОВАНИЕ ТАБЛИЦ ИЗ DBF-ФАЙЛОВ ........................................................................................... 97
ИМПОРТ из dBF-файлов. ................................................................................................................................. 99
ВОССТАНОВЛЕНИЕ............................................................................................................................................. 99
ВОССТАНОВЛЕНИЕ БАНКА ДАННЫХ ......................................................................................................... 100
СИСТЕМА РАЗДЕЛЕНИЯ ДОСТУПА ................................................................................................................. 100
ПАРОЛЬ К БАНКУ ........................................................................................................................................... 100
ПРАВА ПОЛЬЗОВАТЕЛЕЙ............................................................................................................................. 100
СИСТЕМНЫЙ ЖУРНАЛ.................................................................................................................................. 102
ДИЗАЙН ............................................................................................................................................................... 104
УДАЛЕНИЕ .......................................................................................................................................................... 104
ОПТИМИЗАЦИЯ.................................................................................................................................................. 104
ГЛАВА 8. МАКРО-КОМАНДЫ ........................................................................................................................... 104
ПРОЕКТИРОВАНИЕ МАКРОсов .................................................................................................................... 105
ГЛАВА 9. ВЫХОД .............................................................................................................................................. 106
ПРИЛОЖЕНИЕ №1. ОПИСАНИЕ РЕЖИМА УДАЛЕННОЙ ОБРАБОТКИ ....................................................... 106
ПРИЛОЖЕНИЕ №2. ОПИСАНИЕ ФАЙЛОВОЙ СТРУКТУРЫ СИСТЕМЫ ..................................................... 109
Инструментальная система управления базами данных
3
ПРЕДИСЛОВИЕ
Уважаемые Пользователи!
Разработчики надеются, что предлагаемое Руководство поможет Вам быстрее освоить нашу Инструментальную
систему управления базами данных и избавит от лишних проблем в работе. Вам предлагается мощное средство
управления базами данных сетевой структуры для IBM-совместимых персональных ЭВМ, способное обеспечить
единый комплексный подход к информационной и аналитической работе на Вашем предприятии.
Наша система обладает развитым языком запросов непроцедурного типа1, обеспечивающим решение
информационно-справочных, статистических и информационно-логических задач по разовым или постоянным
запросам на всей совокупности накопленной информации.
У Вас, как у начинающего Пользователя системы, несомненно, будет множество вопросов о том, как она
работает, каковы ее реальные возможности, позволит ли она накапливать и обрабатывать данные по той методике,
которой Вы в настоящий момент отдаете предпочтение. Почему система построена именно так, а не по-другому?
Мы надеемся, что изучив Руководство, Вы получите ответы на большинство вопросов, научитесь полностью
ориентироваться в нашей программе и овладеете навыками конструирования законченных приложений для работы с
базами данных без программирования. На страницах Руководства Вы ознакомитесь с идеологией и возможностями
системы, а также Вам будет предложен ряд практических уроков, детально иллюстрирующих ее применение при
решении конкретных задач. В тексте Вы встретите фрагменты диалога Пользователя (П) с Разработчиком (Р) 2,
которые по нашему мнению облегчат восприятие материала и дадут готовые ответы на наиболее часто возникающие
вопросы.
Не увлекайтесь, ЧАЩЕ ДЕЛАЙТЕ ПЕРЕРЫВЫ. Отведите время на то, чтобы обдумать только что изученное.
Если Вы чувствуете неуверенность в какой-либо части, перечитайте этот раздел заново. В конечном счете,
наилучшим путем для изучения любого программного продукта является ПРАКТИКА. Организуйте игровой банк
данных.
Пожелаем Вам успешной работы с системой. Учитесь правильно и эффективно ее использовать. Простота в
работе и универсальность изумит Вас.
1
Языки данного типа освобождают пользователя от знания деталей организации данных и последовательности их обработки, а
позволяют задавать лишь “Что искать” и “Что делать с отобранной информацией”.
2 Далее по тексту диалог Пользователя с Разработчиком выделяется курсивом и специальным символом - вопросительным знаком
внутри овала.
Инструментальная система управления базами данных
4
ВВЕДЕНИЕ
Минимум ограничений и максимум возможностей, доступность и эффективность, гибкость и способность к
совершенствованию - вот основные идеи, заложенные при создании системы. Наш программный продукт - это:
 создание информационных систем любой сложности без помощи программистов;
 общение с пользователем на русском языке в режиме диалога во всех режимах, включая описание
структуры банка данных;
 простота освоения и эксплуатации, не требующая умения программировать;
 возможность "перенастройки" наполненного банка без утомительных процедур реорганизации;
 поиск отдельных объектов и ситуаций по комбинациям из 20 типов условий на характеристики и связи
объектов, включая условия на кратность и похожесть значений, наличие опосредованных связей между
объектами (цепочки связей);
 телекоммуникационный доступ к удаленному банку с использованием модема в режимах накопления и
обработки запросов;
 сетевая модель данных, поддерживает классическое отношение "многие ко многим";
 хранение информации в записях и полях переменной длины ("пустые" значения не хранятся);
 наличие множественных характеристик неограниченной кратности;
 средства генерации отчетов, выдача информации текстом, таблицами;
 неограниченное число индексов, обеспечивающих быстрый поиск, в том числе по словам в документах и
словарях;
 многоуровневая система разделения доступа к информации и режимам ее обработки;
 встроенная криптографическая защита данных, индексов и словарей, ведение системного журнала;
 встроенный или подключаемый редактор, словарная поддержка;
 хранение и вывод графической информации (фотографии, схемы);
 импорт/экспорт информации в текстовом и DBF форматах;
 возможность создания МАКРО-команд, обеспечивающих выполнение заданных алгоритмов обработки;
 аппарат вычисляемых полей и логических выражений обработки данных;
 автоматическое и полуавтоматическое слияние информации.
Перечисленные возможности в совокупности определяют уникальность нашей системы как на внутреннем, так и
на международном рынке аналогичных программных продуктов, хотя и не исчерпывают всех ее полезных свойств.
Основное отличие нашего программного средства от большинства других систем - используемая МОДЕЛЬ
ДАННЫХ. Большинство популярных систем управления базами данных (СУБД) - Oracle, R:base, dBASE, Clipper и
другие основаны на реляционной модели данных. Они предлагают Вам рассматривать базу как совокупность
плоских однородных таблиц и предоставляют средства для работы с ними. Мы ориентированы на т.н. ОБЪЕКТНУЮ
МОДЕЛЬ ДАННЫХ, объединяющую в себе прозрачность и универсальность реляционной модели, ассоциативные
свойства сетевой модели, возможности безизбыточного представления множественных реализаций любого элемента
данных, характерных для иерархической модели данных. Основу модели составляет понятие ИНФОРМАЦИОННЫЙ
ОБЪЕКТ (ИО) - запись в файле данных, содержащая в себе информацию о конкретном объекте реального мира и его
взаимосвязях с другими объектами. Однотипные информационные объекты составляют БАЗУ ДАННЫХ. Базы
данных, в свою очередь, организованы в единый взаимосвязанный БАНК ДАННЫХ.
В системе реализована развитая сервисная среда, в которую погружена рассмотренная выше СУБД объектного
типа. Эта среда представляет Пользователю возможности, не выходя из системы, манипулировать файлами, в
которых размещены доступные ему банки данных, обращаться к стандартным средствам и утилитам DOS,
эффективно выполнять операции копирования, восстановления, паролирования, экспорта-импорта данных из
внешних банков данных, проектировать входные и выходные формы, каталогизировать постоянные запросы, и др.
Универсальность и широкие возможности нашей системы не накладывают особых ограничений на
квалификацию пользователей. Достаточно обычных человеческих качеств - заинтересованности в повышении
эффективности своей работы, трудолюбия и усидчивости. Дружественный, развитый и информативный интерфейс
позволяет создавать концептуально сложные банки данных без программирования, общаясь с системой на русском
языке. Такой подход не требует наличия в учреждении программистов высокого класса. С нашей программой могут
работать, создавать новые базы, реорганизовывать их, проектировать формы ввода-вывода, сотрудники "не
владеющие ни одним языком программирования, а лишь знающие, что такое "ФАЙЛ" и не вздрагивающие от слова
"КИЛОБАЙТ". Все ее возможности раскроются Вам не сразу. В процессе работы Вы увидите, что это не просто
средство управления и организации данных, но это, по сути дела, инструмент единой методики и универсальный
подход к организации информационной работы на Вашем предприятии. Вы самостоятельно будете продвигаться от
простых баз-картотек к разветвленным сложным структурам, от автоматизации отдельной задачи к единой системе
информационного обеспечения предприятия. Вы сможете проводить анализ деятельности предприятия по всей
совокупности накопленной информации, организовать четкое управление и контроль, и еще многое другое.
Инструментальная система управления базами данных
5
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ:
Необходимый объем оперативной памяти
памяти на винчестере
памяти на винчестере при установке
Количество независимых банков на одной ПЭВМ
взаимосвязанных баз в банке
характеристик в базе
Максимальный размер одной записи
Максимальное количество записей в базе
входных форм в банке
форм вывода для каждой базы
поисковых характеристик в запросе
связанных баз в запросе
индексов в базе
словарей
понятий в словаре
постоянных запросов в библиотеке
Скорость поиска по индексным массивам на любых объемах записей
не менее 640 Кбайт
3,5 Мбайт
6,7 Мбайт
не ограничено
до 99
до 999
64 Кбайта
38 000 000
до 99
до 999
не ограничено
не ограничено
не ограничено
до 999
не ограничено
до 999
не более 10 сек.
Глава 2. РАБОТА ПОЛЬЗОВАТЕЛЯ С СИСТЕМОЙ
ТРЕБОВАНИЯ К ТЕХНИЧЕСКОМУ И ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ
Для функционирования системы Ваши технические средства должны удовлетворять следующим техническим
требованиям:
- IBM PC/XT, AT или 100% совместимый с ними компьютер;
- не менее 640 Килобайт оперативной памяти;
- жесткий диск, имеющий не менее 6,7 Мбайт свободного пространства (из них 3,2 Мбайта
используются лишь при установке для создания временных файлов, а затем очищаются);
- операционная система MS DOS (Microsoft Corporation) версии 3.30 и старше.
Недопустимо использование операционной системы DR DOS 5.0, 6.0 (Digital Research Inc.) .
При использовании драйвера расширенной памяти QEMM (Quarterdeck Office System, Inc.) исключите
из его конфигурации режим Steals System and Video ROMs (опция - OFF) и не используйте версии
драйвера ниже версии 7.04.
Не применяйте совместно с системой драйвер поддержки нестандартных форматов дискет 800.COM
(A.Pasquale).
В файле CONFIG.SYS (config.nt для Windows XP) количество одновременно открытых файлов не
может быть менее 120 (FILES = 120).
При использовании утилиты SHARE установить параметры /F:10000 /L:120
ПОРЯДОК УСТАНОВКИ
Инструментальная система управления базами данных может работать как в однопользовательском, так и в
многопользовательском режимах под управлением различных сетевых операционных систем по технологии "файлсервер". Рассмотрим особенности установки и работы однопользовательского и сетевого вариантов системы.
Полный перечень и назначение файлов программного обеспечения системы приведен в Приложении №2 настоящего
Руководства.
УСТАНОВКА ОДНОПОЛЬЗОВАТЕЛЬСКОГО ВАРИАНТА СИСТЕМЫ
В комплект поставки однопользовательского варианта входят дистрибутивная дискета формата 3.5”HD или
5.25”HD и ключевая дискета на фиксированное количество установок. Ключевой может являться и дистрибутивная
дискета. На дистрибутивной дискете записаны два файла INSTALL.ВАТ и INST.EXE.
Перед началом установки убедитесь, что на жестком диске имеется в наличии не менее 6.7 Мбайт свободного
пространства, а в файле Autoexec.bat определена переменная TEMP, которая будет использована при установке.
Например, SET TEMP=C:\TEMP
Для начала установки Инструментальной системы на жесткий диск:
- установите дискету в дисковод A (или В);
- наберите A:\INSTALL.BAT и нажмите Enter.
При этом система предварительно разархивируется во временные файлы в каталог C:\TEMP (или иной,
определенной переменной TEMP в файле Autoexec.bat), занимая около 3.2 Мбайт дискового пространства. После
инсталляции временные файлы удаляются. После этого программа установки предложит Вам задать:
Инструментальная система управления базами данных
ИМЯ КОМАНДНОГО ФАЙЛА
СИСТЕМНЫЙ ДИРЕКТОРИЙ
РАБОЧИЙ ДИРЕКТОРИЙ
Пример:
6
- имя файла с расширением *.BAT, с помощью которого в дальнейшем будет
осуществляться запуск системы. Файл должен располагаться в корневом или в
любом существующем к моменту установки каталоге жесткого диска.
- каталог, в котором будет размещаться программное обеспечение системы. В
случае отсутствия он автоматически создается в ходе установки.
- служебный каталог для записи временных файлов системы, образуемых при
работе с банками данных (файлы с ответами на запросы, результаты
идентификации и ревизии и т.п.).
Имя командного файла
Системный директорий
C:\CR.BAT
Рабочий директорий
C:\CROWORK
С:\CRO
В процессе установки может измениться или появиться, если он отсутствовал, файл C:\CONFIG.SYS, в который
запишутся две строки следующего вида: FILES = 120 и BUFFERS = 20, необходимые для функционирования
программного обеспечения. В случае если во время установки изменилось содержимое файла CONFIG.SYS, Вы
получите сообщение об этом, после чего Вам придется перегрузить компьютер. Предположим, что в ходе установки,
в качестве командного файла был выбран C:\CR.BAT, а системным и рабочим объявлены каталоги - C:\CRO и
C:\CROWORK. Договоримся придерживаться этих параметров на протяжении всей документации. Для ЗАПУСКА
системы наберите имя командного файла и нажмите Enter.
При первом запуске после соответствующего сообщения Вам потребуется установить ключевую дискету в
дисковод А (или В) и нажать Enter. По окончании процедуры снятия защиты ключевая дискета на данном
компьютере больше не понадобится.
После снятия защиты мы рекомендуем скопировать файлы системного и рабочего каталога, а
также командный файл запуска на дискеты стандартными средствами операционной системы или
программой-архиватором и хранить их в качестве архивной копии программного обеспечения. При
сбоях, форматировании жесткого диска восстановление системы осуществляется с архивной
копии. Повторное снятие защиты в этом случае не потребуется.
Если установка проведена, то для запуска системы достаточно ввести команду CR.BAT и нажать Enter. Спустя
несколько секунд появится заставка, а затем, после нажатия любой клавиши, головного меню системы, в которой Вы
будете работать. Рекламная заставка представляет собой файл или группу файлов в формате *.PCX (не более 800 *
600 писклей, EGA/VGA, 256 цветов), размещенных в системном каталоге. Допускается удаление заставки, путем
физического удаления файлов *.PCX, а также создание своих заставок. Не подлежат удалению и коррекции атрибуты
авторского права.
Однопользовательская система версии допускает возможность работы в многозадачном режиме под управлением
Windows с одним и тем же банком данных. Корректная работа в этом режиме возможна лишь при наличии в памяти
программы SHARE.
УСТАНОВКА МНОГОПОЛЬЗОВАТЕЛЬСКОГО ВАРИАНТА СИСТЕМЫ
Для запуска в локальной сети Вы должны иметь набор дистрибутивных дискет СЕТЕВОГО варианта системы,
который включает в себя:
- дискета для установки ядра системы на сервер;
- дискета для установки системы на рабочую станцию;
- ключевая дискета на фиксированное количество подключений рабочих станций.
Перечень дистрибутивных файлов системы аналогичны однопользовательскому режиму.
многопользовательского варианта начинается с генерации ядра системы на СЕРВЕРЕ. Для этого:
Установка
- установите дискету "СЕРВЕР" в дисковод A (или В) любой рабочей станции;
- наберите A:\INSTALL и нажмите Enter.
После разархивации задайте аналогично однопользовательскому режиму имя командного файла, адрес
системного и рабочего каталогов.
ИМЯ КОМАНДНОГО ФАЙЛА
СИСТЕМНЫЙ ДИРЕКТОРИЙ
РАБОЧИЙ ДИРЕКТОРИЙ
Пример:
- имя файла с расширением *.BAT, размещаемый на СТАНЦИИ с помощью
которого в дальнейшем будет осуществляться запуск системы.
- каталог на СЕРВЕРЕ, в котором будет размещаться программное
обеспечение ядра системы.
- каталог на СТАНЦИИ, в который будут записываться программные файлы
системы для станции, а также впоследствии временные файлы.
Имя командного файла
Системный директорий
C:\CR.BAT
Рабочий директорий
C:\CRO
Z:\CRO
Инструментальная система управления базами данных
7
Установка ядра системы на сервер, автоматически создает программные файлы на станции, с которой
проводилась инсталляция. Поэтому, на эту станцию систему повторно можно не устанавливать. На КАЖДУЮ
рабочую станцию, кроме первой, система устанавливается с дискеты "СТАНЦИЯ" командой A:\INSTALL, при этом
адрес системного директория для всех станций должен быть одинаков (в приведенном примере - Z:\CRO), а адрес
рабочего каталога и имя командного файла задается произвольно для каждой станции.
Пример:
Имя командного файла
Системный директорий
D:\BAT\S.BAT
Рабочий директорий
F:\RAB\CR
Z:\CRO
Допускается размещать рабочие директории на сервере, но в этом случае для каждой станции должен быть
создан свой отдельный каталог и, соответственно, собственный командный файл.
После завершения установки запустите систему с каждой рабочей станции и снимите защиту ключевой дискетой.
Число подключаемых рабочих станций ограничивается лишь возможностями сетевой операционной системы, а
также количеством одновременно работающих станций, заданных разработчиками при генерации программного
обеспечения. Сделайте резервную копию на дискеты, аналогично однопользовательскому варианту, файлов
системного каталога и всех рабочих каталогов и командных файлов.
П: Допускается ли устанавливать систему и банки данных на диски с динамическим уплотнением данных, созданные
программами типа DoubleSpace из состава MS-DOS 6.* или Stacker (ver 3.1 или старше) фирмы Stac Electronics?
Р: Допускается, однако большой выгоды в экономии дискового пространства Вы не получите. Дело в том, что данные,
индексы и словари хранятся на диске в зашифрованном виде с почти равномерным чередованием символов шифра и
поэтому практически не сжимаются программами такого типа. Вы только проиграете в быстродействии.
П: Можно ли использовать драйвер работы с расширенной памятью QEMM (Quarterdeck Office System, Inc.)?
Р: Да, можно. Используйте эту программу версии не ниже 7.04 и при установке исключите из его конфигурации режим
Stealth System and Video ROMs - OFF .
П: Работает ли система под Windows и Windows 95?
Р: Да, как задача DOS.
ОСОБЕННОСТИ РАБОТЫ ПОД УПРАВЛЕНИЕМ РАЗЛИЧНЫХ СЕТЕВЫХ ОПЕРАЦИОННЫХ СИСТЕМ
NetWare
ver. 3.*,4.*.
При работе системы в локальной сети NOVELL необходимо:
 Установить максимальное количество блокировок для станции не менее 5000. Так для
NetWare ver.3.11 введите с клавиатуры на сервере :LOAD INSTALL, выберите опцию
SYSTEM OPTIONS, EDIT AUTOEXEC.NCF FILE и добавьте строку SET MAXIMUM
RECORD LOCKS PER CONNECTION = 5000.
 Создать, если он отсутствует, файл Shell.cfg, содержащий строку: FILE HANDLES = 120
разместив его на каждой станции в каталоге, который является текущим при подключении
сервера. При подключении рабочей станции к сети должно появиться сообщение: FILE
HANDLES 120 Configuration File SHELL.CFG. Если оно отсутствует, то файл Shell.cfg не
загрузился.
Если в NETWARE 3.11 на сервере стоит IDE-контроллер диска, то рекомендуется использовать
драйвер IDE.DSK из NETWARE 3.12.
Personal NetWare Для работы в сети Personal NetWare измените в файле С:\NWCLIENT\STARTNET.bat строку
1.0
SHARE на строку SHARE /F:10240 /L:200
При конфигурации сервера (команда NET ADMIN) установите в меню CONFIGYRE/ADVANCED
SETTINGS в строке USE CONFIG.SYS OPEN FILES значение "выключено", а в строке NUMBER
OF OPEN FILES максимально возможное значение (1000).
При неустойчивой работе (“зависаниях” сервера) попробуйте модуль SERVER.exe не загружать В
UPPER MEMORY (в файле STARTNET.bat убрать LH перед SERVER.EXE).
Novell DOS 7.0
На некоторых компьютерах возникают проблемы с программой SHARE.EXE. В Novell DOS
она почему-то иногда дает неверный код возврата. Если Вам не удается войти в систему
(“Система меню корректируется с другой станции”), попробуйте подключить SHARE из MSDOS. Практика показывает, что лучше использовать MS-DOS и Personal NetWare.
Для работы в сети Novell DOS 7.0 измените в файле С:\NWCLIENT\STARTNET.bat строку
SHARE на строку SHARE /F:10240 /L:200
При конфигурации сервера (команда NET ADMIN) установите в меню CONFIGYRE/ADVANCED
SETTINGS в строке USE CONFIG.SYS OPEN FILES значение "выключено", а в строке NUMBER
OF OPEN FILES максимально возможное значение (1000).
Windows for
Workgroups ver.
3.11
Если адрес сетевого банка данных виден под разными логическими устройствами с различных
станций, то необходимо создать по крайней мере столько пользователей, сколько различных
вариантов адреса банка. После этого, войти в систему под администратором, подключиться к
этому банку и для пользователя, который будет работать на данном компьютере, подключить его
к банку. После этого отключить этот банк от администратора. Аналогичную операцию проделать
на компьютерах, имеющих различные логические устройства. Администратор подключается со
Инструментальная система управления базами данных
8
своего компьютера в последнюю очередь. Более подробно процедура создания системы
пользователей рассмотрена в разделе “Система доступа”. Данная рекомендация распространяется
и на другие сети.
Windows-95
Данная сетевая операционная система используется Разработчиками на своем стенде.
Особенностей по установке Инструментальной СУБД нет.
DosLine 2.0
Для каждой станции данной сети необходимо на сервере создать свой рабочий директорий и
файл запуска системы. Установку системы на каждую станцию необходимо делать
последовательно, одновременная установка для двух станций не допускается.
ЛВС “ИОЛА”
Разработка НПП “Система-Комплекс”. При тестировании система заработала без каких-либо
дополнительных манипуляций.
ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ
Интерфейс общения с пользователем включает:
- систему многоуровневых МЕНЮ;
- контекстно-зависимую подсказку (F1);
- список всех управляющих клавиш, доступных на текущем экране с возможностью выбора (Ctrl+F1);
- список наиболее важных клавиш текущего экрана на последней строке;
- краткую подсказку о назначении режимов (предпоследняя строка экрана);
- временный выход в DOS через пользовательское меню запуска внешних программ (Alt+S);
- включение любых команд - пунктов меню в таблицу быстрого доступа (Tab);
- возможность модификации системы МЕНЮ:
по расположению на экране (Alt+M);
по цветовой гамме и звуковому сопровождению (режим АДМИНИСТРАТОР - ДИЗАЙН).
Примерный вид экрана приведен на следующем рисунке:
Для выбора требуемого пункта меню используйте клавиши управления или "горячую" букву в названии режима,
выделенную цветом.
ВЫЗОВ ВНЕШНИХ ПРОГРАММ
Для вызова пользовательского меню используйте клавиши Alt+S. Для запуска ВНЕШНЕЙ программы переместите курсор на ее наименование и нажмите Enter. Если Вы хотите включить новую программу в список
вызова - нажмите клавиши Alt+U и опишите вызов программы в таблице. Например,
Инструментальная система управления базами данных
Комментарий
Dos
Norton Сommander
Редактор
9
Вызов
NC
C:\LEXN\LEXICON
Если в графе ВЫЗОВ не задано имя вызываемой программы (строка таблицы с комментарием “Dos”), то с
помощью этой строки Вы можете задать произвольную команду Dos и выполнить ее.
ПОДКЛЮЧЕНИЕ ВНЕШНЕГО РЕДАКТОРА
Для ввода или коррекции больших текстовых полей Вы можете использовать ВНЕШНИЙ ТЕКСТОВЫЙ
РЕДАКТОР, подключив его командным файлом EDIT.BAT. Командный файл вызова должен располагаться в
рабочем каталоге и иметь вид:
ECHO OFF
[ПУТЬ] КОМАНДНЫЙ_ФАЙЛ %1
CD\
где: командный_файл - стартовый файл внешнего редактора.
Пример.
Файл EDIT.BAT для подключения к системе редактора Norton Editor (Symantec Corp.)
echo off
NE %1
Для проверки правильности подключения внешнего редактора:
- опишите вызов редактора в файле EDIT.BAT, разместив командный файл в рабочем каталоге;
- запустите файл EDIT.BAT - на экране появится основное меню Вашего редактора.
Теперь для ввода или коррекции поля с помощью внешнего редактора:
- переместите курсор в поле и нажмите F10;
- при выходе из редактора выполните команду СОХРАНИТЬ, не изменяя установленного имени файла. 3
При установке системы командный файл генерируется автоматически. Откорректируете его для подключения
используемого Вами редактора.
ТАБЛИЦА БЫСТРОГО ДОСТУПА
Для ускорения доступа к наиболее используемым КОМАНДАМ МЕНЮ (или РЕЖИМАМ МЕНЮ) Вы можете
включить их в таблицу быстрого доступа. После этого вызывать такие команды можно как обычным способом последовательными переходами по меню, так и из таблицы, нажав Tab.
Если Вы хотите ДОБАВИТЬ новый режим в ТАБЛИЦУ БЫСТРОГО ДОСТУПА:
- раскройте на экране меню, в которое входит режим;
- нажмите Alt+U;
- переместите курсор на строку описания режима и в седьмой графе таблицы ДОСТУП задайте ИМЯ
РЕЖИМА, под которым он войдет в список быстрого доступа.
Для УДАЛЕНИЯ режима из таблицы быстрого доступа - удалите его имя из седьмой графы таблицы, используя
клавиши Ctrl+R.
МОДИФИКАЦИЯ МЕНЮ
Для изменения местоположения меню на экране - нажмите Alt+M и используйте стрелки управления. Коррекция
боковых размеров рамок меню - клавиша Tab. Для изменения формы и скорости раскрытия на экране окошек меню, а
также цветовой гаммы системы используйте режим АДМИНИСТРАТОР - ДИЗАЙН - ЦВЕТ.
ИСПОЛЬЗОВАНИЕ ФУНКЦИОНАЛЬНЫХ КЛАВИШ
3
Временный файл, размещаемый в рабочем каталоге, имеет имя TEMP.
Инструментальная система управления базами данных
10
Назначение клавиш в нашей программе в большинстве соответствует стандарту, принятому во многих широко
известных системах, который стал практически международным.
Клавиши
F1
F2
Ctrl+F1
Tab
Alt+S
Alt+D
<— или —>
Вниз или Вверх
Ctrl + <—
Ctrl + —>
End
Home
F6
Ctrl+F3
Ctrl+F4
Ctrl+F5
Ctrl+F6
Ins
Del
BaсkSpace
Ctrl+R
Enter
F1О
Esc
Вырабатываемые действия
помощь
выбор альтернативы
список "доступных" в текущий момент клавиш
прямой доступ к пунктам меню
временный выход в DOS
удаление поля, записи (информационного объекта)
перемещение курсора в поле на один символ влево или вправо
перемещение курсора в поле на одну строку вниз или вверх
перемещение курсора на 1О символов влево
перемещение курсора на 1О символов вправо
перемещение курсора на последний символ поля
перемещение курсора на первый символ поля
"распахнуть" поле
запомнить значение поля в буфере (в кармане)
вызвать значение из буфера (из кармана)
загрузить файл в глобальный (общий) буфер
вызвать глобальный (общий) буфер
переход в режим вставки/замены символов в позиции курсора
стирание символа, стоящего над курсором
стирание символа, стоящего перед курсором
стирание символов, стоящих справа от курсора
завершение работы с текущим, переход на следующее поле или выбор команды
перенести значение поля в подключаемый (внешний) редактор
отказ\выход
Клавиши, перечисленные в таблице, в некоторых экранах могут быть не задействованы, так как их использование
может противоречить логике требуемой обработки.
Использование мыши является альтернативным методом управления. Это не является ограничением ее применения,
а наоборот, совместное использование ее с клавиатурой делает управление более простым и доступным. Для
отключения мыши - нажмите Alt+Del, повторное нажатие этой комбинации клавиш активизирует мышь. Управление
мышью фактически сводится к трем действиям:
Левая клавиша мыши
Правая
Средняя
- выполнить (аналог нажатия Enter);
- отказ (Esc);
- вызов списка доступных клавиш (Ctrl+F1).
Инструментальная система управления базами данных
11
Глава 3. ОСНОВНЫЕ РЕЖИМЫ И ИХ НАЗНАЧЕНИЕ
Основными режимами системы работы являются:
ОБРАБОТКА - режим, в котором сосредоточены основные возможности по манипулированию информацией.
Реализованы уникальные возможности по многоаспектному поиску информации с учетом логических связок И/ИЛИ,
разнообразных условий на значения и кратность характеристик, ассоциативных видов сравнений, скобочных структур и
цепочек связей. Отобранную информацию можно отсортировать, распределить по значениям характеристик,
осуществить подсчет в соответствии с вновь заданными критериями, сформировать двухмерные статистические сводки.
Поддерживается библиотека постоянных запросов, а также пакетная обработка и средства уточнения запросов.
Реализована процедура обработки запросов в режиме удаленного доступа с использованием модема. Средства
коррекции используются для изменения загруженной в банк информации, при этом реализованы процедуры
последовательной и массовой коррекции. В режиме можно удалять, добавлять и объединять информационные объекты,
а также корректировать значения характеристик, с автоматической отработкой процедур идентификации и слияния
информации и коррекции индексных массивов. Реализована возможность выдачи информации на экран, принтер или
файл текстом и таблицами по предварительно подготовленным пользователем шаблонам, в том числе и в виде
развернутого "досье", интегрирующего информацию из связанных баз. Ответы на запросы могут быть отредактированы
с использованием внутреннего или внешнего подключаемого текстового редактора.
Режим НАКОПЛЕНИЯ включает в себя средства ввода и загрузки информации в банк. ВВОД осуществляется в
промежуточные файлы входных сообщений на дискеты или на диск. Средства ввода позволяют осуществлять
формализацию информации при заполнении входных форм, с обращением, при необходимости, к словарям, с
возможным автоматическим кодированием по ним, и к ранее введенной информации в базах. Возможен ввод через
глобальный буфер ранее подготовленных текстовых файлов документов. При вводе производится оперативный
контроль введенной информации и, при необходимости, ее коррекция. На этапе ЗАГРУЗКИ входных сообщений
работают процедуры идентификации и слияния информации в соответствии с выбранными пользователем правилами, а
также автоматическое обновление индексных массивов. Реализуется накопление в режиме удаленного доступа.
ПРОЕКТИРОВАНИЕ - режим, позволяющий описывать состав и структуру накапливаемой информации,
определять базы данных в рамках одного банка и составляющие их характеристики, задавать правила слияния
информации. В процессе эксплуатации банка возможна его реструктуризация в соответствии с изменившимися
информационными потребностями, причем без утомительных процедур реорганизации и перезаписывания данных. Для
кодирования информации используются автоматизированные словари, которые можно создавать, удалять,
корректировать, задавать в них уровни иерархии для объединения понятий в группы, сортировать понятия по коду и
алфавиту, искать понятия по коду и контексту. Каждый словарь является словарем автоматического кодирования, что
позволяет вводить понятия как кодом, так и текстом. Реализован аппарат построения форм ввода и вывода информации,
библиотеки постоянных запросов, таблиц экспорта/импорта для обмена данными между различными банками,
математических и логических выражений (формул) обработки информации.
В режим АДМИНИСТРАТОР банка включены процедуры копирования и восстановления банка данных целиком и
отдельных компонентов его описания, средства оптимизации и поддержания целостности банка, формирования и
создание новых индексных массивов, система разделения доступа, а также экспорт/импорт сведений через таблицы
обмена.
С помощью режима МАКРО Вы сможете проектировать и выполнять последовательности команд системы, что
позволит экономить время при выполнении часто используемых процедур и выполнять сложные манипуляции с
данными самому неподготовленному пользователю.
И, наконец, режим ВЫХОД служит для корректного завершения работы с системой или подключения другого
банка, если их более одного.
Глава 4. ЭТАП ПРОЕКТИРОВАНИЯ
БАНК ДАННЫХ
Описание данных - один из наиболее ответственных этапов создания банка данных и информационной системы в
целом. Это описание должно отражать содержание предметной области, обеспечивая гибкость системы, определять
основные возможности доступа к данным и влиять на эффективность решения конкретных задач по накоплению,
обработке, выдаче и импорту/экспорту данных. Выбор структуры банка связан также с технологией обработки данных, с
организационными факторами и т.д.
Режим ПРОЕКТИРОВАНИЕ - БАНК ДАННЫХ позволяет Вам создавать новые банки данных, а также описывать и
корректировать состав и структуру накапливаемой информации, определять список баз, входящих в банк, устанавливать
связи между ними, описывать составляющие их характеристики, задавать правила слияния идентичной информации для
каждой базы.
Инструментальная система управления базами данных
12
Проектирование банка данных включает три вида работ:
СОЗДАНИЕ
- создание нового банка данных.
ОПИСАНИЕ СТРУКТУРЫ
- создание/удаление баз данных, составляющих банк;
- изменение параметров баз данных;
- добавление и удаление характеристик баз;
- коррекция описания характеристик.
ИНИЦИАЛИЗАЦИЯ ДАННЫХ
- создание файлов данных и файлов индексных массивов данных по
описанной структуре банка
СОЗДАНИЕ НОВОГО БАНКА
Для создания нового банка, выберите режим ПРОЕКТИРОВАНИЕ - БАНК ДАННЫХ - СОЗДАНИЕ. Теперь Вам
необходимо задать параметры создаваемого банка данных: его имя, адрес хранения данных и индексов, адрес
словарной базы.
Создание нового банка
Имя банка
Адрес банка
Адрес словарной базы
[ Создать] [Отказ]
ИМЯ БАНКА
АДРЕС БАНКА
АДРЕС СЛОВАРНОЙ БАЗЫ
- уникальная внутри системы последовательность символов клавиатуры (не
более 30), исключая символы, формируемые клавишами управления.
- полный адрес хранения файлов данных и индексов создаваемого банка,
задаваемый в виде:
<имя накопителя>:\<имя директория>\<имя директория>\
- полный адрес хранения словарей банка данных, задаваемый аналогично.
Например:
Создание нового банка
Имя банка
Справочник
Адрес банка
C:\CRO\SPRAV
Адрес словарной базы
C:\CRO\SPRAV\SL
[ Создать ] [ Отказ ]
Адрес словарной базы не должен совпадать с адресом какого-либо банка и адресом системного
каталога. Допускается использовать общую словарную базу для нескольких банков. Если на одном
компьютере предполагается создание нескольких банков, каждый должен размещаться в своем
собственном каталоге. Создание двух банков по одному и тому же адресу - недопустимо.
Для подключения уже существующего, но отключенного командой АДМИНИСТРАТОР - УДАЛЕНИЕ ОТКЛЮЧЕНИЕ БАНКА, банка задайте его имя и адрес и подтвердите подключение.
Инструментальная система управления базами данных
Пример 4.1.
13
На сервере локальной сети расположен ранее отключенный банк данных с именем “СПРАВОЧНИК”,
размещенный в каталоге Z:\CRO\SPRAV со словарями по адресу Z:\CRO\SPRAV\SL. Для
подключения банка:
- выберите режим ПРОЕКТИРОВАНИЕ - БАНК ДАННЫХ - СОЗДАНИЕ;
- задайте имя подключаемого банка, его адрес и адрес словарной базы:
ИМЯ БАНКА
АДРЕС БАНКА
АДРЕС СЛОВАРНОЙ БАЗЫ
СПРАВОЧНИК
Z:\CRO\SPRAV
Z:\CRO\SPRAV\SL
- подтвердите подключение банка.
Имя и адрес подключаемого банка можно не задавать, если переместить курсор в поле ИМЯ БАНКА,
нажать F2 и выбрать каталог в котором размещен банк. По указанному Вами адресу система найдет
существующий банк и попросит у Вас подтверждение на его подключение.
П: В приведенном выше примере Вы размещаете словари в подкаталоге каталога с банком данных. Это обязательно?
Р: Нет, это просто удобно. Если на компьютере система поддерживает несколько банков, разместите каждый в своем
каталоге, а в подчиненном - его словари. По крайней мере при просмотре диска утилитами DOS Вы сможете визуально
определить, что в данном каталоге хранятся словари и относятся они к определенному банку, который расположен в
каталоге предыдущего уровня.
ОПИСАНИЕ СТРУКТУРЫ БАНКА ДАННЫХ
После того как создан новый банк данных нужно описать его структуру, которая заносится в ТАБЛИЦУ
ОПИСАНИЯ БАНКА ДАННЫХ. В ней указывается перечень баз, входящих в банк. Для доступа к таблице описания
банка данных выберите в меню ПРОЕКТИРОВАНИЕ - БАНК ДАННЫХ режим ОПИСАНИЕ СТРУКТУРЫ. Каждой
базе данных соответствует одна строка таблицы описания, в которой задается порядковый номер базы в банке,
название, имя и тип базы. Например:
№
1
2
3
Название базы
Документ
Организация
Первые лица
№
НАЗВАНИЕ БАЗЫ
ИМЯ
ТИП
Имя
ДК
РГ
ЛЦ
Тип
1
3
1
- порядковый номер базы присваивается автоматически при ее создании и не может
превышать 99, т.е. в одном БАНКЕ не более 99 баз.
- текст не более 35 символов, отражающий смысловое назначение базы.
- уникальное внутри банка сокращенное название базы, используемое во внутреннем
обращении, состоит из двух символов.
- определяет правила слияния информации в базе, или другими словами, задает порядок
присвоения системных номеров записям (информационным объектам). Может принимать
значение одной из цифр в диапазоне от 1 до 5 (об использовании различных типов баз
будет рассказано ниже). Если Вы затрудняетесь в выборе типа базы - укажите 1-й тип4,
который впоследствии может быть изменен.
Для СОЗДАНИЯ НОВОЙ БАЗЫ переместите курсор на первую свободную строку таблицы, нажмите Enter и
последовательно заполните графы в форматах, высвечиваемых на экран. Напоминаем: каждая база описывается
одной строкой таблицы.
Для КОРРЕКЦИИ описания базы Вы можете переместить курсор на соответствующее поле таблицы, нажать
Enter и произвести требуемые изменения. Список возможных изменений таблицы описания баз приведен ниже.
Изменения описания
Порядковый номер базы в
банке (графа 1)
Изменение названия
базы (графа 2)
Коррекция имени базы
(графа 3)
Изменение типа базы
(графа 4)
Дополнительные работы с банком после
коррекции описания баз
Порядковый номер базы в банке формируется автоматически и коррекции не
подлежит
Не требуется.
После коррекции имени базы Вам потребуется коррекция отсылок в связанных
базах, коррекция библиотеки запросов, входных и выходных форм и таблиц
экспорта/импорта информации, в которых "задействована" откорректированная
база. Коррекция требует большого внимания и аккуратности и проводить ее без
необходимости нежелательно.
При необходимости требуется коррекция ключей-идентификаторов (графа 8
таблицы описания характеристик базы).
Клавиша Del с последующим подтверждением удаляет базу из банка в случае отсутствия в ней записей. Для
удаления всех записей базы используйте режим ОБРАБОТКА - КОРРЕКЦИЯ - УДАЛЕНИЕ ВСЕХ ОТОБРАННЫХ.
4
Тип базы “1” отменяет идентификацию данных в базе. Более подробно процесс идентификации будет рассмотрен далее по тексту
Руководства.
Инструментальная система управления базами данных
14
Если инициализация данных еще не проведена (не выполнена команда ПРОЕКТИРОВАНИЕ - БАНК ДАННЫХ ИНИЦИАЛИЗАЦИЯ ДАННЫХ, которая создает файлы данных и индексные массивы), Вы имеете возможность
изменить порядок следования баз в банке. Для этого Вам следует пометить базу нажатием F3, переместить курсор на
новое место и нажать F4. После инициализации данных этот режим отключен.
Мы старались создать процесс проектирования максимально удобным и понятным, но, тем не менее, и он
требует от Вас внимания и аккуратности. Для ускорения проектирования и уменьшения возможных ошибок Вы
имеете возможность:
- использовать копии описаний ранее созданных банков;
- использовать копии отдельных баз данных;
- импортировать структуру описания из dBF-файлов.
При использовании копии описания существующего банка при проектировании нового Вы в режиме
АДМИНИСТРАТОР - ВОССТАНОВЛЕНИЕ - БАНК ДАННЫХ восстанавливаете структуру уже описанного
банка в проектируемый, а затем корректируете ее.
Вы также можете восстанавливать не только описание ВСЕГО БАНКА, но и отдельных его баз в режиме
АДМИНИСТРАТОР - ВОССТАНОВЛЕНИЕ - ОПИСАНИЕ ОТДЕЛЬНЫХ БАЗ.
Обобщенная схема этой процедуры представлена на следующем рисунке.
СУЩЕСТВУЮЩИЙ
БАНК
==========>
Копирование
без данных или
описаний его
Промежуточный
файл
===========>
Восстановление
отдельных баз
ПРОЕКТИРУЕМЫЙ
БАНК
Более подробно описание этих режимов - в главе АДМИНИСТРАТОР. Копирование и восстановление позволяют
значительно ускорить создание новых банков, максимально используя существующие.
И наконец, Вы можете импортировать описание базы из dBF-файла. Для этого задайте название, имя, тип базы и
нажмите клавишу F5. Введите адрес и имя файла-импортера, после чего, при необходимости, откорректируйте
описание. Этот способ проектирования удобен, если Вы предполагаете впоследствии импортировать данные в банк из
dBF-файлов.
Для ПЕЧАТИ описания баз необходимо подготовить печатающее устройство к работе, нажать Ctrl+PrtSc (или
Ctrl+G) и задать требуемый шрифт. Для выдачи структуры банка в ФАЙЛ используйте клавишу F5.
ОПИСАНИЕ СОСТАВА ХАРАКТЕРИСТИК БАЗЫ ДАННЫХ
Данный режим обеспечивает:
- первоначальную настройку на требуемый состав характеристик, включающую задание номера, названия и
области возможных значений характеристики (типа, кратности, максимальной длины, номер словаря, статуса
и т.п.);
- корректировку описания характеристик на сформированном банке данных (ввод новых, удаление
характеристик, коррекция параметров характеристик);
- вывод в файл или на печать состава и структуры баз.
Каждая база данных описывается набором характеристик (реквизитов). Описание характеристик сведено в
ТАБЛИЦУ ХАРАКТЕРИСТИК БАЗЫ ДАННЫХ, состоящую из 10 граф. Описание каждой характеристики базы
занимает одну строку таблицы.
№
1.
00
Название характеристики
2.
Системный номер
Тип
Длина
3.
Ц
4.
8
Кратность
5.
Внешний
№/ связь с
базами
6.
№
словаря
7.
№
ключа
8.
Статус
9.
НВ
№
поля
10.
Первая строка таблицы зарезервирована для характеристики "Системный номер". Она предназначена для внутренней
нумерации записей в базе, формируется автоматически с нулевым номером при создании базы и коррекции или
удалению не подлежит.
В ПЕРВОЙ графе таблицы указывается номер характеристики, который представляет собой уникальный цифровой
трехзначный код, позволяющий однозначно идентифицировать характеристику в рамках данной базы. Номер может
принимать значения от 1 до 999. В связи с этим общее количество характеристик в базе ограничено и не должно
превышать 1000. Номер "00" отведен для характеристики "Системный номер". При задании номера характеристик
лидирующие (впередистоящие) нули можно не указывать.
Во ВТОРОЙ графе задается название характеристики в виде текста длиной не более 35 символов. Название обычно
отражает смысловую роль, которую играет характеристика в данной базе, хотя в общем случае может выбираться
произвольно.
В ТРЕТЬЕЙ графе место отведено под тип характеристики, который определяет область ее возможных значений и
задается одной или двумя буквами русского алфавита. При задании типа характеристики Вы можете использовать как
Инструментальная система управления базами данных
15
большие, так и маленькие буквы. Список возможных типов характеристик объединен в таблицу для вызова которой
используйте F2.
Обозначение
Т
Ц
Д
Допустимые значения характеристики
ТЕКСТОВАЯ характеристика: последовательность алфавитно-цифровых символов.
ЦИФРОВАЯ характеристика: целое или дробное число с фиксированной точкой
ДАТА, задается в виде: ДД.ММ.ГГ или ДДММГГ или ММ.ГГ или ММГГ или ГГ, где ДД
- число не более 31; ММ - месяц не более 12; ГГ - год. Допускается задание даты в
формате ДД.ММ.ГГГГ или ДДММГГГГ или ММ.ГГГГ или ММГГГГ или ГГГГ.
ВРЕМЯ, задается в виде ЧЧ:ММ или ЧЧ, где ЧЧ - часы не более 23, ММ - минуты - не более
59.
КОДИРУЕМАЯ-ЦИФРОВАЯ, задается кодом словаря, который является целым числом.
КОДИРУЕМАЯ-ТЕКСТОВАЯ, задается кодом словаря, который является текстом.
КОДИРУЕМАЯ-АВТОМАТИЧЕСКИ: задается цифровым кодом словаря или его
декодированным значением, которое автоматически преобразуется в цифровой код.
ИМЯ ФАЙЛА - задается именем файла, который размещается в каталоге FILES.
ПРЯМАЯ отсылка на связанную базу, задается именем базы и номером взаимосвязанной
характеристики.
ОБРАТНАЯ отсылка из связанной базы, задается именем базы и номером взаимосвязанной
характеристики.
ПРЯМАЯ-ОБРАТНАЯ отсылка между равноправными базами, задаваемая аналогично.
В
КЦ
КТ
КА
Ф
П
О
ПО
Используемые типы характеристик можно условно разделить на две группы:
ПРОСТЫЕ
ОТСЫЛКИ
- типа Т, Ц, Д, В, КА, КЦ, КТ, Ф, характеристики отражают собственные
свойства объектов;
- типа П, О, ПО, задают отношения (связи) между объектами баз данных.
ЧЕТВЕРТАЯ ГРАФА таблицы описания отведена под задание длины характеристики - максимального количества
символов в ее значении. В зависимости от типа характеристики длина задается явно, принимается по умолчанию или не
задается. Максимальные длины характеристик, в зависимости от типа, приведены в таблице:
Тип
Т
КЦ
КТ
КА
Ф
Д
В
П
О
ПО
Максимальная длина
50 000
18
18
18
255
10
5
Примечание
Указывается длина характеристики, не превышающая
максимальную
Постоянная длина, устанавливаемая системой по
умолчанию
Не задается
ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ РАЗЛИЧНЫХ ТИПОВ ХАРАКТЕРИСТИК.
ТЕКСТОВЫЙ (Т) - используется для хранения текстовых значений в базе. Если Вам требуется хранить
сверхбольшие текстовые поля и длина 50000 Вас не устраивает, Вы можете выбрать тип характеристики - ФАЙЛ (Ф) и
хранить в базе не текстовую информацию, а адрес хранения этой информации в специальной базе. Физически на диске
для этой базы зарезервированы имена FILES.DAT и FILES.TAD5. Такой подход позволяет хранить в записи
информацию практически неограниченного размера.
Максимальная длина текстовой характеристики - 50000 символов может быть и больше в случае
использования кратности6, однако следует помнить одно из немногих ограничений - длина
записи не может превышать 64 Кбайт.
ЦИФРОВОЙ (Ц) тип позволяет хранить положительные и отрицательные целые и дробные числа. Пример, 1456, 3.1415926.
Применение типов характеристик ДАТА (Д) и ВРЕМЯ (В) сложностей не вызывают. При заполнении этих полей Вы
можете использовать как полное, так и сокращенное задание значений:
Пример:
5
6
12.10.92 или 121092
10.92 или 1092
92
23.07.2001 или 23072001
07.2001
2001
10:45 или 1045
10
- 12 октября 1992 года
- октябрь 1992 года
- 1992 год
- 23 июля 2001 года
- июль 2001 года
- 2001 год
- 10 часов 45 минут
- 10 часов
Более подробно файловая структура системы рассмотрена в Приложении №1 настоящего Руководства.
Кратность - возможность характеристики иметь несколько значений. Более подробно рассматривается далее по тексту.
Инструментальная система управления базами данных
16
П: Непонятно, почему Вы отводите для даты 10 символов, хотя во многих известных мне системах используется только 8?
Р: Чтобы дать Вам возможность работать с датами после 2000 и введены два дополнительных символа. Так дата 19 августа
1989 года задается 19.08.89 или 19.08.1989 , а 19 августа 2009 года - 19.08.2009.
КОДИРУЕМАЯ характеристика может иметь один из трех типов: КЦ, КТ, КА.
Рассмотрим пример: в одной
организационно-правовую форму.
№
02
Название характеристики
...
Организационно-правовая форма
из
характеристик
Тип
базы
ОРГАНИЗАЦИЯ
требуется
хранить
ее
Длина
?
Какой тип выбрать для этой характеристики - Т, КЦ, КА, КТ?
Первое, что приходит в голову - хранить ТЕКСТОМ (тип - Т). Самое простое, но не самое лучшее решение. Вопервых, это увеличит объем банка, так как "что вводится - то и хранится". Во-вторых, при заполнении входных
шаблонов разными пользователями возможна неоднозначность описания, что в последствии затруднит поиск и может
привести к неправильным результатам.
Например, ТОВАРИЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ можно описать как "ТОО", "Т.О.О.",
"Товарищество с ОО" и т.д. Для уменьшения занимаемого объема и однозначности описания можно выбрать тип
характеристики КОДИРУЕМАЯ-ЦИФРОВАЯ и создать словарь: 1 - совместное предприятие, 2 - акционерное общество
закрытого типа, 3 - товарищество с ограниченной ответственностью .... При этом в поле хранится не понятие, а его код,
взятый из словаря. Это удобнее, хотя при кодировании информации Вам придется заглядывать в словарь, так как
запомнить все коды довольно сложно.
Если Вы хотите иметь возможность вводить понятие словаря как кодом, так и его декодированным значением,
следует использовать тип КОДИРУЕМАЯ-АВТОМАТИЧЕСКАЯ. В этом случае, чтобы задать "Товарищество...",
следует набрать код "3", или полное понятие - "Товарищество с ограниченной ответственностью", или его начало "Тов".
И наконец, использование типа КОДИРУЕМАЯ-ТЕКСТОВАЯ позволит использовать словарь, коды понятий
которого - наборы букв (СП - совместное предприятие, АОЗТ - акционерное общество закрытого типа, ТОО товарищество с ограниченной ответственностью, ...). В некоторых случаях это удобнее.
Значением характеристики типа ФАЙЛ является ИМЯ ПОЛЯ, значение которого хранится в специальной базе
FILLES. Значением этого поля может быть как текстовая, так и графическая информация. Максимальная длина - 2557
символов. Для хранения таких файлов отведена специальная база с именами файлов FILES.DAT и FILES.ТAD,
размещаемых в каталоге банка.
Отсылка на графические файлы дает возможность хранить в банке любые графические изображения в формате
*.РСХ (фотографии, схемы, рисунки и т.п.), полученные сканером или подготовленные с помощью любого
графического редактора. Для просмотра и распечатки графических файлов формата *.РСХ используется встроенная в
систему программа. Перед печатью Вам придется запустить утилиту DOS - GRAPHICS /R.
П: Поясните, как организована связь между основной базой с характеристикой типа ФАЙЛ и специальной базой FILES?
Р: Схематично это можно описать так. База FILES хранит записи, каждая из которых включает три поля: первое - номер
записи в базе, второе - комментарий или имя записи, третье - сами символы текстовой или графической информации. А в
поле типа ФАЙЛ основной базы хранится только номер записи базы FILES, который при просмотре или коррекции этого поля
на экране «декодируется» значением комментарием.
П: Позволяете ли Вы хранить и просматривать графические файлы других форматов, например *.GIF?
Р: Да, это возможно. Для просмотра Вам необходимо подключить внешнюю программу просмотра командным файлом с именем,
которое соответствует расширению графического файла и разместить его в рабочем каталоге системы. Например, для
просмотра файлов *.GIF командный файл может иметь вид:
имя файла GIF.BAT
адрес С:\ CROWORK\
содержание - ECHO OFF
C:\ VIER\2SHOW /V %1
Однако режим печати для графических форматов, отличных от *.PCX недоступен.
ОТСЫЛКИ (связи между базами) описываются характеристиками типа П, О, ПО:
П
О
ПО
- ПРЯМАЯ отсылка на связанную базу;
- ОБРАТНАЯ отсылка из связанной базы, формируется автоматически при вводе и является
противоположной по направленности к прямой отсылке из другой (той же) базы;
- ПРЯМАЯ-ОБРАТНАЯ отсылка используется для установления между базами равноправных
(ненаправленных) отсылок.
Пример 4.2.
7
Рассмотрим пример описания в банке простых характеристик и отсылок. Для базы
ОРГАНИЗАЦИЯ характеристики "Название организации", "Организационно-правовая норма",
255 символов - рекомендуемая длина комментария (или точнее названия) поля в базе FILES.
Инструментальная система управления базами данных
17
"Дата регистрации", “Телефон”, “Сфера деятельности” - являются простыми, а характеристика
"Первые лица”, описывающая связь между базой ОРГАНИЗАЦИЯ и базой ЛИЦО, является
отсылкой.
Фрагмент описания базы ОРГАНИЗАЦИЯ:
№
00
01
02
03
...
11
15
...
18
Название характеристики
Тип
Системный номер
Название организации
Организационно-правовая форма
Дата регистрации
Ц
Т
КА
Д
*
* простые
* характеристики
Телефон
Сфера деятельности
Т
КА
*
*
Первые ЛИЦА
П
<--------- отсылка
ПРОНИН Алексей Витальевич
директор
123-4589
ВАЛВИ (АОЗТ)
дата регистрации - 12.04.89 г.
(095) 123-4567
аудит и консалтинг
Первые ЛИЦА
Работает в АОЗТ “ВАЛВИ”
ОДИНЦОВ Роман Родионович
заместитель директора
Работает в АОЗТ “ВАЛВИ”
Чем следует руководствоваться, используя для связи между базами отсылки - П (прямую), О (обратную) или ПО
(прямую-обратную)? В качестве примера будем использовать связь баз ОРГАНИЗАЦИЯ - ЛИЦО из предыдущего
примера. Для определения типа отсылки рассмотрим, каким образом и в какой последовательности предполагается
вводить информацию по взаимосвязанным базам. Возможны три варианта ввода и, соответственно, три типа отсылок:
а) Сначала всегда вводится информация по организации (база ОРГАНИЗАЦИЯ), а затем описываются первые лица
(ЛИЦО). Таким образом, для этой пары связанных баз, первая является "корневой", по отношению ко второй "подчиненной" базе. Значит, из корневой в подчиненную базу строится прямая отсылка, а из подчиненной в корневую обратная.
ОРГАНИЗАЦИЯ
“корневая” база
18
прямая отсылка
18
обратная отсылка
15
15
ЛИЦО
“подчиненная" база
Фрагмент описания базы ОРГАНИЗАЦИЯ (имя - РГ)
№
Название характеристики
00 Системный номер
01 Название организации
...
18 Первые лица
...
Тип
Ц
Длина
Кратность
Внешний
№ / связь с
базами
...
8
П
M
ЛЦ-15
---->
прямая отсылка на
базу ЛИЦО
Фрагмент описания базы ЛИЦО (имя - ЛЦ)
№
Название характеристики
Системный номер
Фамилия
Имя
Отчество
...
15 Работает в ОРГАНИЗАЦИИ
...
00
02
03
04
Тип
Ц
Т
Т
Т
О
Длина
Кратность
8
50
25
25
Внешний
№ / связь с
базами
...
02
03
04
M
РГ-18
==>
обратная отсылка на
базу ОРГАНИЗАЦИЯ
Инструментальная система управления базами данных
18
б) Если по технологии ввода информации требуется всегда первыми вводить сведения о лицах (корневая база), а
затем описывать места работы, описывая сведения об ОРГАНИЗАЦИИ (подчиненная база), то в третью графу описания
характеристики №18 базы ОРГАНИЗАЦИЯ заносится “О”, и соответственно в 15 характеристику базы ЛИЦО - тип
“П”. В общем случае, связь типа корневой-подчиненный используется для связи двух баз, из которых одна всегда
вводится первой по отношению ко второй.
в) Если для пары взаимосвязанных баз при вводе информации трудно выделить корневую и подчиненную, то
используется прямая-обратная отсылка, которая дает возможность первыми вводить информационные объекты любой
из двух баз.
ЛИЦО
ОРГАНИЗАЦИЯ
18
прямая-обратная отсылка
15
В случае если отсылка задана на ту же базу (связь типа "сама на себя"), то используется одна характеристика типа
"ПО".
19
ЛИЦО
19
Примером связи такого типа может служить отсылка №19 "Известен также как ЛИЦО" в базе ЛИЦО.
№
Название характеристики
00 Системный номер
...
19 Известен также как
Тип
Длина
Ц
8
ПО
Кратность
Внешний
№ / связь с
базами
М
ЛЦ-19
...
П: Влияет ли выбранный при описании баз тип связи - П, О, ПО на возможности поиска по связанным базам?
Р: Нет, не влияет. Тип отсылки определяет только возможности ввода информации в связанные базы, а после загрузки ее в
банк объекты становятся просто взаимосвязанными, что позволяет проводить поиск как от первого ко второму, так и
от второго к первому.
ПЯТАЯ графа таблицы отведена для задания КРАТНОСТИ - возможности для простых характеристик и отсылок
иметь несколько значений.
М
- немножественная (некратная) характеристика может иметь только ОДНО значение,
при этом поле таблицы не заполняется;
- множественная (кратная) характеристика может принимать неограниченное (в
пределах максимального размера записи 64 Кбайт) число значений.
Например, для базы ОРГАНИЗАЦИЯ немножественными (некратными) характеристиками являются: "Дата
регистрации", "Уставной фонд (млн. руб.)", множественными - могут быть “Сфера деятельности”,
“Первые лица".
Отсылки (связи между базами), как правило, всегда имеют кратность М.
В ШЕСТОЙ графе таблицы описания задается внешний номер характеристики, который используется при
проектировании нулевой формы ввода и таблиц экспорта/импорта. Для всех типов характеристик, за исключением П, О,
ПО, внешний номер, как правило, принимает значение номера характеристики, предлагаемое по умолчанию. Также Вы
можете произвольно установить внешний номер в диапазоне от 1 до 999. Допускается задавать одинаковые внешние
номера различных характеристик, а также устанавливать несколько внешних номеров для одной характеристики, что
позволяет выдавать одну и ту же характеристику во входных макетах под разными номерами.
Инструментальная система управления базами данных
19
Фрагмент описания базы ОРГАНИЗАЦИЯ (имя - РГ)
№
00
01
02
03
04
...
Название характеристики
Системный номер
Название организации
Организационно-правовая форма
Дата регистрации
Уставной фонд (млн. руб.)
Тип
Ц
Т
КА
Д
Ц
Длина
Кратность
8
150
2
10
12
Внешний №
/ связь с
базами
...
10
04
14
03
При вводе без формы характеристики №№1,2,3,4 будут высвечиваться на экран под номерами соответственно
10,04,14,03. Это дает возможность при вводе без формы со стандартной анкеты устанавливать номера позиций во
входном макете в соответствии с номерами анкеты, не изменяя нумерацию характеристик базы и не создавая форму
ввода.
Если шестая графа не заполнена, то при вводе по нулевой форме ввода характеристика на экран НЕ ВЫВОДИТСЯ.
Для отсылок в шестой графе указывается имя связанной базы и номер взаимосвязанной характеристики в ней. В
примере 4.2 описаны образцы отсылок - ЛЦ-15 и РГ-18. Поле данной графы таблицы является множественным, т.е.
допускается задание нескольких различных имен связанных баз.
Пример 4.3
Учредителями организации могут выступать как юридические (база ОРГАНИЗАЦИЯ), так и
физические лица (база ЛИЦО).
ОРГАНИЗАЦИЯ
20
19
ОРГАНИЗАЦИЯ
учредители
19
17
ЛИЦО
Фрагмент описания базы ОРГАНИЗАЦИЯ (имя - РГ)
№
Название характеристики
Системный номер
Название организации
Организационно-правовая форма
Дата регистрации
...
19 Учредители
00
01
02
03
Тип
Ц
Т
КА
Д
ПО
Длина
Кратность
8
150
2
10
Внешний
№ / связь с
базами
01
02
03
М
РГ-20
ЛЦ-17
При задании имени связанной базы и номера взаимосвязанной характеристики Вы можете выбирать его из таблицы,
вызвав ее на экран клавишей F2.
В СЕДЬМОЙ графе для кодируемых характеристик (КЦ, КА, КТ) указывается номер словаря от 1 до 999 . При этом
имеется возможность обратиться к словарной базе (F2), просмотреть на экране список понятий выбранного словаря
(F10). Для остальных типов характеристик седьмая графа не заполняется.
ВОСЬМАЯ графа таблицы отведена под ИДЕНТИФИЦИРУЮЩИЕ ключи (наборы характеристик), в которых
участвует данная немножественная характеристика. Поле данной графы является множественным, так как одна
характеристика может входить в различные ключи. Значениями поля являются цифры от 1 до 9. Количество
характеристик в ключе неограниченно. Идентифицирующий ключ - это совокупность характеристик, по значениям
которой система делает вывод об идентичности объектов в базе данных. Правило, по которому происходит
сопоставление вводимой и хранимой в базе информации, определяется ТИПОМ базы и задается при описании базы
данных в графе ТИП таблицы описания банка данных (см. раздел, посвященный описанию структуры банка данных).
Теперь более подробно о каждом типе:
Первый тип - БЕЗ ИДЕНТИФИКАЦИИ, задается цифрой "1". При этом сопоставление вводимой и хранимой в базе
информации не производится. Входным объектам присваиваются очередные (свободные) системные номера. В этом
случае не производится проверка по идентифицирующим ключам и, следовательно, в графе 8 номера ключей не
задаются.
Второй тип - НА НЕСОВПАДЕНИЕ (цифра "2"). Производится сопоставление вводимой и хранящейся в базе
информации в целях исключения загрузки одних и тех же объектов.
В случае полного совпадения любого из ключей входного объекта и объекта базы, входное сообщение, в составе
которого имеется такой объект, отстраняется от загрузки с выдачей диагностического сообщения.
Инструментальная система управления базами данных
Пример 4.4.
№
20
Загружается сообщение №1, в котором присутствует объект "ЛЦ" (на схеме - ЛЦ05) базы
ЛИЦО. В базе определен один идентифицирующий ключ с одной характеристикой - №1
"Номер и серия паспорта".
Название характеристики
00 Системный номер
01 Номер и серия паспорта
02 Фамилия
Тип
Ц
Т
Т
Длина
Кратность
8
14
50
Внешний
№ / связь с
базами
№
словаря
№
ключа
Статус
№
поля
НВ
01
02
1
Если в базу ЛИЦО ранее уже был введен объект с таким же номером и серией паспорта (на схеме ЛЦ000097), то
загружаемое сообщение от загрузки отстранится.
Входной файл
Банк данных
Входное сообщение №2
База ЛИЦО
Входное сообщение №1
...
ЛЦ05
...
ЛЦ000097
Идентификация
Отстранение СООБЩЕНИЯ №1 от
загрузки с выдачей
диагностического сообщения
Если в банке не окажется ранее введенного лица с же номером и серией паспорта, то входному объекту "ЛЦ05"
присвоится минимальный свободный системный номер (например "ЛЦ000579", т.е. все системные номера базы до 579
уже "заняты").
Количество ключей в одной базе может быть не более 9, причем каждому из них присваивается номер от 1 до 9.
Высшим приоритетом обладают наборы с номером 1, низшим - с номером 9. При этом идентификация по любому
набору производится при условии наличия значений у всех идентифицирующих характеристик.
Третий тип - НА СОВПАДЕНИЕ (цифра "3"). Производится сопоставление вводимой и хранящейся в базе
информации в целях слияния тех объектов, у которых полностью совпал хотя бы один из идентифицирующих ключей.
Если ключ у входного объекта не может быть вычислен (в каждом из идентифицирующих ключей отсутствует значение
хотя бы одной характеристики), то сопоставление вводимой и ранее загруженной информации не производится и
входному объекту присваивается минимальный свободный системный номер.
Пример 4.5.
Для базы ЛИЦО определены два идентифицирующих ключа:
Номер
ключа
1
2
Номер и наименование характеристики,
входящей в ключ
02
Фамилия
03
Имя
04
Отчество
12
Дата рождения
Номер и серия паспорта
01
При этом во входном объекте базы ЛИЦО заполнены значения следующих характеристик:
01
02
03
04
12
Номер и серия паспорта
Фамилия
Имя
Отчество
Дата рождения (число. месяц. год)
ИВАНОВ
СЕРГЕЙ
00.00.38
Сопоставление данного входного объекта с банком данных не производится, т.к. в каждом из 2-х
идентифицирующих ключей одна из характеристик не заполнена (в первом наборе - "Отчество", во втором - "Номер и
серия паспорта").
Если у входного объекта введены все значения характеристик хотя бы одного ключа, он сопоставляется с
одноименным набором всех объектов базы до первого полного совпадения. В случае НЕСОВПАДЕНИЯ первого
идентифицирующего ключа, проверяется второй (если он полностью задан), затем третий и т.д. Если ни один из ключей
входного объекта не совпал с соответствующими ключами базы, то входному информационному объекту присваивается
минимальный свободный системный номер.
Инструментальная система управления базами данных
21
П: Но это же очень долго при большом банке!
Р: Во-первых, в системе режимы ввода и загрузки разделены. Режим загрузки информации в банк, который мы рассмотрим
позднее, полностью автоматизирован и проходит без участия оператора, а идентификация происходит именно на нем.
Так что потери времени оператора нет. Во-вторых, для ускорения процесса идентификацию на загрузке можно
отключить, хотя при этом объекты будут грузиться без идентификации - “внавал”. И наконец, в-третьих, для
значительного ускорения загрузки в каждом ключе должна присутствовать хотя бы одна характеристика по которой
создан и поддерживается полный индекс. Процедуру создания индексов мы рассмотрим в разделе Индексные массивы
настоящего Руководства.
При первом СОВПАДЕНИИ любого из ключей входного объекта с ключом объекта базы, дальнейшее сопоставление
не проводится, а начинается проверка на совпадение простых немножественных характеристик, значения которых
должны совпадать, либо одно из них (или оба) должны быть пустыми (незаполненными). Если значение какой-либо
простой немножественной характеристики входного объекта и объекта банка не равны, то входное сообщение, в составе
которого имеется такой объект, отстраняется от загрузки с выдачей диагностического сообщения.
При совпадении всех значений простых немножественных характеристик входному объекту присваивается
системный номер объекта банка и производится слияние информации.
Пример 4.6.
Рассмотрим процесс идентификации ПРОСТЫХ НЕМНОЖЕСТВЕННЫХ характеристик
входного объекта ЛИЦО с базой.
01
02
03
04
05
06
12
13
...
Номер и наименование
характеристик
Номер и серия паспорта
Фамилия
Имя
Отчество
Страна (место жительства)
Город (место жительства)
Дата рождения
Дополнительные данные
Входной
объект
Объект банка
данных
ИВАНОВ
СЕРГЕЙ
ВАСИЛЬЕВИЧ
РОССИЯ
МОСКВА
29.05.1938
Ранее занимал должность . . .
ИВАНОВ
СЕРГЕЙ
ВАСИЛЬЕВИЧ
МОСКВА
29.05.1938
Входит в Совет . . .
Во входном объекте идентификатор вычисляется по первому ключу (см. предыдущий пример), т.к. это единственный
ключ, в котором введены значения всех характеристик (№№ 02,03,04,12). Предположим, что при сопоставлении с базой
найдено лицо, у которого значения ключа полностью совпадают с ключом входного лица. Но при проверке значений
простых немножественных характеристик выясняется, что значения характеристик №06 ("Город - место жительства")
совпадают, в значениях характеристики с №05 ("Страна - место жительства)" одно из значений отсутствует, что
допустимо, а вот значения характеристик с №13 ("Дополнительные данные") не совпадают. Следовательно, входное
сообщение, в котором присутствует данное лицо от загрузки отстранится с выдачей диагностического сообщения, в
котором будут указаны номер объекта во входном сообщении, системный номер объекта в базе, а также номер
характеристики, значения которой не совпали (№13). Примеры диагностических сообщений приведены в разделе,
посвященном КОРРЕКЦИИ. Если бы значения характеристик с №13 во входном объекте и в объекте банка совпали,
либо одно из них отсутствовало, то произошло бы слияние информации.
При слиянии значения простых множественных характеристик, значения "объединяются", исключая повторы.
Пример 4.7.
В результате загрузки входного объекта в базу объекты проидентифицировались по первому
ключу и значения всех простых немножественных характеристик совпали (см. предыдущий
пример с условием, что значения характеристик с №13 совпали). Рассмотрим процесс слияния
ПРОСТЫХ МНОЖЕСТВЕННЫХ ХАРАКТЕРИСТИК.
Номер и наименование
характеристик
Входной
объект
Объект банка
данных
...
02 Фамилия
03 Имя
04 Отчество
...
09 Телефон
12 Дата рождения
ИВАНОВ
СЕРГЕЙ
ВАСИЛЬЕВИЧ
ИВАНОВ
СЕРГЕЙ
ВАСИЛЬЕВИЧ
1645555; 1646666
29.05.38
1645555; 9210055
29.05.38
...
В результате слияния характеристика №09 (“Телефон”) будет иметь следующие значения: 1645555, 1646666,
9210055.
Значения характеристик, описывающих связи между базами, дополняются соответствующими отсылками на
информационные объекты связанной базы, исключая повторы.
Инструментальная система управления базами данных
22
Пример 4.8. Рассмотрим процесс слияния ОТСЫЛОК.
Номер и наименование
характеристик
...
02 Фамилия
03 Имя
04 Отчество
...
12 Дата рождения
15 Работает в ОРГАНИЗАЦИИ
Входной
объект
Банк данных
ИВАНОВ
СЕРГЕЙ
ВАСИЛЬЕВИЧ
ИВАНОВ
СЕРГЕЙ
ВАСИЛЬЕВИЧ
29.05.38.
директор
АОЗТ “Валви”
29.05.38.
зам.директора
ТОО “Валдай”
...
В результате слияния характеристика №15 будет иметь два значения - две отсылки на две организации - АОЗТ
“Валви” и ТОО “Валдай”.
Четвертый тип - НА СОВПАДЕНИЕ ПО НЕПОЛНОМУ КЛЮЧУ (цифра "4"). При использовании четвертого типа
базы допускается определять лишь ОДИН ключ. При этом идентификатор входного объекта вычисляется при наличии
значения хотя бы у одной идентифицирующей характеристики ключа, в отличии от третьего типа, где требуется наличие
значений всех идентифицирующих характеристик ключа. Это и есть основное отличие 3-го типа базы от 4-го, а все
остальное - то же самое.
И наконец пятый тип - НА ПОЛНОЕ СОВПАДЕНИЕ ЗНАЧЕНИЙ ПРОСТЫХ ХАРАКТЕРИСТИК И ОТСЫЛОК
(цифра "5"). Используется для идентификации объектов, подчиненных объектам баз ТРЕТЬЕГО и ЧЕТВЕРТОГО типов.
Объекты баз пятого типа, связанные с одним объектом верхнего уровня, сливаются друг с другом при условии полного
совпадения значений простых характеристик и отсылок. Порядок следования значений множественных характеристик не важен.
Если идентификатор входного объекта совпал с идентификатором объекта базы, то входному объекту присваивается
системный номер объекта базы и происходит слияние информации по правилам третьего вида идентификации.
В качестве характеристик, входящих в ключ, выбираются простые НЕМНОЖЕСТВЕННЫЕ
характеристики. Использование множественных характеристик в качестве идентифицирующих
недопустимо.
Пример 4.9.
Предположим, что в базе накапливаются сведения об организациях. От различных источников и
в разное время может поступать информация об одной и той же организации и Вам хотелось бы,
чтобы новая информация "сливалась" с уже имеющейся, автоматически формируя электронное
досье.
Но как объяснить системе, что "организация одна и та же"? Наверное, следует выделить характеристику или группу
характеристик, которые идентифицируют организацию на всем множестве накапливаемых организаций. Если в качестве
идентифицирующей характеристики выбрать "Наименование", то очевидно, что этого мало, т.к. существует множество
организаций с одинаковыми названиями. Поэтому в набор следует включить еще одну - например, "Адрес". В этом
случае, если у двух различных организаций совпадут наименование и адрес, то система "будет считать" что это одна и та
же организация.
Фрагмент описания базы ОРГАНИЗАЦИЯ
№
Название характеристики
00 Системный номер
01 Название организации
02 Организационно-правовая форма
...
10 Адрес
Тип
Длина
Кратность
Внешний №
/ связь с
базами
Ц
Т
КА
8
150
2
01
02
Т
60
10
№
словаря
№
ключа
Статус
№
поля
НВ
1
1
2
1
10
2
Характеристики №№ 01 и 10 составляют первый ключ.
И еще один пример, демонстрирующий возможность устанавливать несколько ключей в одной базе.
Инструментальная система управления базами данных
Пример 4.10.
23
Рассмотрим идентификацию в базе ЛИЦО. Однозначно человека можно идентифицировать по
номеру и серии паспорта. А если таких сведений нет, то по фамилии, имени , отчеству и дате
рождения (конечно, на больших объемах могут быть совпадения, но в примере ими
пренебрегаем).
Номер
ключа
1
2
Номер и наименование идентифицирующей
характеристики
02
Фамилия
03
Имя
04
Отчество
12
Дата рождения
01
Номер и серия паспорта
В этом случае фрагмент таблицы описания характеристик базы ЛИЦО будет иметь вид:
№
00
01
02
03
04
12
Название характеристики
Системный номер
Номер и серия паспорта
Фамилия
Имя
Отчество
Дата рождения
Тип
Ц
Т
Т
Т
Т
Д
Длина
8
15
40
20
40
10
Кратность
Внешний №
/ связь с
базами
№
словаря
№
ключа
Статус
№
поля
НВ
01
02
03
04
12
2
1
1
1
1
4
1
2
3
5
В общем случае любая простая немножественная характеристика может участвовать в нескольких ключах.
ДЕВЯТАЯ графа таблицы отведена для СТАТУСа характеристики. Это необязательный реквизит описания
позволяет Вам задавать дополнительные правила формирования значений характеристики. Одна характеристика может
иметь несколько статусов. Допустимые значения данной графы приведены в таблице:
Возможные
значения
НВ
НК
АЗ
ОБ
КД
ФР
ОФ
ЗМ
СВ
ДС
ИХ
АП
Комментарий
значение характеристики не вводится в базу (например, в описании каждого объекта
присутствует характеристика № 00 “Системный номер”).
значение характеристики недоступно для коррекции
значения характеристик типа "Д" и "В" автоматически заполняется при вводе сообщения из
внутреннего таймера компьютера.
значение характеристики обязательно для заполнения (т.е. не заполнив ее, нельзя перейти к
вводу информации по следующему входному макету).
для характеристик типа КЦ значения не раскодируются; для типов КТ и КА текст выдается
вместе с понятием; если статус КД не использован - выдается только понятие.
значение характеристики образуется путем вычисления по формуле, для описания которой
нажмите клавишу F10 (подробнее, см. раздел ФОРМУЛЫ).
обязательная формула, принципиальная разница с ФР в том, что значение характеристики
образуется каждый раз при загрузке информации в банк независимо от изменения значений
характеристик, входящих в формулу.
используется в базах с типом идентификации 3 и только для простых характеристик. Статус
начинает работать при слиянии с объектом банка данных при загрузке или коррекции
информации. Значения всех характеристик с данным статусом дополняемого объекта
полностью заменяются на значения соответствующих характеристик дополняющего объекта.
предназначен для организации автоматического установления отсылок на корневой объект
(первую базу в списке) при вводе объектов непосредственно несвязанных с корневым.
Используется только для одной отсылки корневой базы. Для установления отсылок при вводе
информации на корневой объект необходимо наличие обратных отсылок во всех базах данных
на характеристику корневой базы.
Пример: при вводе цепочки ББ-ЛЦ-РГ автоматически установится связь ББ-РГ
используется только для цифровых характеристик (тип “Ц”). При ПРОСМОТРЕ, ВЫДАЧЕ и
КОРРЕКЦИИ числовых значений характеристик базы, помеченных этим статусом, система
отделяет верхним апострофом каждые три цифры, начиная с конца числа. Физическое хранение
числовых значений в записях остается прежним.
Пример: 1`000`678`009
статус присваиваемый ИНФОРМАТИВНЫМ характеристикам базы, значения которых будут
выдаваться в режимах КОРРЕКЦИИ и анкетного ПРОСМОТРА после имени связанного
объекта и его системного номера.
Пример: ЛЦ123 - Попов
Если в базе нескольким характеристикам присвоен статус ИК, то их значения будут выдаваться в
той последовательности, к которой они расположены в описании структуры.
Пример: ЛЦ123 - Попов Алексей Иванович
статус АВТОПОИСКА может быть присвоен нескольким характеристикам базы, которые будут
участвовать в поиске по банку в режиме ВВОДА (более подробно см. раздел “ВВОД
Инструментальная система управления базами данных
24
ИНФОРМАЦИИ”), независимо от наличия
значений у других характеристик.
Если
характеристик с таким статусом нет, то поиск будет вестись по характеристикам, заполненным в
базе до начала поиска.
ДЕСЯТАЯ графа таблицы - чисто информационная, показывает номер поля в записи, которое присвоено
характеристике. Два банка считаются полностью одинаковыми, если у них совпадают таблицы описания всех баз,
включая и номер поля в записи.
Режим ПРОЕКТИРОВАНИЕ - БАНК ДАННЫХ дает возможность производить как первоначальное описание банка,
так и вносить изменения в описание наполненного информацией банка. Наши программные средства позволяют
добавлять и удалять характеристики, изменять такие параметры характеристик как номер, наименование, кратность,
максимальная длина, номер словаря, статус.
Прежде чем корректировать таблицу описания - убедитесь, что у Вас имеется в наличии по
крайней мере одна копия банка.
В таблице приведены возможные изменения описания банка данных, которые Вам доступны.
Изменения
описания
Удаление характеристики
Добавление новой
характеристики
Изменение номера
характеристики
(графа 1)
Коррекция названия
характеристики (графа 2)
Коррекция типа
(графа 3)
Коррекция длины
характеристики
(графа 4)
Коррекция кратности
(графа 5)
Коррекция внешнего
номера (графа 6)
Добавление и удаление
отсылок на связанные базы
(графа 6)
Коррекция номера
словаря (графа 7)
Коррекция номера
формулы (графа 7)
Коррекция
идентифицирующих
ключей
(графа 8)
Коррекция статуса
характеристики (графа 9)
Коррекция номера поля
(графа 10)
Дополнительные работы с банком после изменений описания
Не требуется.
Коррекция входных макетов (форм ввода), выходных макетов (форм вывода) и
таблиц трансляции, в которых "задействована" новая или откорректированная
характеристика.
При коррекции номера отсылки потребуется коррекция взаимосвязанных отсылок
на нее в связанных базах. При добавлении новой отсылки Вы должны добавить
также обратные отсылки, связанные с новой, во взаимосвязанных базах.
Не требуется.
Допустима, в случаях, где это имеет смысл и разрешено программными
средствами.
При увеличении и уменьшении длины характеристики дополнительных действий
не требуется. Однако при уменьшении длины Вы можете "обрезать" часть
значений характеристик.
Если из немножественной сделать множественную, то никаких доработок не
требуется. Обратная замена может привести к потере информации в тех полях,
которые имели больше одного значения. После такой коррекции описания в
значениях характеристик останется только первое значение.
Не требуется.
Коррекция входных макетов (форм ввода), выходных макетов (форм вывода) и
таблиц трансляции в которых "задействована" новая или откорректированная
отсылка.
Как правило, не проводится. Но если это необходимо, впоследствии Вам
потребуется провести ревизию базы с целью выявления тех кодов, которые уже
загружены в базу, а в новом словаре отсутствуют. Если данные в базе отсутствуют,
дополнительных действий не требуется.
При отсутствии данных в базе - не требуется. Если данные уже загружены, Вам
потребуется пересчет значений вычисляемой характеристики по всем записям в
базе, используя режим массовой коррекции.
Изменение состава характеристик, входящих в ключ, добавление новых ключей,
удаление ключей дополнительных действий не требует. Коррекция типа базы
может в некоторых случаях потребовать от Вас изменение ключей.
Не требуется.
Номер поля не корректируется.8
Единственный совет: после любых изменений в описании банка, особенно если в банке имеются данные, проведите
РЕВИЗИЮ ОПИСАНИЯ БАНКА и убедитесь, что Ваши изменения правильны.
8
Коррекция номера поля допустима только по согласованию с Разработчиками.
Инструментальная система управления базами данных
25
ПРОЕКТИРОВАНИЕ БАЗЫ
Для перехода к проектированию характеристик базы - в таблице описания банка переместите курсор на строку с
наименованием базы и нажмите F10. Значения некоторых граф таблицы описания (3,5,6,7,9) Вы можете выбрать из
таблицы, нажав F2. Переход на следующее поле таблицы - Enter, для выхода - Esc.
Для ДОБАВЛЕНИЯ характеристики в КОНЕЦ СПИСКА переместить курсор на строку таблицы, следующую за
последней описанной характеристикой базы и нажать Enter. Задать номер и наименование новой характеристики, а
затем последовательно описать область ее возможных значений в полях таблицы описания. Отдельные поля могут не
заполняться, переход на очередное поле осуществляется нажатием Enter.
Если при описании характеристики все последующие поля таблицы пустые (не заполняются), то для завершения
описания нажать F9 или Esc.
Для ДОБАВЛЕНИЯ характеристики ВНУТРЬ СПИСКА, переместить курсор на строку описания, перед которой
должна быть расположена вновь вводимая характеристика и нажать Ins. Набор характеристик "раздвинется", т.е. в
нужном месте набора появится пустая строка, которая автоматически становится текущей. Далее последовательно
описать новую характеристику. Добавление новой характеристики в описание базы может быть выполнено независимо
от наличия в банке данных ранее загруженной информации.
Для КОРРЕКЦИИ описания следует, последовательно нажимая Enter, подвести курсор в нужное место строки
описания характеристики и произвести требуемые изменения. А что можно корректировать в описании и на что эта
коррекция повлияет в банке мы рассмотрели в предыдущей таблице.
Для УДАЛЕНИЯ характеристики нажать Del и подтвердить удаление. При удалении описания любой
характеристики автоматически удаляются и ее значения, ранее введенные в банк данных.
Для КОПИРОВАНИЯ описания характеристики внутри текущей базы - пометить характеристику F2, переместить
курсор на новое место и нажать F3. Это удобно использовать при описании однотипных характеристик. Но не забудьте,
Вам потребуется изменить номер скопированной характеристики, т.к. наличие в базе двух характеристик с одним
номером недопустимо. Для ПЕРЕНОСА описания характеристики внутри текущей базы на новое место - пометить
характеристику F2, переместить курсор на новое место и нажать F4.
Для ПЕЧАТИ состава характеристик базы нажать Ctrl+PrtScr (или Ctrl+G) и задать вид шрифта. Для выдачи
структуры банка (таблицы описания баз и таблицы описания характеристик каждой базы, входящей в банк) в файл,
находясь на экране с перечнем списка баз банка нажмите F5 и задайте имя файла.
П: Непонятно, почему вставляя новую характеристику внутрь списка таблицы описания при наличии ранее введенных и
загруженных данных в банк, Вы не проводите последующую реорганизацию данных?
Р: Дело в том, что характеристика вставляется внутрь списка “только визуально”. Обратите внимание на десятую графу
таблицы (“Номер поля”)вновь вставляемой характеристики. Ей автоматически присваивается следующий за
максимальным используемым в записи номером поля. Этим же объясняется возможность изменять порядок следования
характеристик в таблице, используя клавишу F4. Характеристики перемещаются лишь в таблице, а номера полей в записи
остаются неизменными. По ним система и “отыскивает” требуемые значения при обработке записей.
П: Если в описании я увеличу длину текстовой характеристики на наполненном банке, то получаю возможность
увеличить количество символов в данном поле.
Р: Верно.
П: А если я уменьшу длину?
Р: Как правило длину характеристики уменьшают редко, при первичном проектировании банка. В системе используется
переменная длина полей и, соответственно, записей, что позволяет не хранить в записях пустые поля и незаполненные
части полей. Поэтому уменьшение длины характеристики (длины поля) не приведет к уменьшению физического объема
банка на диске. Вы лишь рискуете потерять часть информации в “обрезаемых полях”.
П: Когда физически удаляется информация из полей при уменьшении длины?
Р: Физически удаление происходит на втором этапе ревизии бака данных - этапе ВОССТАНОВЛЕНИЕ ЦЕЛОСТНОСТИ.
Работу системы в этом режиме мы разберем позднее в разделе Администрирование банка данных. А сейчас просто
следует запомнить, что после уменьшения длины характеристики, и аналогично изменения кратности поля с
множественной на немножественную, проведите лишь первый этап ревизии банка - КОНТРОЛЬ ЦЕЛОСТНОСТИ. Если
режим КОНТРОЛЯ ошибок не обнаружит, произведенные изменения в описании корректны. Если же ошибки в банке все
же выявлены - откажитесь от проделанных в описании изменений. В этом случае потери информации не произойдет.
П: А изменение типа характеристики ведь тоже может привести к ошибкам в данных?
Р: Точнее - некорректное изменение. Но принцип здесь тот же: после коррекции настройки на непустом банке - провести
ревизию банка без восстановления целостности. В случае появления ошибок в данных, вызванных изменением типа
характеристики - восстановите первоначальные значения.
ИНИЦИАЛИЗАЦИЯ ДАННЫХ (создание файлов данных).
После завершения проектирования банка или восстановления его описания с копии, требуется отвести на диске
"место", где вводимые данные будут храниться. Для этого используется процедура ИНИЦИАЛИЗАЦИЯ ДАННЫХ.
Если в данном банке данных эти файлы уже существуют, на экране появится сообщение: ФАЙЛЫ ДАННЫХ И
ИНДЕКСНЫЕ МАССИВЫ УЖЕ СУЩЕСТВУЮТ. Если этих файлов нет в банке данных, происходит процесс создания
"пустых" (без информации) файлов.
Инструментальная система управления базами данных
26
ПРОЕКТИРОВАНИЕ СЛОВАРЕЙ
СЛОВАРЬ представляет собой набор взаимосвязанных пар вида:
<код> - <понятие 1>, <понятие 2>, . . . , <понятие 9>
упорядоченных определенным образом и описывающих некоторую смысловую область. В качестве кодов могут
быть буквенные символы или целые числа, а в качестве понятий словаря могут использоваться как отдельные слова, так
и словосочетания естественного языка. Словарь задает однозначное соответствие между входящими в него кодом и
понятиями. Назовем <понятие 1> - основным понятием словаря, а <понятие 2>, . . . , <понятие 9> - дополнительными.
Режим проектирования словарей обеспечивает:
- создание и коррекцию списка словарей, задание адреса словарной базы;
- определение параметров каждого словаря: номер, наименование словаря, длину кода;
- ввод, коррекцию и удаление понятий;
- просмотр словаря и выбор в нем необходимых понятий (по коду, по понятию, по ключевому слову
или группе ключевых слов) в режимах ввода, коррекции, задании запросов;
- создание словарей иерархической структуры;
- загрузка/выгрузка понятий словаря из/в текстового и dBF- файла.
Физически под хранение каждого словаря системой отводится два файла, располагаемых в каталоге словарной базы.
SL<N словаря>.DAT - файл данных словаря;
SL<N словаря>.TAD - файл адресного пространства словаря.
где, <N словаря> - номер словаря списке.
А сам список словарей хранится в файлах SL000.DAT и SL000.TAD
Каждый словарь описывается одной строкой таблицы из 7 колонок, имеющей следующий вид:
№
1.
Название словаря
2.
№
НАЗВАНИЕ
ТИП КОДА
ДЛИНА КОДА
АВТОШАГ
ДОП. ПОИСК
ЧИСЛО ПОНЯТИЙ
Тип
кода
3.
Длина
кода
4.
Автошаг
5.
Доп.
поиск
6.
Число
понятий
7.
- номер словаря, целое число в диапазоне 1 - 999;
- текст не более 35 символов, отражающий смысловое назначение словаря;
- задает область возможных значений кодов: Ц - цифровой, Т - текстовый;
целое число от 1 до 18, задающее максимальную длину кода, максимальная длина
понятия постоянна и составляет 400 символов;
- необязательный параметр, задаваемый целым числом в пределах длины кода,
определяющий число, которое будет автоматически прибавляться к максимальному
значению кода словаря при задании отсутствующего понятия в режимах ВВОДА и
КОРРЕКЦИИ информации;
- если это поле имеет значение “+”, то поиск понятия словаря производится как по
основным (понятие 1), так и по дополнительным (2 - 9) понятиям;
- формируется автоматически и отражает текущее наполнение словаря.
Далее по тексту совокупность перечисленных выше параметров называется ОПИСАНИЕМ СЛОВАРЯ.
СОЗДАНИЕ нового словаря - нажать Ins и последовательно описать его. Для наполнения, коррекции понятий,
создания уровней вложенности (иерархический словарь) и других работ со словарем необходимо нажать F10. Для
УДАЛЕНИЕ словаря - нажать Del и подтвердить его удаление. Для удаления нескольких словарей предварительно
пометить их F2. Аналогично удаляются понятия словаря. Для УДАЛЕНИЯ СОДЕРЖИМОГО словаря без удаления его
описания (очистка словаря) используйте F8.
КОРРЕКЦИЯ параметров описания словаря (номера, наименования, типа и длины кода, величины автошага и
дополнительного поиска)- используйте Enter.
ПОДКЛЮЧЕНИЕ к банку другой словарной базы - нажмите F4 и задайте новый адрес.
В случае разрушения СПИСКОВ кодов словаря (индексов) сформировать их заново Вы можете клавишей F3.
Допускается одновременное формирование индексов нескольких словарей, предварительно помеченных F2.
ВЫГРУЗКА словаря в текстовый файл осуществляется клавишей F5 внутри конкретного словаря. При этом словарь
может быть выгружен целиком или в составе предварительно помеченных кодов.
ЗАГРУЗКА понятий из текстового файла осуществляется нажатием клавиши F5 (функция обратная выгрузке).
Текстовый файл должен быть подготовлен в формате: <код> - <понятие>char(13)char(10), где
char(13) - код возврата каретки
char(10) - код завершения строки
Пробелы от начала страницы до кода, между кодом и дефисом, дефисом и понятием значения не имеют и при
импорте игнорируются. При этом в таблице приведена возможная реакция системы при загрузке словарей из текстового
файла:
Инструментальная система управления базами данных
Возможные ситуации
Типы кодов загружаемых понятий не соответствуют
типу кодов словаря
Длина кода загружаемых понятий превышает
максимальную для данного словаря
Длина загружаемого понятия превышает
максимальную для данного словаря
Загружаемое понятие написано не в одну строчку
27
Реакция системы
Такие понятия не загружаются
Такие понятия не загружаются
"Лишняя" часть понятия обрезается
Часть понятия, переходящая на вторую строку,
обрезается
Для загрузки/выгрузки понятий словаря из/в dBF-файла используйте F5.
ВСТАВКА, УДАЛЕНИЕ, КОРРЕКЦИЯ понятий в словаре аналогичны вышеописанным и не рассматриваются.
Единственное отличие - КОД понятия словаря коррекции не подлежит, его можно только удалить или добавить новый.
Если Вам предстоит массовая коррекция кодов словаря, экспортируйте весь словарь (или часть его) в текстовый файл
(F5), проведите необходимые изменения с помощью любого текстового редактора и импортируйте измененные понятия
обратно (Ctrl+F5).
ЗАПОЛНЕНИЕ КОДИРУЕМЫХ ХАРАКТЕРИСТИК
Заполнение значений кодируемых характеристик может осуществляться непосредственно заданием нужного кода
или понятия или переносом кодов из словаря в поле характеристики. Для переноса кодов из словаря в поле
характеристики в режимах ВВОДА, ПОИСКА и КОРРЕКЦИИ вызов словаря на экран осуществляется клавишей F10.
Далее курсором выбирается нужное понятие или код, который при нажатии Enter копируется в поле характеристики.
Для переноса сразу нескольких кодов необходимо предварительно пометить их клавишей F2 и нажать Esc.
Для поиска понятия в словаре используйте:
- поиск по коду, задав код;
- поиск по начальному контексту понятия, переключение поиска КОД-ПОНЯТИЕ достигается (Alt+C);
- поиск по ПРОИЗВОЛЬНОМУ контексту (F3).
Вы можете представить словарь, отсортировав его как по возрастанию кодов (Alt+C), так и по алфавиту понятий
(повторное нажатие Alt+C). Комбинация клавиш Alt+Z изменяет размер окна, в которое выводится словарь. Для
просмотра (раскрытия) длинного понятия пользуйтесь клавишей F6.
ИЕРАРХИЯ СЛОВАРЯ
Любой словарь Вы можете преобразовать в ИЕРАРХИЧЕСКИЙ, явно задавая уровни вложенности понятий и
перемещая каждое понятие на свой уровень иерархии. Любое понятие может участвовать одновременно в нескольких
уровнях. Для перехода к первому уровню иерархии используйте Alt+X, повторное нажатие возвратит Вас в линейное
представление словаря.
ВВОД ПОНЯТИЙ В ИЕРАРХИЧЕСКИЙ СЛОВАРЬ:
- из режима описания словарей нажать F10 для входа в конкретный словарь;
- в окне, которое называется "Общий список кодов словаря",
нажать Alt+X и высветится окно первого уровня; - занести коды и понятия первого уровня;
- для каждого понятия первого уровня нажать F10 и высветить окно второго уровня, занести соответственно
коды и понятия второго уровня;
- переход от низшего уровня к высшему Esc.
Инструментальная система управления базами данных
28
Аналогично осуществляется построение нового словаря на любом уровне.
ПОСТРОЕНИЕ ИЕРАРХИЧЕСКОГО СЛОВАРЯ ИЗ ЛИНЕЙНОГО.
Для построения иерархического словаря из линейного Вам следует:
- выбрать существующий линейный словарь, после нажатия F10 высветятся его коды и понятия;
- перейти в первый уровень, нажав Alt+X;
- вызвать на экран общий список понятий словаря (F4);
- выбрать и пометить F2 понятия для их переноса из общего списка на первый уровень иерархии и нажать Esc.
Аналогично строятся и последующие уровни иерархии, т.е. для каждого понятия первого уровня определяется
список понятий второго уровня (F10, F4, F2, Esc). Для перехода по уровням вложенности словаря используйте F10, для
выхода - Esc. Для быстрого выхода из словаря с любого уровня иерархии используйте клавишу Backspace.
Пример построения иерархического словаря из линейного. Итак, перед Вами фрагмент словаря "Кодовое
обозначение продукции":
01
011
0111
0112
012
0121
0122
0123
02
024
0241
0242
0243
0244
- электроэнергия и теплоэнергия
- электроэнергия
- электроэнергия, произведенная электростанциями общего пользования и блокстанциями
- электроэнергия, произведенная локальными электростанциями
- теплоэнергия
- теплоэнергия, отпущенная электростанциями
- теплоэнергия, отпущенная котельными
- теплоэнергия, отпущенная промышленными утилизационными установками
- нефть, нефтепродукты, газ
- нефть добытая, направленная на подготовку, нефть по видам поставок и озокерит природный
- нефть добытая
- нефть, направленная на обезвоживание и обессоливание
- нефть, обезвоженная и обессоленная на нефтепромыслах и газоперерабатывающих заводах
- нефть, стабилизированная на нефтепромыслах и газоперерабатывающих заводах
...
Поиск кодов в таком словаре при достаточно больших объемах затруднен, и Вам хотелось бы иметь этот фрагмент (а
в конечном итоге и весь словарь) в виде:
01
-011
...
-0111
-0112
-0113
-012
-0121
-0122
Для перевода словаря к иерархической структуре Вам следует:
- нажать Alt+X, высвечивая на экран первый, пока еще пустой уровень иерархии;
- нажать F4, после чего на экране появится полный линейный список кодов словаря;
Инструментальная система управления базами данных
29
- пометить в этом списке клавишей F2 или Enter те коды, которые Вы собираетесь перенести на первый
уровень, нажать Esc и подтвердить перенос понятий. Для быстрого поиска кодов - наберите на клавиатуре код
и нажмите Enter, курсор "прыгнет" на заданный Вами код.
Для нашего примера два понятия - 01 и 02 образуют первый уровень. После формирования первого уровня Вам
можно перейти к формированию второго, для этого:
- установите курсор на коде 01 и нажмите F10, Вы перейдете на второй уровень вложенности,
соответствующий этому понятию;
- нажмите F4, высвечивая полный список. Далее все аналогично формированию первого уровня.
Итак, общая схема:
- войти в любой уровень иерархии;
- в общем списке пометить коды для переноса;
- нажать Esc и подтвердить перенос.
ФОРМЫ ВВОДА
ВХОДНЫЕ МАКЕТЫ (далее по тексту - формы ввода) позволят Вам упростить и ускорить самый трудоемкий
процесс - ввод информации. Они дают возможность:
- удалять из формы характеристики и базы, которые в ней не используются;
- присваивать отдельным характеристикам постоянные-корректируемые и постоянные-некорректируемыеневидимые значения;
- корректировать отдельные параметры характеристик, такие как название, кратность, внешний номер, статус.
Каждая форма описывается одной строкой таблицы-списка форм ввода, состоящей из двух полей: уникального
номера (идентифицирует форму ввода в банке) и комментария.
Список форм ввода
Комментарий к форме
№
НОМЕР ФОРМЫ
КОММЕНТАРИЙ
представляет собой целое число от 1 до 99. Единственное требование к нему - он должен
быть уникален в пределах одного банка. Формы ввода автоматически упорядочиваются
по возрастанию номеров.
к форме ввода - это некоторый неформализованный текст, который Вы задаете по
собственному желанию. Единственное его назначение - напомнить Вам впоследствии "для
чего форма создана и какие особенности, по сравнению с другими, имеет".
Для СОЗДАНИЯ НОВОЙ ФОРМЫ - выбрать курсором первую свободную строку таблицы и нажать Enter. В поле
задать УНИКАЛЬНЫЙ номер формы и комментарий к ней. Для КОРРЕКЦИИ комментария формы - переместить
курсор на строку описания и, нажимая Enter, перейти в требуемую графу и произвести коррекцию. Номера форм
коррекции не подлежат. У Вас имеется возможность скопировать форму (см. Копирование), а затем восстановить ее с
другим номером (см. Восстановление). Для УДАЛЕНИЯ формы выбрать ее из списка и нажать Del. Подтвердить
удаление. Если Вы хотите удалить сразу несколько форм, пометить их F2 (Ctrl+F2, Alt+F2 - клавиши групповой
пометки) и подтвердить удаление.
Каждая ФОРМА ВВОДА состоит из входных макетов подформ, проектируемых для каждой базы, входящей в эту
форму. ПОДФОРМА - это форма ввода отдельной базы данных.
Вы имеете возможность использовать:
- ввод по форме №00, которая присутствует в каждой базе и образуется автоматически, включая в себя
ПОЛНЫЙ НАБОР БАЗ банка и характеристик в них;
- ввод по ИЕРАРХИЧЕСКОЙ АНКЕТНОЙ ФОРМЕ. Появление на экране каждой следующей подформы
будет осуществляться при переходе к заполнению отсылки на связанную базу;
- ввод по ЛИНЕЙНОЙ АНКЕТНОЙ ФОРМЕ. Позволяет выдавать на экран перечень характеристик всех
используемых при вводе подформ без переходов по отсылкам.
Далее будут указаны различия при проектировании иерархических и линейных анкетных форм ввода.
Каждая ПОДФОРМА описывается одной строкой таблицы описания, выход на которую осуществляется через
F10.
Описание подформ ввода
№
Наименование подформы для баз
1.
2.
Мнемокод
подформы
3.
Высота
экрана
4.
При создании новой формы в нее автоматически переносится состав всех баз банка с полным набором
характеристик. Вам предоставляется возможность "удалить ненужное и изменить требуемое".
В первую графу таблицы автоматически заносится номер базы (номер подформы), во вторую - наименование базы
(наименование подформы), а в третью - мнемокод. Четвертая графа отведена под размер экрана для выдачи объектов по
этой подформе. При генерации формы номер, наименование, мнемокод подформ соответствует аналогичным
реквизитам баз, для которых подформы создаются. При необходимости Вы можете скорректировать название
подформы, задав произвольное имя.
Инструментальная система управления базами данных
30
В третьей графе высвечивается мнемокод подформы, состоящий из двух или трех символов. Причем, первые два
символа должны совпадать с мнемокодом той базы, для которой эта подформа строится. Трехсимвольный мнемокод
подформы позволяет создать для одной базы несколько подформ, состоящих из различных характеристик этой базы.
Мнемокоды таких подформ отличаются третьим символом (например, ЛЦИ или ЛЦА).
Значением четвертой графы могут быть числа меньшие или равные 1.0. Число 1.0 указывает на то, что объект
выводится на весь экран, 0.5 - объект выводится на пол-экрана. Допустимы также числа в диапазоне от 0.1 до 0.9,
определяющие размер экрана выводимого объекта.
Каждая ПОДФОРМА описывается таблицей из 8 граф, напоминающей таблицу описания состава характеристик баз.
№
1.
Наименование
характеристик
2.
Кратность
3.
Связь
с базами
4.
Номер в
форме
5.
Статус
6.
№ взаимоисключающей
характеристики
7.
Значени
е
8.
В ПЕРВОЙ графе таблицы выдается номер характеристики в базе, коррекция которого в форме ввода не опускается,
т.к. это может нарушить логическую структуру банка.
Во ВТОРОЙ графе задается наименование характеристики в подформе величиной не более 35 символов. Вы можете
оставить без изменения наименование или изменить его.
В ТРЕТЬЕЙ графе таблицы указывается значение кратности характеристики, аналогично описанию характеристик в
базе. Коррекция этой графы дает Вам возможность МНОЖЕСТВЕННУЮ характеристику базы объявить
НЕМНОЖЕСТВЕННОЙ в форме, но не наоборот.
ЧЕТВЕРТАЯ графа таблицы заполняется только для отсылок и содержит мнемокоды подформ, соответствующих
базам, на которые может иметь отсылки данная характеристика. Поле данной графы таблицы является множественным допускается задание нескольких различных мнемокодов.
В ПЯТОЙ графе таблицы можно указывать номера характеристик, под которыми они высвечиваются в
проектируемой форме.
В ШЕСТОЙ графе, при необходимости, указывается статус характеристики. Допустимыми значениями в данной
графе являются:
НВ
АЗ
ОБ
ВИ
КД
ИФ
СЛ
СВ
- значение характеристики не вводится; (например, в шестой графе указывается значение характеристики,
принимаемое по умолчанию, а в седьмой ей присваивается статус "НВ". На экран характеристика не
выдается, а во входное сообщение заносится значение, принимаемое по умолчанию);
- значение характеристики типа "Д" и "В" заполняются автоматически;
- значение характеристики обязательно для заполнения, т.е. не заполнив данную характеристику, нельзя
перейти к вводу следующего объекта;
- значение характеристики взаимоисключает ввод других характеристик;
- значение кодированных характеристик не декодируются на экране;
- значение характеристики будет выдаваться первым при просмотре списка объектов базы в текущем
сообщении. По умолчанию выдается ПЕРВАЯ характеристика в описании. Статус "ИФ" позволяет сделать
первой характеристикой любую из описания;
- автоматический вывод словаря на экран при вводе значений кодируемых характеристик;
- используется только для отсылок и дает возможность автоматически связывать корневой объект, которому
принадлежит данная характеристика, и объекты, описанные в сообщении вместе с корневым, на которые
возможна (описана в форме) отсылка из данной характеристики.
В СЕДЬМОЙ графе указаны номера характеристик, которые не вводятся при наличии значения данной
характеристики со статусом "ВИ".
В ВОСЬМОЙ графе при необходимости указывается значение, а для отсылок - несколько значений, которое
характеристика будет принимать по умолчанию во вводимом объекте. Восьмая графа таблицы позволяет строить
ЛИНЕЙНЫЕ формы ввода. Для того чтобы вводимые характеристики подчиненной базы "влились" в список
характеристик корневой базы - в поле этой графы Вам следует поставить <мнемокод подчиненной
подформы><порядковый номер>.Например, ЛЦ1 или РГ3. Порядковый номер - целое число, начиная с 2 (номер 1
отведен под форму корневой базы. Внутри одной линейной формы каждый порядковый номер - единственный в своем
роде.
При проектировании входных форм Вам предоставляется ряд ДОПОЛНИТЕЛЬНЫХ СЕРВИСНЫХ СРЕДСТВ,
которыми Вы можете пользоваться.
При создании новой формы можно использовать уже существующие формы текущего банка. В этом случае процесс
генерации новой формы сведется к копированию ранее созданной формы и ее коррекции.
Для дублирования формы ввода - создайте новую форму, задав номер и комментарий к ней, и скопируйте "в нее"
любую из существующих форм банка с помощью F3.
Вы также можете использовать существующие формы ввода других банков с аналогичной структурой. Для этого
надо скопировать форму в промежуточный файл (режим АДМИНИСТРАТОР - КОПИРОВАНИЕ - ФОРМЫ ВВОДА), а
затем восстановить с копии (режим АДМИНИСТРАТОР - ВОССТАНОВЛЕНИЕ - ФОРМЫ ВВОДА) в новую форму.
Если при проектировании формы Вы случайно удалили описание характеристики или базы - не отчаивайтесь,
нажмите F5, подведите курсор на удаленное описание и нажмите Enter, после чего все восстановится.
Инструментальная система управления базами данных
31
Вы имеете возможность ИЗМЕНИТЬ ПОРЯДОК следования характеристик в подформе и подформ в форме. Для
этого:
- пометить перемещаемое описание F2 (групповая пометка Ctrl+F2, Alt+F2);
- передвинуть курсор на новое место и нажать F4.
Предусмотрено и МАССОВОЕ удаление характеристик из формы. Для этого Вам следует лишь пометить их (F2),
нажать Del и подтвердить удаление.
Для ПЕЧАТИ описания входных форм Вам предлагается нажать Ctrl+G или Ctrl+PrtSc и задать вид шрифта.
Аналогично Вы можете распечатать состав реквизитов входной формы.
ТАБЛИЦЫ ЭКСПОРТА-ИМПОРТА
Этот вопрос подробно будет рассмотрен в главе АДМИНИСТРАТОР, когда у Вас накопятся определенные знания
по работе с Инструментальной системой.
ФОРМУЛЫ
ФОРМУЛОЙ называется уравнение, согласно которому проводится вычисление с использованием имеющихся в
базах данных. Аппарат формул позволяет:
- присваивать любой простой характеристике описания базы статус Ф и описывать правила вычисления ее
значений, при этом вычисляемое при загрузке значение будет присваиваться характеристике;
- включать формулы в выходные формы для операций с данными выдачи, полученные при этом результаты в
базе не хранятся.
ФОРМУЛА представляет собой набор следующих выражений, заключенных в скобки, и разделенных”:”
переменная:= (операнд1 оператор операнд2)
имя базы_характеристика:= (операнд1 оператор операнд2)
где, “: “ - символ присваивания.
Формулы, могут содержать:
- арифметические операторы, такие как + или - ;
- функции, такие как MAX, MIN, SUM, INPUT;
- числа, такие как 0, 19 и -56.29;
- значения характеристик баз, например, ТВ12 или ЛЦ45;
- переменные: глобальные и локальные, например @@A или @SUMMA.
Формулы вычисляются согласно обычным правилам алгебры:
- вычисления в уравнениях проводятся слева направо;
- первым - содержимое внутренних скобок;
- операторы выполняются в обычном порядке.
ОПЕРАНДАМИ в формуле являются числа (0, -276.23), значения характеристик (РГ12- 12-я характеристика базы
РГ) и переменные. Переменные делятся на ЛОКАЛЬНЫЕ и ГЛОБАЛЬНЫЕ. Локальная переменная начинается с
символа '@'(например, @i), а глобальная с символов '@@'(например, @@A).
При использовании формул в формах печати используется СПЕЦИАЛЬНАЯ переменная @RET, значение которой
выводится в соответствующем месте формы печати. Если эта переменная не определена, то выводиться ничего не будет.
ОПЕРАТОРЫ И ФУНКЦИИ.
а) Арифметические операторы и функции:
+
*
/
INT(формула)
АВS(формула)
%
- сумма
- разность
- произведение
- деление
- целая часть
- абсолютное значение
- остаток от деления
1+2=3 или @RET:=(@A+@B)
3-1=2 или @@R:=(@A-@B)
3*2=6 или
6/3=2
INT (3/2)=1
ABS(1-3)=2
5%3=(5-(INT(5/3)*3)=2
б) Специальные функции по работе с характеристиками типа ДАТА:
DATE(<дата>)
- используется для преобразования значений характеристик типа “Дата” из
внутреннего формата (ГГММДД, где ГГ - год, ММ - месяц, ДД - число) в
количество дней, прошедших с 31 декабря 1968 года до текущей даты.
Пример: Пусть характеристики ДФ09 и ДФ10 (тип “Дата”) имеют значения:
ДФ09 = 800212 (12 февраля 1980 г.)
ДФ10 = 800112 (12 января 1980 г.).
Тогда формула @KOL:=(DATE(ДФ09)) присвоит переменной @KOL значение
4426. А выражение @SROK:=(DATE(ДФ09)-DATE(ДФ10)) присвоит значение
Инструментальная система управления базами данных
DATETOYMD(число)
Пример:
TODATE(<дата>)
Пример:
YMDTODAYS(ГГММДД)
Пример:
DAYSTOYMD(число дней)
Пример:
DATETOMDY(ГГММДД)
Пример:
32
31 переменной @SROK, равное количеству дней от 12 января до 12 февраля
1980 года.
- используется для преобразования количества дней во внутренний формат даты
Эта функция является обратной для функции DATE.
Пусть ДТ01=680409 (9 апреля 1968 г.). Тогда DATE(ДТ01)=100, а
DATETOYMD(100)=680409
- используется для преобразования даты из внешнего формата даты ДД.ММ.ГГ
во внутренний формат ГГММДД.
Пусть характеристика ДФ01 типа 'Д' имеет значение 12.01.80 (12 января 1980 г).
Тогда TODATE(ДФ01)= 800112
- используется для преобразования даты из формата даты ГГММДД в
количество дней.
Пусть характеристика ДТ01 типа 'Д' имеет значение 010203 (1 год 2 месяца 3
дня), тогда выражение @i:=YMDTODAYS(ДТ01) присвоит переменной @i
количество дней даты ДТ01, равное 428.
- используется для преобразования число дней в формат даты ГГММДД.
Пусть @i=428, тогда ДТ01:=DAYSTOYMD(@i) - 01 характеристике базы ДТ
присваивается дата 010203, что соответствует количеству дней 428.
- используется для преобразования даты из внутреннего формата ГГММДД во
внешний формат даты ДД.ММ.ГГ.
Пусть ДТ01=800112, тогда DATETOMDY(ДТ01)=12.01.80
в) Специальные функции по работе с КОДИРУЕМЫМИ характеристиками:
SL(номер словаря, код)
- возвращает понятие словаря, соответствующее коду. Все кодируемые
характеристики в базе (тип КА, КТ, КЦ) хранятся в виде кодов.
Пример: @i:=SL(1,TB10) - переменной @i присваивается понятие словаря №1
соответствующее коду, который является значением 10-й характеристики базы
ТВ.
NSL(номер словаря, код,
- возвращает понятие словаря, взятое из поля 'номер поля', соответствующее
номер поля)
коду. Все кодируемые характеристики в базе (типы КА, КТ, КЦ) хранятся в виде
кодов.
Пример: @i:=NSL(1,TB10,2) - переменной @i присваивается понятие словаря №1 из поля
№2, соответствующее коду, который является значением 10-й характеристики
базы ТВ.
NUMTOTEXT(номер словаря,
- число представляет в текстовом виде, используя для декодировки указанный
число)
словарь (см. пример в конце раздела).
Пример: Пусть @D=1253001и для декодировки числа используется словарь № 10, то
NUMTOTEXT(10, 1253001)=“один миллион двестипятьдесят три тысячи один”
г) Специальные функции по работе с ЦИФРОВЫМИ характеристиками:
NUM(строка1)
- проверка переменной на числовое значение: возвращает 1, если <строка1> число, иначе 0.
Пример: Если АД01 = '56748', то @i:=NUM(АД01) присвоит переменной @i значение '1'.
Если АД01 = 'Москва ул.Перовская д.1 кв.138' , то @i:=NUM(АД01) - @i будет
иметь значение '0'.
ROUND(число1,число2)
- округлить первый операнд (число1) до количества знаков после запятой,
заданных вторым операндом (число2).
Пример: Если @A= '23.666', то @i:=ROUND(@A,2) - @i будет иметь значение '23.67'.
DES(число)
- выдача числовых значений характеристик или переменных с разделением
верхним апострофом каждых трех цифр, начиная от конца целой части числа.
Пример: DES(1236598.125)= 1`236`598.125
д) Специальные функции по работе со СТРОКАМИ (текстовыми) характеристиками:
- определяет длину S, где S - переменная или характеристика базы.
Пример: Если РГ02 имеет значение 'Энергия', то @i:=len(РГ02) - переменной @i
присваивается число 7, которое соответствует количеству знаков 2-й
характеристики базы РГ.
SUBSTR(строка, начало,
- возвращает подстроку строки 'строка' с позиции 'начало' длины 'длина'.
длина)
Пример: Если РГ02 имеет значение 'Энергия', то @i:= SUBSTR(РГ02, 2, 4) - переменной
@i присваивается значение 4-х знаков, начиная со 2-го, 2-й характеристики базы
РГ - 'нерг'.
CONCAT(строка1, строка2)
- склеивает строку1 и строку2.
Пример: Пусть характеристика РГ01 имеет значение 'НПО', а РГ02 - 'Энергия', тогда
@RET:=CONCAT(РГ01,РГ02) - переменной @RET присваивается значение
"НПО Энергия".
LEN(s)
Инструментальная система управления базами данных
33
INDEX(строка1,строка2,
- номер символа в строке1, с которого начинается номер 3-е вхождение строки2
номер3)
в строке1; если вхождения нет, то возвращает 0.
Пример: @i:=INDEX("asdaasdaasd","sd",2) - переменной @i присваивается значение '6' это есть номер символа, с которого символы 'sd' второй
раз входят в строку символов 'asdaasdaasd'.
TRIM(строка1)
- убирает лишние пробелы в строке1, кроме одного.
Пример: Пусть АД01 = '
Москва ул.Перовская д.1 кв.138 тогда @i:=TRIM(АД01) переменная @i будет иметь значение "Москва ул.Перовская д.1 кв.138'.
FIELD(строка,разделитель,
- возвращает часть строки 'строка'
номер_поля)
Пример: FIELD("Иванов Иван Иванович" , " " , 2) = "Иван"
FIELD("г.Москва, 105122,..." , "," , 1) = "г.Москва"
STR(строка,количество)
- дублирует строку заданное количество раз.
Пример: STR("АВ",3)="АВАВАВ"
SCOUNT(строка,подстрока)
- подсчет количества вхождений подстроки в строку.
Пример: SCOUNT("abcdecdrfcd","cd")=3
FRANCE(строка)
- возвращает транскрипцию строки на французском языке.
Пример: FRANCE("Гусев") = "Goussev"
Транскрибирование на французский язык проводится по следующим правилам:
Для отдельных БУКВ:
А - A,a; Б - B,b; B - V,v; Г - G,g; Д -D,d; Е - E,e; И,Й - I, i; K - К, к; Л- L, l; M- M, м; Н- Н, h;
O - O, o; П- P, p; P - R, r; C - S, s; Т - T, t;У - OU, ou; Ф - F, f; Х - KH, kh; Ц - TS, ts; Ч TCH, tch; Ш - CH, ch; Щ - CHTCH, chtch; Э - Е, е ; Ю - IOU, iou; Я - IA, ia; Ы - Y, y.
Для СОЧЕТАНИЙ букв в фамилиях и именах:
1. Г перед Е, И, У пишется с U (gue, gui, guy). Например, GUIREV.
2. C между двумя гласными буквами обозначается SS. Например, GOUSSEV.
3. Фамилии, оканчивающиеся на ИН при транскрибировании оканчиваются дополнительной
буквой Е. Например, ВАСИН ---> VASSINE
4. Если в фамилии встречается связка ЬЕ она транскрибируется на IE.
Например,
ВАСИЛЬЕВ ---> VASSILIEV.
5. Cочетание KC во французском тексте пишется как Х.
Например, МАКСИМОВ ---> MAXIMOV.
LATRUS(строка)
-заменяет в строке идентичные по написанию латинские буквы на русские.
Пример: РГ02:=LATRUS(РГ02) - в значениях характеристики №2 базы РГ все одинаковые
по написанию латинские буквы будут заменены на русские.
е) Функция ВВОДА ПЕРЕМЕННОЙ с клавиатуры:
INPUT (“текст”, <длина>)
- позволяет ввести с клавиатуры значение переменной. Выводит на экран текст и
окно для ввода размером <длина> и ждет ввода с клавиатуры.
Пример: @KURS:=INPUT('Задайте текущий курс доллара', 5) - переменой @KURS будет
присвоено значение, введенное с клавиатуры.
ж) СПЕЦИАЛЬНЫЕ ПЕРЕМЕННЫЕ:
@CURRENTDATE
@CURRENTTIME
@SYSNOMER
@USERNAME
@NOFSELECT
- в переменной хранится текущая дата в формате ГГММДД.
- в переменной хранится текущее время в формате ЧЧ:ММ.
- в переменной хранится номер текущего объекта.
- в переменной хранится имя пользователя.
- в переменной хранится количество отобранных объектов.
ФУНКЦИИ - встроенное уравнение, используемое в формулах, типа SUM, COUNT, MAX, MIN и др.
ТВ10:=SUM(ТВ90_ДФ,ДФ07*12)
- 10-й характеристике объекта ТВ присваивается сумма 7-х
характеристик связанных с ним по 90-й характеристике объектов ДФ,
умноженная на 12.
ТВ10:=MIN(ТВ90_ДФ,ДФ07*ДФ08)
- 10-й характеристике объекта ТВ присваивается минимальное
значение произведения 7-х и 8-х характеристик связанных с ним по
90-й характеристике объектов ДФ.
ТВ10:=MAX(ТВ90_ДФ,ДФ07*ДФ08)
- 10-й характеристике объекта ТВ присваивается максимальное
значение произведения 7-х и 8-х характеристик связанных с ним по
90-й характеристике объектов ДФ.
ТВ10:=COUNT(ТВ90_ДФ)
- 10-й характеристике объекта ТВ присваивается количество
связанных с ним по 90-й характеристике объектов ДФ.
TB10:=CAT(TB90_ДФ,ДФ07)
- 10-й характеристике объекта ТВ присваивается соединение
(конкатенация) 7-х характеристик, связанных с ним по 90-й
характеристике объектов ДФ. Если после имени связанной базы в
квадратных скобках стоит число, то оно означает номер объекта в
запросе, и в вычислении участвуют только отобранные связанные
базы.
Если запрос ОТ ТВ01 90 ДФ02 ДФ02 7 БР 5, то ТВ10:=SUM(ТВ90_ДФ[2],ДФ07) - 10-й
Пример:
характеристике объекта ТВ присваивается сумма 7-х характеристик, больших 5, связанных с ним по
Инструментальная система управления базами данных
34
90-й характеристике объектов ДФ.
УСЛОВНЫЕ ВЫРАЖЕНИЯ:
GOTO имя_метки
NEW
Пример:
SAVE(имя_записи,значение),
Пример:
LOAD(имя_записи)
Пример:
DELETE(имя_записи)
Пример:
IF
( условное выражение )
THEN
( формула1 )
ELSE
( формула2 )
Условное выражение: значение1 знак_сравнения значение2
Знак сравнения: = - равно
> - больше
< - меньше
# - не равно
ОПЕРАТОР ПЕРЕХОДА - определяет явную передачу управления на
метку, где имя_метки - последовательность символов без пробелов, в
конце которой стоит двоеточие.
- создание нового связанного объекта с одновременным возвратом
его системного номера.
@SN:=NEW(ТВ90 ДФ) - переменной @SN присваивается системный
номер вновь созданного объекта ДФ, связанного с текущим объектом ТВ по
90-й характеристике.
- сохранить значение в записи.
@temp:=SAVE("MY_VARIABLE",@@a)
- считать значение из записи.
@b:=LOAD("MY_VARIABLE")
- удалить запись.
@temp:=DELETE("MY_VARIABLE")
- возвращает “1”, если в кратном поле существует указанное
значение,иначе “0”.
Пример: IF (EXIST(ЛЦ11,5)) THEN .........
- располагаются в любом месте листинга формул и ограничиваются слева и
справа символами /* и */ соответственно.
EXIST(кратное поле,значение)
КОММЕНТАРИЙ
РАБОТА С НЕСВЯЗНЫМИ БАЗАМИ ДАННЫХ:
Если после мнемокода объекта и номера характеристики в фигурных скобках стоит число или переменная, то они
обозначают системный номер объекта. В операции присваивания слева от знака присваивания может стоять только
такое выражение.
Пример:
@@a:=ТВ07{12}
ТВ07{@sn}:=23
- переменной 'а' присваивается значение 7 характеристики объекта с
системным номером 12 базы 'ТВ'
- 7-й характеристике базы 'ТВ' с системным номером, равным значению
переменной 'sn', присвоить значение 23.
Далее по тексту мы предложим Вам несколько примеров, иллюстрирующих применение описанных выше формул,
которые взяты нами из реально существующих банков.
Пример 1. В базе “Контроль” (имя базы - КН) заполняются две характеристики - “Дата постановки на контроль” (№
12, тип “Дата”) и “Количество дней на исполнение” (№ 13, тип “Цифровой”). Требуется написать формулу,
автоматически формирующую значение характеристики № 14 “Дата исполнения” (№ 14, тип “Дата”).
Алгоритм: преобразовать дату (КН12) в абсолютное количество дней функцией DATA, прибавить количество дней
на исполнение (КН13), и выполнить обратное преобразование полученной суммы в дату функцией
DATETOYMD.
Тогда формула, позволяющая вычислить контрольную дату, будет выглядеть следующим образом:
КН14:=DATETOYMD(DATE(КН12)+КН13).
Пример 2. В базе “Контроль” (КН) имеется характеристика “Дата постановки на контроль” (№ 12, тип “Дата”).
Требуется выдавать значение этой характеристики в виде: <ЧИСЛО><МЕСЯЦ текстом><ГОД>. Например, 12 февраля
1995 г.
Для декодирования месяца создадим словарь № 99,
в котором номеру месяца (код словаря)
будет
соответствовать его наименование (понятие словаря). Например, 1 - январь, 2 - февраль, 3 - март и т.д.
Тогда формулы для преобразования дат могут иметь вид:
@a:=DATETODMY(КН12);
@DD:=FIELD(@a,”.”,1);
@MM:=FIELD(@a,”.“,2);
@YYYY:=FIELD(@a,”.”,3);
/* преобразование даты из внутреннего формата ГГММДД во внешний
ДД.ММ.ГГ*/
/* переменной @DD присвоить значение 1-го поля переменной @a
(разделитель полей “.”), которое соответствует ЧИСЛУ*/
/*переменной @MM присвоить значение 2-го поля - соответствующему
числовому значению МЕСЯЦА*/
/*переменной @YYYY присвоить значение 3-го поля -соответствующему
Инструментальная система управления базами данных
@MM:=SL(99,@MM);
@DAT:=CONCAT(@DD,” “);
@DAT:=CONCAT(@DAT,@MM);
@DAT:=CONCAT(@DAT,” “);
@DAT:=CONCAT(@DAT,@YYYY)
35
ГОДУ*/
/*декодировать значение МЕСЯЦА по словарю №99 и присвоить его
переменной @ММ */
/*склеить значение переменной @DD (ЧИСЛО) с пробелом и присвоить
переменной @DAT*/
/* склеить значение @DAT со значением переменной @ММ (МЕСЯЦ)*/
/*склеить переменную @DAT с пробелом*/
/*склеить переменную @DAT со значением переменной @YYYY(ГОД)*/
Пример 3. В базе “Организация” имеется характеристика № 17 “Уставной фонт (руб.)”. Требуется числовое
значение этой характеристики распечатать словами. Например, значение “1004235” вывести на печать как “один
миллион четыре тысячи двести тридцать пять”. Предварительно должен быть создан словарь №10 (номер словаря
выбирается произвольно), тип кода - цифровой, длина кода - 10, где каждому числу будет поставлено в соответствие его
текстовое значение. Например:
1 - один
2 - два
3 - три
4 - четыре
5 - пять
6 - шесть
7 - семь
8 - восемь
9 - девять
10 - десять
11 - одиннадцать
12 - двенадцать
13 - тринадцать
14 - четырнадцать
15 - пятнадцать
16 - шестнадцать
17 - семнадцать
18 - восемнадцать
19 - девятнадцать
20 - двадцать
30 - тридцать
40 - сорок
50 - пятьдесят
60 - шестьдесят
70 - семьдесят
80 - восемьдесят
90 - девяносто
100 - сто
200 - двести
300 - триста
400 - четыреста
500 - пятьсот
600 - шестьсот
700 - семьсот
800 - восемьсот
900 - девятьсот
1000 - одна тысяча
2000 - две тысячи
3000 - три тысячи
4000 - четыре тысячи
5000 - тысяч
1000000 - один миллион
2000000 - два миллиона
3000000 - три миллиона
4000000 - четыре миллиона
5000000 - миллионов
1000000000 - один миллиард
2000000000 - два миллиарда
3000000000 - три миллиарда
4000000000 - четыре миллиарда
5000000000 - миллиардов
Формула для вычислений следующая:
@RET:=CONCAT(NUMTOTEXT(10,РГ17),”руб.”)
/* переменной @RET присвоить склеенное с текстом “руб.”
декодированное по словарю № 10 значение характеристики
РГ04*/
Пример 4. В базе “Организация” имеется характеристика № 01 “Полный адрес организации”. Требуется
выделить в отдельные характеристики: индекс - в характеристику №2, наименование города- в характеристику №3,
наименование улицы , номер дома, номер квартиры - в характеристику №4.
Формулы для вычислений :
РГ02:=FIELD(РГ01,” “,1);
РГ03:=FIELD(РГ01,” “,2);
@AA:=LEN(РГ01);
@II:=LEN(РГ02);
@GG:=LEN(РГ03);
@UU:=(@II+@GG+3);
@DD:=(@AA-@UU);
РГ04:=SUBSTR(РГ01,@UU,@DD)
/*характеристике №2 присвоить значение 1-го поля (разделитель полей
“пробел“) характеристики №1, которое соответствует ИНДЕКСУ*/
/*характеристике №3 присвоить значение 2-го поля характеристики №1,
которое соответствует ГОРОДУ*/
/*подсчитать длину значения характеристики №1*/
/*подсчитать длину значения характеристики №2*/
/*подсчитать длину значения характеристики №3*/
/*подсчитать номер позиции в характеристике №1, с которого начинается
НАИМЕНОВАНИЕ УЛИЦЫ*/
/*подсчитать количество символов в значение характеристики №1, которое
соответствует оставшейся части адреса*/
/*характеристике №4 присвоить часть значения характеристики №1, которое
соответствует УЛИЦЕ, № ДОМА, № КВАРТИРЫ*/
Пример 5. В базе “Лицо” заведены характеристики №10 “Дата поступления на работу”, №11 “Дата увольнения”.
Требуется посчитать выслугу лет и полученное значение поместить в характеристику №12.
Формулы для вычислений могут иметь вид:
@DD:=YMDTODAYS(ЛЦ11-ЛЦ10);
ЛЦ12:=DAYSTOYMD(@DD)
/*считать количество отработанных дней */
/*преобразовать количество дней в формат даты ГГММДД*/
Пример 6. В базе “Товар” заведена цифровая характеристика №7 “Стоимость товара в рублях”. Требуется
посчитать стоимость товара в $ по текущему курсу. Формулы для вычислений могут иметь вид
@@KURS:=INPUT(“ВВЕДИТЕ КУРС”, 4)
/*ввод с клавиатуры значения текущего курса*/
Инструментальная система управления базами данных
@RET:=(@@KURS*ТВ07)
36
/*вывод на печать стоимости товара в $ */
Если в результате выполнения запроса получим несколько ответов, то для того чтобы сообщение
“ВВЕДИТЕ КУРС” выводилось на экран только один раз перед выдачей первого ответа, необходимо при
проектировании формы выдачи первую формулу указывать перед управляющим символом #Н (см.
ПРОЕКТИРОВАНИЕ ВЫХОДНЫХ ФОРМ)
Пример 7. Пусть имеются две связанные базы с именами РП и ПЛ. Необходимо в характеристику с
номером 10 базы РП поместить сумму тех характеристик с номером 50 из связанных с данной базой записей
базы ПЛ, значения характеристик с номером 10, которые удовлетворяют определенным условиям.
Допустим, что база РП связана с базой ПЛ по отсылке с номером 60.
Первый способ решения: характеристика РП10 - должна быть описана со статусами ФР и ОФ.
В описании структуры формула для данной характеристики может иметь следующий вид:
@n:=COUNT(РП60_ПЛ);
if (@n) then (
@a:=CAT(РП60_ПЛ,CONCAT(ПЛ00,"!"));
/* вычисляем сколько объектов ПЛ связано с РП)*/
/* получаем список системных номеров, связанных с объектом РП по
характеристике №60, объектов ПЛ через разделитель "!" */
@i:=0;
@tmp:=sum(РП60_ПЛ,ПЛ50);
@ret:=0;
L:;
@i:=(@i+1);
if (@i<(@n+1)) then (
@sn:=FIELD(@a,"!",@i);
@d:=ПЛ10{@sn});
if ((@d<145)&(@d>123)) then (
@ret:=(@ret+ПЛ50{@sn}));
/* фиктивный оператор, который необходим для принудительного
пересчета формулы при коррекции 50-ой характеристики уже
существующих объектов базы ПЛ */
/* выделить очередной системный номер объекта ПЛ */
/* взять значение характеристики №10 объекта ПЛ с системным номером
@sn */
/* если условие выполнено, то к общему счетчику прибавить значение
характеристики №50 объекта ПЛ с системным номером @sn */
goto L:))
Этот способ не самый рациональный, но на его примере прослеживается работа напрямую с отсылками на
связанные объекты.
Второй способ: характеристика РП10 - должна быть описана со статусами ФР и ОФ.
@n:=COUNT(РП60_ПЛ);
if (@n) then (
@ret:=SUM(РП60_ПЛ,
@d:=123;
if (@d<123) then (ПЛ50) else (0)))else ()
/* пример того, как в качестве второго параметра функций SUM, MIN,
MAX, CAT может быть использовано несколько операторов*/
ЗАПРОСЫ ПО ОБРАЗЦУ
Использование запросов по образцу9 значительно облегчает обработку накопленной информации, сведя ее к трем
последовательным операциям:



Вызов запроса по образцу из библиотеки на выполнение в режиме ОБРАБОТКА- ЗАПРОСЫ по ОБРАЗЦУ.
Задание ограничений на характеристики, определенные в запросе как поисковые. Если при проектировании
запроса таковых нет (например, отбираются все объекты базы), или ограничения заданы по умолчанию как
постоянные поисковые значения характеристик, данная операция не используется.
Просмотр и если требуется последующая обработка отобранной в запросе информации.
Режим ЗАПРОСЫ по ОБРАЗЦУ позволит Вам:
- создавать новые, удалять и корректировать существующие в библиотеке запросы, внося изменения в критерий
отбора, обработки и выдачи информации по запросу, а также комментарий к запросу;
- формировать список поисковых характеристик по одной или нескольким взаимосвязанным базам, располагая их на
одном экране в шаблоне запроса по образцу;
- устанавливать автоматическую выдачу ответа на запрос на экран, принтер или файл;
- присваивать характеристикам в шаблоне запроса по образцу постоянные неизменяемые или переменные,
задаваемые при выполнении, поисковые значения.
Иногда в литературе по базам данных их называют ЗАПРОСАМИ ИЗ БИБЛИОТЕКИ или СТАНДАРТНЫМИ ЗАПРОСАМИ, но
по нашему мнению термин ЗАПРОСЫ по ОБРАЗЦУ более точен.
9
Инструментальная система управления базами данных
37
После выбора режима ПРОЕКТИРОВАНИЕ - ЗАПРОСЫ по ОБРАЗЦУ перед Вами появляется таблица описания
запросов, состоящая из двух граф.
№
1.
2.
Комментарий
Поиск организаций по названию и выдача по форме в виде развернутого досье
Поиск организаций с выдачей в виде таблицы.
Каждому запросу по образцу пользователем присваивается уникальный внутри банка порядковый номер и
комментарий, который никакой роли в поиске и обработке не играет, а нужен лишь для пояснения “какая информация
отбирается по запросу и как она обрабатывается”. Комментарий к запросу можно не задавать. Максимальное
количество запросов по образцу в банке - 999.
Для СОЗДАНИЯ нового запроса по образцу переместите курсор на первую свободную строку таблицы
(Ctrl+PgDn), задайте уникальный номер и комментарий. Запросы в таблице упорядочиваются по возрастанию
номеров. После задания номера и комментария Вы имеете возможность описать запрос по образцу, используя
следующие режимы:
ЗАДАНИЕ
ЗАПРОСА
Используется для задания критерия отбора информации. Как это делать Вы уже знаете. Здесь
возможны два варианта. Первый. Выбрав поисковую базу Вы не накладываете ограничений ни на
одну характеристику. В этом случае после вызова запроса из библиотеки в режиме ОБРАБОТКА
- ЗАПРОС ПО ОБРАЗЦУ на экране Вы увидите полный список характеристик базы, включая
отсылки, и сможете наложить ограничения на любую комбинацию характеристик. При этом
режим ВНЕШНИЙ ВИД ЗАПРОСА не используется, так как на экран выдается полный перечень
характеристик без возможности его коррекции. Строчная запись такого запроса может иметь
вид: ОТ РГ01 или ОТ ЛЦ01. Второй. При задании запроса Вы накладываете ограничения на
некоторый набор поисковых характеристик. При выполнении такого запроса на экран будут
выданы только эти характеристики. Пример строчной записи может иметь вид: ОТ ЛЦ01 02 РВ
ПЕТРОВ И 03 РВ АНДРЕЙ. На экране при выполнении запроса будут выведены только две
характеристики № 2 (Фамилия) и № 3 (Имя).
ВНЕШНИЙ
ВИД
ЗАПРОСА
Вы можете использовать этот режим для корректировки внешнего оформления запроса по
образцу, не изменяя его критерий отбора. После выбора режима все характеристики, на которые
заданы условия поиска, выдаются Вам в виде таблицы:
№
Название характеристики
Постоянное значение
Статус
Для изменения Вам доступны два поля:
НАЗВАНИЕ ХАРАКТЕРИСТИКИ - наименование, под которым характеристика будет
участвовать в запросе по образцу. По умолчанию, наименование характеристики берется
из описания базы.
СТАТУС определяет порядок задания условий поиска. Допускается задание нескольких статусов
для одной характеристики. Вы можете указывать следующие статусы:
Инструментальная система управления базами данных
НЕ ВЫВОДИТСЯ
НЕТ ЗНАЧЕНИЯ
МНОЖЕСТВЕННОЕ
ПОЛЕ
38
- поисковая характеристика объявляется невидимой, на экран не
выводится, хотя в критерии отбора остается;
- позволяет удалять поисковое значение характеристики, оставляя
лишь заданное в запросе ограничение;
- дает возможность задавать несколько поисковых значений для
одной характеристики, соединенных по умолчанию связкой ИЛИ.
ОБРАБОТКА/В
ЫДАЧА
Режим, который при проектировании запроса по образцу имеет тот же смысл, что и режим
ВЫДАЧА, используемый после выполнения запроса в режиме РАЗОВЫЙ ЗАПРОС. Этот
режим подробно мы рассмотрим позднее в Разделе “Выдача информации”. Он задает вид
обработки\выдачи информации (текст, таблица, статсводка, и т.д.), отобранной после
выполнения библиотечного запроса. Добавлены лишь две новых опции. Первая СОХРАНИТЬ, для запоминания измененных параметров обработки\выдачи после коррекции
запроса по образцу. Вторая - АВТОМАТИЧЕСКАЯ ВЫДАЧА, которая может принимать
один из следующих параметров:
ДА - устанавливает выдачу полученного ответа без возможности коррекции ее
параметров, заданных при проектировании запроса по образцу.
НЕТ - дает возможность изменять установленные в запросе параметры выдачи.
С ВОЗВРАТОМ В МЕНЮ - тип выдачи при котором после выдачи ответа Вы
автоматически возвращаетесь в список запросов по образцу.
СОРТИРОВКА
Необязательный режим обработки в запросе по образцу, используемый при выдачи текстом
или таблицей, который позволяет Вам задать критерий сортировки отбираемой информации.
Как задать этот критерий мы рассмотрим далее в Разделе “Сортировка отобранной
информации”.
Для удаления запроса из библиотеки используйте клавишу Del. Допускается групповое удаление
предварительно помеченных F2 запросов. Коррекция запросов происходит аналогично заданию и трудностей
не вызывает.
П: Я, используя режим ОБРАБОТКА - РАЗОВЫЙ ЗАПРОС, отобрал требуемую мне информацию, спроектировал выходную
табличную форму и выдал по ней данные. Могу ли я запомнить этот запрос в библиотеке, заново не описывая критерий
отбора и все графы выходной таблицы, которые я только что описал?
Р: Конечно, можете. Пока Вы не задали новый критерий отбора, созданный Вами запрос “находится в памяти и готов к
повторному выполнению”. Создайте новый запрос по образцу и все критерии обработки\выдачи будут перенесены в него
автоматически.
П: Мне требуется создать новый запрос по образцу, аналогичный уже существующему, лишь немного изменив критерий
выдачи. Как проще это сделать?
Р: Могу предложить два варианта. Первый, используя режим КОПИРОВАНИЕ - ЗАПРОСЫ по ОБРАЗЦУ, скопировать исходный
запрос, затем восстановить его с новым номером в режиме ВОССТАНОВЛЕНИЕ - ЗАПРОСЫ по ОБРАЗЦУ и внести
необходимые изменения в критерий выдачи. Режимы КОПИРОВАНИЕ и ВОССТАНОВЛЕНИЕ подробно описаны в Главе
“Администрирование банка данных”. Второй вариант. Вызвать исходный запрос из библиотеки на выполнение с помощью
режима ОБРАБОТКА - ЗАПРОСЫ по ОБРАЗЦУ, внести необходимые изменения в критерий выдачи и записать в библиотеку с
новым номером.
ВЫХОДНЫЕ ФОРМЫ
ВЫХОДНЫЕ ФОРМЫ проектируются отдельно для каждой базы данных в режиме ПРОЕКТИРОВАНИЕВЫХОДНЫЕ ФОРМЫ.
ВЫХОДНАЯ ФОРМА
представляет собой совокупность характеристик базы, которые подлежат выдаче, с
указанием вида выдачи значения, различных комментариев и разделителей. Каждая
форма имеет уникальный в рамках одной базы номер. Общее количество форм одной
базы - 999.
Выходные формы каждой базы сведены в таблицу описания, где каждая форма описывается одной строкой.
№ формы
Комментарий к форме печати
Для каждой формы в таблице описания определены следующие параметры:
№ ФОРМЫ
КОММЕНТАРИЙ
- представляет собой целое число от 1 до 999, идентифицирующее форму в базе.
Единственное требование к нему - он должен быть уникален в пределах одной базы.
- некоторый неформализованный текст, который Вы задаете по собственному желанию.
Единственное его назначение - напомнить Вам впоследствии "для чего форма создана и
какие особенности, по сравнению с другими, имеет".
Инструментальная система управления базами данных
39
Для СОЗДАНИЯ новой формы - переместите курсор на первую свободную строку таблицы, нажмите Enter и задайте
параметры формы. Для ВСТАВКИ НОВОЙ ФОРМЫ перед текущей нажмите Ins и задайте параметры новой формы.
УДАЛЕНИЕ формы осуществляется клавишей Del с последующим подтверждением.
При ПРОЕКТИРОВАНИИ новой формы Вы можете:
- создавать новую форму вручную, последовательно описывая правила вывода характеристик в табличном или
анкетном представлении;
- автоматически создать стандартную выходную форму, состоящую из всех характеристик описания базы
(F2);
- дублировать одну из выходных форм текущего банка и модифицировать ее (F3);
- восстановить с копии из другого банка существующую форму, используя режим АДМИНИСТРАТОР ВОССТАНОВЛЕНИЕ - ФОРМЫ ВЫВОДА.
СОЗДАНИЕ НОВОЙ ВЫХОДНОЙ ФОРМЫ.
Процесс проектирования новой ФОРМЫ ВЫВОДА информации из базы заключается в последовательном
расположении на экране характеристик базы и связанных с ней баз с необходимыми комментариями и разделителями.
Каждая новая форма заносится в список форм базы, где ей присваивается номер и при необходимости дается
комментарий о ее назначении.
№ формы
1
2
Комментарий к форме печати
Досье на организацию
Название, адрес, телефон, fax, телекс
Вы можете использовать АНКЕТНОЕ или ТАБЛИЧНОЕ проектирование, которые связаны между собой взаимнооднозначным соответствием.
АНКЕТНОЕ
ТАБЛИЧНОЕ
проектирование позволяет моделировать выходные формы на экране. Практически, Вы
"рисуете" на экране выходной документ, располагая характеристики в требуемом месте и с
нужными комментариями.
проектирование описывает формы таблицей, каждая строка которой задает правила вывода
значений одной характеристики базы. Этот способ требует некоторого пространственного
воображения, но дает выигрыш во времени.
Вы можете использовать и то и другое - ибо совмещение этих двух способов проектирования превращает сложный и
утомительный процесс создания выходных отчетов в творческое конструирование. Для перехода из АНКЕТНОГО
проектирования в ТАБЛИЧНОЕ - нажмите F10, для возврата Esc.
АНКЕТНОЕ ПРОЕКТИРОВАНИЕ
Итак, новая форма создана - Вы задали ее номер и комментарий, перед вами чистый экран. Теперь можете
приступать к проектированию.
Для задания вывода значения КАЖДОЙ характеристики в форме необходимо:
- переместить курсор на требуемое место в форме, если требуется задать КОММЕНТАРИЙ перед
характеристикой;
- нажать F2 и выбрать (ENTER) из описания базы выводимую характеристику, при этом ее номер перенесется
в выделенное цветом поле, длиной 3 символа;
- задать при необходимости КОММЕНТАРИЙ после характеристики, завершив его символом " ~" обязательное окончание каждого комментария. Символ "~" нужен для того, чтобы различать комментарий
после характеристики от комментария перед следующей характеристикой. Если комментарий после
характеристики отсутствует - символ "~" не проставляется.
Выходная форма № 1 базы Организация
*** Название организации - 01 *** ~
символ окончания комментария после
характеристики
комментарий после характеристики
номер выводимой характеристики
комментарий перед характеристикой
Для завершения описания вывода текущей характеристики - нажмите ESC или Enter, при этом характеристика
выделяется повышенной яркостью.
ПРОСТЫЕ характеристики и ОТСЫЛКИ имеют свои особенности по выводу информации, которыми надо
руководствоваться при проектировании выходных форм.
ПРОСТЫЕ характеристики возможно выдавать по "плавающей" или фиксированной длине, при этом характеристики
с "плавающей" длиной могут быть как ОБЯЗАТЕЛЬНЫМИ, так и НЕОБЯЗАТЕЛЬНЫМИ для вывода.
Инструментальная система управления базами данных
ПЛАВАЮЩАЯ
ФИКСИРОВАННАЯ
40
длина позволяет выдавать в значении характеристики ровно столько символов, сколько
хранится в базе. При этом возможен переход на другую строку, если значение не
умещается в текущей. При отсутствии значения комментарий к данной характеристике
также не выводится.
длина помещает значения характеристики в заданное поле, которое рисуется стрелками
управления и клавишей Tab при проектировании. При отсутствии значения
характеристики комментарий к ней выводится в любом случае, т.е. характеристика,
выводимая по фиксированной длине ОБЯЗАТЕЛЬНА для вывода.
По умолчанию характеристики выводятся по плавающей длине - в поле вывода характеристики установлен ее номер.
Для перехода к выводу по фиксированной длине нажмите F3, установите параметр ФИКСИРОВАННАЯ и определите
размеры поля выдачи. При этом в поле номер характеристики заменится на ее наименование. Параметр
ОБЯЗАТЕЛЬНАЯ для вывода относится только к "плавающим" характеристикам.
F3 ===>
Тип характеристики
Фиксированная
Раскодировать значение
Выравнивание
Нет
Влево
Выходная форма № 1 базы Организация
*** Название -
*** ~
|
поле, формируемое клавишами управления,
для вывода значения характеристики
...
Если курсор установлен в фиксированном поле вывода значения характеристики, нажав клавишу Tab, Вы можете
проектировать выводное поле сложной конфигурации.
Выходная форма № 1 базы Организация
*** Название -
*** ~
|
поле сложной конфигурации, формируемое
управления после нажатия клавиши Tab
клавишами
...
Вы также имеете возможность КОДИРУЕМЫЕ характеристики выводить в раскодированном виде или в виде кодов
словаря (РАСКОДИРОВАТЬ ЗНАЧЕНИЕ) и "прижимать" выводимые значения к левой или к правой границе поля
вывода (ВЫРАВНИВАНИЕ).
Кратные (множественные) значения характеристики отделяются друг от друга символом ",". Перенос на другую
строку вывода осуществляется по словам.
ОТСЫЛКИ на связанные базы возможно выдавать в РАЗВЕРНУТОМ виде или ОТМЕТКОЙ на наличие связи.
Клавиша F3 позволяет сделать ОТСЫЛКИ обязательными для вывода.
РАЗВЕРНУТЫЙ
ОТМЕТКА
вид позволяет спроектировать т.н. ДОСЬЕ неограниченной глубины вложенности
связанных баз. В этом случае, при обработке запроса по одной базе Вы получите
информацию из определенных в форме связанных с ней баз данных. Все отсылки являются
необязательными для вывода (при отсутствии значений они вместе с принадлежащими им
комментариями не выводятся). Для задания имени базы и ее формы вывода используйте
клавишу F10.
на наличие связей выдает в поле вывода имя базы и системный номер объекта в ней
(РГ000075).
Не используйте для прямых-обратных отсылок в качестве номера формы форму, в которой Вы
находитесь. Это может привести с ЗАЦИКЛИВАНИЮ, что вызывает переполнение оперативной
памяти.
В выходных формах допускается использование в отдельных строках управляющих символов "#К" и "#Н".
СИМВОЛ #К
#Н
в последней строке указывает на завершение формы и на то, что следующий объект
выводится по этой форме с новой строки. Все характеристики, описанные в форме после
данного символа выдаются только в ПОСЛЕДНЕМ элементе ответа.
все характеристики в форме, заданные до этого символа, выдаются только для ПЕРВОГО
элемента ответа.
Инструментальная система управления базами данных
41
Использование этих символов позволит Вам выдавать информацию с использованием "шапки" и окончания внутри
формы. Пример описания таблицы при анкетном проектировании:
Название организации
Адрес
Телефон
...
#Н
Выводимые элементы ответа
#К
"Шапка" выходного документа - весь текст до символа #H, и окончание - текст после #K. Использование этих
символов позволит Вам выдавать информацию в виде таблиц при отсутствии нумерации ответов на выдаче.
АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ СТАНДАРТНОЙ ВЫХОДНОЙ ФОРМЫ.
Если Вам требуется спроектировать выходную форму, по которой выводятся значения ВСЕХ характеристик базы
или по крайней мере их значительная часть, то удобно использовать АВТОМАТИЧЕСКУЮ ГЕНЕРАЦИЮ
СТАНДАРТНОЙ ВЫХОДНОЙ ФОРМЫ, при которой в новую выходную форму переносятся ВСЕ характеристики
описания базы в порядке их расположения в описании.
<название 1-й характеристики>
<название 2-й характеристики>
...
<название №-й характеристики>
: значение характеристики
: значение характеристики
...
: значение характеристики
Для генерации стандартной формы после задания номера формы нажать F2, задать комментарий к форме и внести в
нее необходимые изменения.
ДУБЛИРОВАНИЕ ВЫХОДНЫХ ФОРМ
Для ускорения процесса проектирования НОВОЙ выходной формы Вы можете использовать созданные ранее
формы текущей базы, предварительно дублируя их, а затем вносить необходимые коррективы.
Для создания формы через ДУБЛИРОВАНИЕ:
- задайте номер новой выходной формы и нажмите F3;
- задайте номер копируемой формы из числа существующих в базе;
- внесите коррективы.
ИСПОЛЬЗОВАНИЕ ВЫХОДНЫХ ФОРМ ДРУГИХ БАНКОВ
Используя режим АДМИНИСТРАТОР - ВОССТАНОВЛЕНИЕ - ФОРМЫ ВЫВОДА Вы можете восстановить с
копий выходных форм другого банка , полученных с помощью режима АДМИНИСТРАТОР - КОПИРОВАНИЕ ФОРМЫ ВЫВОДА.
ТАБЛИЧНОЕ ПРОЕКТИРОВАНИЕ.
Для перехода из АНКЕТНОГО проектирования выходных форм в ТАБЛИЧНОЕ - нажмите F10, для возврата Esc. В
табличном представлении любая выходная форма описывается ТАБЛИЦЕЙ, состоящей из 12 граф.
№
1
Разделитель
2
Отступ
3
Комментарий
перед
значением
4
Кол-во
пропущ.
строк
5
Отступ
6
Связь
с
базами
7
Комментарий
после
значения
8
Кол-во
пропущ.
строк
9
Статус
10
Позиция
11
Длина
12
В ПЕРВУЮ графу таблицы заносится НОМЕР ХАРАКТЕРИСТИКИ, НОМЕР ФОРМУЛЫ, значение которой будет
выводиться на печать или признак КОММЕНТАРИЯ.
Номер ХАРАКТЕРИСТИКИ Вы можете выбрать из таблицы описания базы, для вызова которой нажмите F10.
Вывод ФОРМУЛЫ описывается аналогично с предварительным нажатием F2, повторное нажатие убирает признак
формулы.
Если Вам требуется вывести произвольный комментарий без выдачи значения характеристики (например, отделить
часть текста линией), установите признак * и задайте текст комментария.
№
Разделитель
Отступ
Комментарий
перед
значением
03
Ф1
*
++++++++
...
-
строка описания вывода характеристики №3
строка описания вывода формулы №1
строка описания комментария
Инструментальная система управления базами данных
42
ВТОРАЯ графа отведена под специальный СИМВОЛ, который выводится в качестве разделителя перед
комментарием до значения характеристики. Символом-разделителем может выступать любой алфавитно-цифровой
символ клавиатуры, по умолчанию - не заполняется.
В ТРЕТЬЮ графу Вы можете занести количество пропущенных символов (пробелов) перед комментарием. По
умолчанию символы не пропускаются.
В ЧЕТВЕРТУЮ графу - текст КОММЕНТАРИЯ, который выводится после разделителя и пропускаемых символов
до значения характеристики. По умолчанию не заполняется. Значение характеристики выводится после комментария
через один пробел. Например, "Наименование организации -"
В ПЯТОЙ графе Вы можете задать количество строк, пропускаемых после комментария перед значением
характеристики. Если количество пропущенных строк не указано, то значение выводится непосредственно после
комментария. Если задано значение 0, то характеристика выводится с начала следующей после комментария строки, 1 одна строка пропускается и т.д.
При необходимости после пропуска строк, задаваемого в пятой графе, в ШЕСТОЙ дополнительно Вы можете
указать ОТСТУП от левого края, задав количество пробелов.
СЕДЬМАЯ графа заполняется только для ОТСЫЛОК на связанные базы и может принимать значения:
<имя связанной базы> <номер формы связанной базы>
Пример: РГ01 или ЛЦ5
Имя связанной базы задайте вручную или выберите из списка, нажав F2. Для выбора требуемой формы, из числа
созданных в связанной базе, повторно нажмите F2. При этом Вы попадаете в режим ПРОЕКТИРОВАНИЕ ВЫХОДНЫЕ ФОРМЫ, используя который можете также спроектировать новую форму или откорректировать
существующую.
В ВОСЬМОЙ графе Вы можете задать комментарий, который будет выводиться ПОСЛЕ значения характеристики,
полная аналогия с четвертой графой.
ДЕВЯТАЯ графа отведена для задания количества строк, пропускаемых после комментария, следующего за
значением характеристики. Если количество пропущенных строк не указано, то значение следующей характеристики
выводится непосредственно после комментария. Если задано значение 0, то следующая характеристика выводится с
начала следующей после комментария строки.
В ДЕСЯТОЙ графе Вы можете задать СТАТУС - необязательный параметр, определяет способ вывода
характеристики в выходной форме. Любая характеристика может иметь несколько статусов. Список возможных
значений статуса характеристики приведен в таблице.
Статус
КД
Н
К
ОБ
Комментарий
не раскодируется, при этом КОДИРУЕМЫЕ характеристики (типа КЦ, КТ, КА) выдаются в
виде кода; характеристика типа ДАТА выдается в виде ДД.ММ.ГГ; ОТСЫЛКИ на связанные
базы выводятся в виде:
<имя базы><системный номер> (например, РГ000081)
значение характеристики выдается только для ПЕРВОГО из числа отобранных в запросе
объектов
значение характеристики выдается только для ПОСЛЕДНЕГО объекта из числа отобранных
ОБЯЗАТЕЛЬНА для ВЫВОДА, т.е. все комментарии и разделители выводятся независимо от
наличия значения характеристики
Для задания номера символа в поле значения характеристики, начиная с которого будет выдаваться ее значение
используется ОДИННАДЦАТАЯ графа - ПОЗИЦИЯ.
И, наконец, последняя - ДВЕНАДЦАТАЯ графа (ДЛИНА) задает количество символов, которые будут выдаваться,
начиная с символа, определенного в графе ПОЗИЦИЯ.
№
4
4
. . .
. . .
. . .
Статус
ОБ
ОБ
Позиция
1
16
Длина
15
15
Первая строка описывает выдачу первых пятнадцати символов значения, вторая - с 16 по 30-й, если Вы хотите
выдавать значение характеристики в столбик в две строки.
КОРРЕКЦИЯ, УДАЛЕНИЕ, ДОБАВЛЕНИЕ, ВСТАВКА строк аналогично рассмотренному выше.
Инструментальная система управления базами данных
43
Глава 5. НАКОПЛЕНИЕ ИНФОРМАЦИИ
Режим НАКОПЛЕНИЕ предназначен для ввода и загрузки информации в банк данных. Ввод информации и загрузка
разделены потому, что в системе существуют возможности идентификации (проверки на совпадение) вводимой
информации.
Данный режим состоит из двух подрежимов:
ВВОД
ИНФОРМАЦИИ
ЗАГРУЗКА
- используется для ввода информации в промежуточный файл для последующей ее
загрузки(записи) в банк данных. Ввод данных может осуществляться на диск или дискеты.
Для удобства ввода Вам предоставляется возможность использовать ранее
спроектированные формы ввода различных документов, для формализации информации
обращаться к словарям, осуществлять поиск в банке данных и использовать уже
хранящиеся в нем объекты, а также ранее подготовленные текстовые документы.
Осуществляется оперативный контроль вводимой информации и имеется возможность ее
коррекции.
- предназначена для записи в банк данных сформированных на этапе ввода входных
сообщений. На данном этапе работают процедуры идентификации и слияния информации в
соответствии с выбранными Вами видами идентификации. При загрузке производится
автоматическое обновление индексных массивов и слияние информации для
идентифицируемых баз данных. На этапе загрузки возможно отстранение входных
сообщений из-за несоответствия по формальным критериям введенной и загруженной
информации.
ВВОД
Данный режим обеспечивает:
- ввод значений простых характеристик и отсылок в выделенные поля с использованием, при необходимости,
входных форм, автоматическое заполнение полей простых характеристик со статусом АЗ (автоматическое
заполнение);
- ввод информации из ранее сформированных текстовых файлов;
- лексический, синтаксический контроль и контроль связности входного сообщения;
- оперативную коррекцию введенной информации (вставку, изменение и удаление значений простых
характеристик, добавление и удаление значений отсылок) в процессе ввода;
- автоматическое кодирование значений определенных характеристик;
- возможность "обращения" к банку данных для просмотра и, при необходимости, выбора из ранее введенных
объектов базы требуемого для дополнения;
- использование справочной информации (автоматизированных словарей, ранее введенных во входное
сообщение объектов базы);
- просмотр входного сообщения и его коррекцию во входном файле.
ВВОД информации осуществляется порциями - СООБЩЕНИЯМИ, которые накапливаются в файле входных
сообщений, размещаемом на любом диске. Файл входных сообщений состоит из СООБЩЕНИЙ, количеством не более
99. Из файлов входных сообщений на этапе ЗАГРУЗКИ информация загружается в банк. Использование
промежуточного файла для ввода с последующей загрузкой позволяет:
- осуществлять ввод на различных ПЭВМ с последующей загрузкой в банк;
- использовать входные сообщения несколько раз для загрузки в различные банки;
- ускорить ввод, т.к. процессы идентификации и формирования индексных массивов выполняются в процессе
загрузки без потери времени на вводе.
Инструментальная система управления базами данных
44
После выбора режима НАКОПЛЕНИЕ-ВВОД ИНФОРМАЦИИ необходимо задать параметры ввода:
Задайте параметры ввода
Устройство ввода
Номер формы ввода
Имя входного файла
C:\CRO\VVOD\
00
[ Выполнить] [Сохранить ] [ Отказ ]
УСТРОЙСТВО ВВОДА
НОМЕР ФОРМЫ ВВОДА
ИМЯ ВХОДНОГО ФАЙЛА
- адрес размещения файла входных сообщений. Задается устройство ввода в
следующем виде: <устройство>:\[<имя директория>]\ ...
При этом файл может размещаться и на дискете, на жестком диске, причем как в
корневом, так и в подчиненных каталогах.
Пример. С:\SYSTEM2\VV1\ или A:\VVOD\
Если указанный каталог отсутствует на диске, подтвердите его создание. Размещение
файла входных сообщений в каталогах, отведенных под программное обеспечение,
словари и банки данных не допускается. По умолчанию адрес входного файла
задается как подкаталог VVOD каталога в котором размещается банк данных.
- цифра, соответствующая номеру формы ввода, по которой будут вводится новые
сообщения. Для выбора нужной формы ввода, из числа имеющихся, используйте
клавишу F2.
дает Вам возможность подключать входные файлы других банков данных при условии
идентичности их структур. При вводе этот параметр необязательный, по умолчанию
входному файлу присваивается имя текущего банка.
Ввод любого сообщения возможен либо БЕЗ ФОРМЫ (на экран выдается полный перечень характеристик
информационных баз, используемых при вводе сообщения; форма 00), либо по одной из ранее спроектированных
ФОРМ ВВОДА (по способу выдачи на экран характеристик подформ, образующих форму ввода, формы подразделяют
на анкетные иерархические и анкетные линейные). Количество форм ввода для каждого банка не более 99.
При вводе без формы входные макеты формируются в той последовательности и с теми номерами, которые
задавались при описании базы в режиме ПРОЕКТИРОВАНИЯ.
Это не всегда удобно, ввод по форме позволяет:
- описывать "ситуации", отражающие структуру входных документов;
- задавать значения некоторых характеристик, которые при вводе будут автоматически присваиваться
соответствующей характеристике базы;
- не нарушая логической структуры банка, осуществлять необходимые изменения описания при вводе;
Проектирование форм ввода рассмотрено в главе ПРОЕКТИРОВАНИЕ.
Все сообщения входного файла сведены в таблицу, состоящую из 5 колонок:
Номер
сообщения
1.
Номер
формы ввода
2.
Введено
объектов
3.
Свободно
объектов
4.
Примечание
5.
Каждое сообщение описывается одной строкой таблицы.
В ПЕРВОЙ
ВО ВТОРУЮ
графе автоматически формируется очередной номер сообщения в файле.
графу (для нового сообщения) автоматически вносится НОМЕР ФОРМЫ ВВОДА, который
выбирается из ранее заданных параметров ввода.
В ТРЕТЬЕЙ и ЧЕТВЕРТОЙ графах система выдает количество введенных в сообщении информационных
объектов и сколько еще объектов можно ввести (максимальное число объектов в одном
сообщении - 999).
ПЯТАЯ
графа отведена для информирования пользователя о результатах загрузки сообщений.
Для УДАЛЕНИЯ сообщения из файла входных сообщений перевести курсор на сообщение и нажать Del и
подтвердить удаление. Для удаления ВСЕХ ЗАГРУЖЕННЫХ СООБЩЕНИЙ нажать комбинацию клавиш Alt+D и
подтвердить удаление. Для КОРРЕКЦИИ сообщения, ввод которого уже завершен, необходимо выбрать это сообщение
в списке входных сообщений, "войти" в него с помощью Enter и внести необходимые изменения. Для ВВОДА НОВОГО
(очередного) сообщения подвести курсор на свободную строку таблицы и нажать Enter. Новому сообщению
автоматически присваивается очередной номер. Выдаваемая на экран информация может иметь следующий вид:
Инструментальная система управления базами данных
45
Документ
Ввод сообщения N 01 во входной файл A\. . .
02
Дата ввода
21.12.1994
06
Номер документа
5-6/32
07
Место хранения
дело 14 лист 123-130
...
< наименование реквизита>
< вводимые значения >
...
ДК001
Если на диске, используемом для ввода, ранее уже был создан файл входных сообщений указанного банка, то после
выбора устройства ввода на экране появится список входных сообщений, имеющихся в файле:
Номер
сообщения
01
02
02
04
05
Номер
формы ввода
00
02
02
00
05
Введено
объектов
05
14
95
20
01
Свободно
объектов
994
985
904
979
998
Примечание
загружено
загружено
В примере во входном файле уже имеется ПЯТЬ сообщений, из которых ДВА ранее загружены в банк данных.
ВВОД любого СООБЩЕНИЯ начинается с ввода информации в базу, которая первой описана в таблице описания
банка или в форме ввода (если ввод ведется по форме), которой при вводе очередного сообщения автоматически
присваивается входное системное имя с индексом равным единице (например: РГ001). Остальным входным объектам,
описываемым в том же входном сообщении, индекс также присваивается автоматически в порядке возрастания
(например: ЛЦ002, РГ003). Количество объектов во входном сообщении не должно превышать 999, в противном случае,
входное сообщение необходимо разбить на несколько входных сообщений.
ОБЩИЕ ПРАВИЛА ВВОДА ЗНАЧЕНИЙ ХАРАКТЕРИСТИК
Для ВВОДА ЗНАЧЕНИЯ ХАРАКТЕРИСТИКИ переместите курсор на ее название и нажмите Enter. В строке,
справа от наименования характеристики, появится выделенное цветом или повышенной яркостью поле, в которое
вводится значение характеристики. На экране идентификаторы характеристик, имеющие статус ОБ (обязательная для
заполнения), выделяются полем повышенной яркости, у отсылок выделяется первая буква наименования. Если не все
характеристики, имеющие статус ОБ введены, то при выходе из режима ввода базы на экран выдается сообщение:
ВВЕДЕНЫ НЕ ВСЕ ХАРАКТЕРИСТИКИ, ОБЯЗАТЕЛЬНЫЕ ДЛЯ ЗАПОЛНЕНИЯ.
Нажать Enter и задать значения невведенных характеристик. Статус характеристики ОБ можно отменить в форме
ввода.
Для ИЗМЕНЕНИЯ (УДАЛЕНИЯ) значения характеристики задать строку этой характеристики в качестве текущей и
откорректировать (удалить) ошибочное значение или добавить новое значение в пустое поле. СТИРАНИЕ значения
характеристик осуществляется нажатием комбинации клавиш Ctrl+R при нахождении курсора у левой границы поля.
УДАЛЕНИЕ значения всего поля - Alt+D.
Если Вы вводите характеристику, превышающую по длине высвечиваемое поле, то Вы имеете возможность:
- продолжать ввод "бегущей строкой";
- нажать F6 и распахнуть поле;
- нажать F10 и использовать для ввода текущего значения характеристики внешний текстовый редактор.
Подключение внешнего редактора описано далее.
При вводе характеристик осуществляется ПРОГРАММНЫЙ КОНТРОЛЬ их значений в соответствии с заданным
типом простых характеристик и допустимыми отсылками на связанные базы. При обнаружении несоответствия
выдается звуковой сигнал и поле некорректно заданного значения очищается, после чего возможен повторный ввод.
ВВОД НЕМНОЖЕСТВЕННЫХ и МНОЖЕСТВЕННЫХ ХАРАКТЕРИСТИК
При вводе значений НЕМНОЖЕСТВЕННЫХ характеристик переход к вводу следующей характеристики
осуществляется нажатием Enter, при этом:
- переход к вводу каждого следующего значения характеристики осуществляется нажатием Enter;
- перемещение курсора по значениям характеристик к предыдущему значению характеристики
осуществляется с помощью клавиш управления;
- для вставки нового значения характеристики нажать комбинацию клавиш Alt+I, при этом поле значения
характеристики, находящееся за текущим сдвигается вправо и в появившееся пустое поле вводится значение.
Если курсор находится в поле ввода множественной характеристики, то ее значения выдаются одно под другим,
причем каждое из них занимает одну строку окна независимо от длины. Для просмотра значения целиком используйте
F6. При перемещении курсора из поля ввода множественные значения "сворачиваются в одну строку". Если их так
много, что они не умещаются на строчке, то в крайнем правом поле строки автоматически ставится символ ">".
Инструментальная система управления базами данных
46
ВВОД ЗНАЧЕНИЙ КОДИРУЕМЫХ ХАРАКТЕРИСТИК
Кодируемые характеристики (тип КЦ, КТ, КА) можно вводить тремя способами:
- задать КОД;
- задать ПОНЯТИЕ или его часть (для характеристик типа КА);
- ОБРАТИТЬСЯ К СЛОВАРЮ, найти требуемый код (коды), пометить их и перенести в поле.
ВВОД КОДА СЛОВАРЯ
В выделенном поле характеристики ввести КОД и нажать Enter. Если понятие с таким кодом ИМЕЕТСЯ в словаре,
то на месте введенного кода появится понятие. Если кодируемая характеристика неавтоматического кодирования
(тип КЦ, КТ), то вместе с понятием выдается код. В случае, если заданный код ОТСУТСТВУЕТ в словаре, выдается
сообщение: КОД <№ кода> В СЛОВАРЕ <№ словаря> ОТСУТСТВУЕТ.
Если НЕ СОЗДАН САМ СЛОВАРЬ, на экране появится: СЛОВАРЬ <№ словаря> ОТСУТСТВУЕТ
При этом Вы имеете возможность вводить коды без контроля по словарю, а впоследствии создать сам словарь.
Порядок описания словарей рассмотрен в разделе ВЕДЕНИЕ СЛОВАРЕЙ.
ВВОД ПОНЯТИЯ СЛОВАРЯ
Для кодируемых характеристик типа КА имеется также возможность вводить ПОНЯТИЕ словаря (при вводе
характеристики такого типа в нижней части экрана выдается сообщение: "Задайте понятие или код". Если Вы задаете
КОД, то все аналогично предыдущему пункту. При вводе понятия, которое ПОЛНОСТЬЮ совпадает с понятием словаря
- код понятия переносится в поле ввода и сразу декодируется.
Если же в словаре заданное понятие не найдено, но есть "близкие" понятия (т.е. заданная часть понятия посимвольно
совпадает с начальными буквами понятия в словаре) - на экран дисплея выдается перечень "близких" понятий. Для
переноса кода понятия (нескольких кодов - для множественной характеристики) в поле ввода следует пометить
требуемый код F2 и нажать Esc.
Пример 5.2.
При обращении к словарю СТРАНЫ МИРА введен контекст "Ве" и нажата клавиша Enter. На
экран выдаются все понятия, начинающиеся на "Ве": ВЕЛИКОБРИТАНИЯ, ВЕНГРИЯ,
ВЕНЕСУЭЛЛА. При задании контекста "Вен" - на экране окажутся два понятия, а задав "Венг" Вы получите одно.
Если в словаре заданное понятие отсутствует и "близкие" понятия так же не найдены, но для словаря указан
АВТОШАГ, то в словарь автоматически вводится указанное понятие и код его будет равен сумме максимального
значения кода словаря и целого числа, указанного при создании словаря в графе АВТОШАГ.
ОБРАЩЕНИЕ К СЛОВАРЮ
Вам предоставляется возможность обратиться к словарю, нажав F10. Найти нужный код, пометить его F2 и
перенести в поле ввода, нажав Esc. Если словарь небольшой - несколько десятков понятий, то выбрать требуемое не
составит труда. А если понятий несколько сотен? Поиск искомого понятия может превратиться в длительное листание
словаря на экране, сопровождаемое "внимательным считыванием". Пакет дает Вам возможность искать понятие в
словаре:
- по коду;
- по начальному контексту понятия;
- по произвольному контексту;
- упорядочив его понятия по алфавиту или возрастанию кодов.
Поиск требуемого понятия подробно описан в Разделе “Проектирование словарей”. Для переноса одного кода из
словаря в поле ввода - установить курсор на выбранное понятие и нажать Enter. Если Вы хотите перенести несколько
понятий (для множественной характеристики) - пометить F2 и нажать Esc.
КОРРЕКЦИЯ СЛОВАРЯ В РЕЖИМЕ ВВОД
При обращении к словарю Вы имеете возможность его ОПЕРАТИВНОЙ КОРРЕКЦИИ (удаление или коррекция
существующих, добавление новых понятий). Режим коррекции словарей подробно описан в разделе 4.2. ВЕДЕНИЕ
СЛОВАРЕЙ.
ВВОД ИНФОРМАЦИИ ИЗ ТЕКСТОВОГО ФАЙЛА
При вводе значений характеристик возможно использование информации заранее подготовленных ТЕКСТОВЫХ
файлов, из которых часть или вся информация может быть перенесена в поле значения характеристики. Для этого:
- требуемый текстовый файл загрузите во внутренний буфер, нажав Ctrl+F6 (для задания имени файла
используйте Ctrl+F5). Допускается одновременная загрузка нескольких файлов, объемом не превышающим
64 Кбайта;
- используя клавишу F2 пометьте строки, которые запомнятся в промежуточном буфере - КАРМАНЕ после
нажатия Вами Ctrl+F3 с очисткой буфера и Alt+F3 - без очистки;
- для переноса информации из кармана в поле значения характеристики нажмите Ctrl+F4, при этом структура
текста автоматически сохраняется, для чего дополнительно вводится признак окончания строки.
Инструментальная система управления базами данных
47
ВВОД ОТСЫЛОК НА СВЯЗАННЫЕ БАЗЫ
Значением отсылки является имя связанной базы и автоматически присвоенный порядковый номер объекта в
сообщении (РГ003). Для установки такой отсылки следует:
- перевести курсор в поле ввода отсылки и нажать Enter;
- переместить курсор на название связанной базы и нажать Enter, при этом Вы попадаете в ту базу, с которой
устанавливаете связь. Введенной отсылке автоматически присваивается очередной свободный номер в
сообщении (например, "РГ003" или "ЛЦ078" - далее по тексту входной системный номер);
- последовательно заполнить значения характеристик объекта.
В результате, в корневом (от которого направлены отсылки) объекте сформируется отсылка на связанную базу. Если
Вы случайно установили ненужную отсылку и перешли на входной макет связанной базы, то не заполняя ни одной
характеристики, нажмите Esc, и отсылка удалится. Если Вы успели заполнить хоть одну характеристику, то для
удаления отсылки нажмите Alt+D.
ОБРАЩЕНИЕ К БАНКУ ИЗ РЕЖИМА ВВОДА
В связи с тем, что ввод информации производится в промежуточный файл, а загрузка информации в банк данных
осуществляется позже, часто требуется осуществлять дополнительную идентификацию при вводе. Это удобно из-за
того, что:
- данные о вводимом объекте являются зачастую неполными, что не позволяет автоматически
идентифицировать их при загрузке;
- необходимость проверки наличия соответствующей информации, хранящейся в банке данных, уже на
этапе ввода.
При этом Вам предоставляются возможности:
- ссылаться на объект в банке данных, указав его системный номер, и просматривать его;
- искать из режима ВВОД объекты в банке данных по заданным простым характеристикам,
их и выбирать требуемый объект;
- дополнять выбранный объект значениями некоторых характеристик.
просматривать
Имеется возможность из режима ВВОД "сослаться" на объект банка данных, системный номер которого известен,
т.е. непосредственно ввести системный номер объекта банка данных для установления отсылки на него.
Пример 5.3.
Вы вводите информацию о новой организации, причем один из ее сотрудников уже имеется в
базе ЛИЦО и имеет системный номер 923. Как установить связь?
Входной файл
База “ОРГАНИЗАЦИЯ”
Банк данных
сотрудник
База “ЛИЦО”
системный номер - 923
При вводе лица у Вас имеется возможность не вводить заново все его характеристики, а лишь нажать F4 и
указать ее номер в банке - 923 (лидирующие нули можно не задавать) и нажать Enter. На экран выдается объект с
системным номером РГ923 в составе ПРОСТЫХ характеристик. В верхнем правом углу экрана появляется
сообщение: ------------------------------ Дополнение к объекту ЛЦ923 -Это сообщение информирует о том, что вводимая информация добавится к ЛЦ923, причем можно добавлять
значения как ПРОСТЫХ, так и ОТСЫЛОК которые затем на этапе ЗАГРУЗКИ "подольются" к выбранному объекту.
В случае, если системный номер объекта банка запомнить затруднительно, имеется возможность "сослаться" на
объект банка по любому набору ПРОСТЫХ ХАРАКТЕРИСТИК, автоматически связанных ЧЕРЕЗ ЛОГИЧЕСКУЮ
СВЯЗКУ "И”. Для установления такой связки следует после задания наименования связанного объекта (см. ВВОД
ОТСЫЛОК), ввести перечень значений характеристик, по которым требуется проверить наличие объекта в банке и
нажать F3. На экране появится заставка: Идет поиск информации.
Если в банке имеются объекты с заданными параметрами на экран выдается сообщение:
В результате обработки запроса отобрано №
корневых объектов
Будете их просматривать? Да/Нет
Инструментальная система управления базами данных
48
Если найдено несколько объектов, просмотрите их на экране и если один из отобранных Вам подходит - высветите
его на экране, нажмите Esc и подтвердите перенос.
Пример 5.4.
Вы вводите данные на ИВАНОВА СЕРГЕЯ ИВАНОВИЧА и хотите узнать, имеются ли на него
сведения, ранее загруженные в банк. Если при заполнении входного макета заполнить лишь
фамилию "Иванов" и нажать F3, то из банка отберутся все лица по фамилии "ИВАНОВ", а их
может быть несколько.
Если заданы две характеристики: "Иванов" и "Сергей" и нажата клавиша F3, то из банка отберутся все ИВАНОВЫ
СЕРГЕИ и т.д. При поиске по банку можно использовать символы языка запросов - * и ?. Например, ИВАН* - отберутся
все лица, фамилии которых начинается на "ИВАН".
Предусмотрена возможность использовать ранее ВВЕДЕННЫЙ и ЗАГРУЖЕННЫЙ объект банка в качестве
МАКЕТА для нового ввода. Для этого следует:
- обратится к банку из режима ВВОД , используя поиск требуемого объекта по его системному номеру (F4)
или по совокупности простых характеристик (F3);
- просмотреть отобранные объекты и перенести требуемый во входной файл;
- удалить связь найденного объекта с банком, нажав Ctrl+F4, при этом в верхнем правом углу экрана исчезнет
сообщение:
---------------------------Дополнение к объекту------------------------
- используя уже заполненные поля, вносить изменения, дополнения в реквизиты, требующие корректировки.
Если Вы планируете входные сообщения повторно загрузить в другой банк, Вам следует "оборвать" отсылки на
объекты банка, установленные при вводе сообщений. Для удаления отсылок на записи банка данных из текущего
сообщения нажмите Alt+F2, из всех сообщений входного файла - Shift+F2.
ДОПОЛНИТЕЛЬНЫЕ СЕРВИСНЫЕ СРЕДСТВА
При вводе значений ОТСЫЛОК Вам предоставляется ряд ДОПОЛНИТЕЛЬНЫХ СЕРВИСНЫХ СРЕДСТВ,
которыми Вы можете пользоваться.
Если значением отсылки является объект, уже хранящийся в банке, Вам не нужно полностью вводить его, а лишь
ввести один из идентифицирующих ключей и дополнительную информацию. Но это справедливо только для баз типа 3
и 4 с идентификацией на совпадение ( см. раздел ПРОЕКТИРОВАНИЕ. ОПИСАНИЕ БАНКА).
При вводе (а также при поиске и коррекции) Вы можете часто повторяющиеся значения характеристик "убирать в
карман" (Ctrl+F3) и использовать при вводе других характеристик, "выгружая из кармана" (Ctrl+F4).
Если Вы хотите выдать входной макет связанной базы на ПОЛОВИНУ экрана, нажмите Shift+F10, на ВЕСЬ экран F10.
Если в текущем входном сообщении Вам требуется установить отсылку на объект, который уже имеется в
сообщении (но не в банке), Вы можете:
- перевести курсор в поле ввода отсылки и нажать Enter;
- перевести курсор на свободную строку и нажать F3;
- из таблицы выбрать требуемый объект и нажать Enter, установив на него отсылку.
Для ПРОСМОТРА полной информации по выбранному объекту - нажать F10.
Пример 5.5.
При вводе сообщения требуется ввести несколько лиц, работающих в одной и той же фирме.
Другими словами, у нескольких входных объектов базы ЛИЦО требуется сформировать отсылки
на один и тот же входной объект базы ОРГАНИЗАЦИЯ.
ЛЦ002
ЛЦ004
РГ003
ЛЦ005
ЛЦ010
После ввода первого лица (ЛЦ002) и формирования у него отсылки на организацию (РГ003), у
всех остальных лиц (ЛЦ004 - ЛЦ010) принудительно устанавливается отсылка на уже
введенный объект, что значительно уменьшает время ввода.
И, наконец, Вы имеете возможность скопировать весь файл входных сообщений для резервной копии или для
перезагрузки его на другой машине, используя режим АДМИНИСТРАТОР-КОПИРОВАНИЕ-ВХОДНОЙ ФАЙЛ.
Инструментальная система управления базами данных
49
ЗАГРУЗКА ИНФОРМАЦИИ
Режим ЗАГРУЗКА информации в банк данных обеспечивает:
- загрузку входных сообщений из входного файла в банк данных;
- проведение процедур идентификации и слияния информации во входном файле и в банке данных;
- обновление индексных массивов;
- загрузку входных сообщений порциями (пакетом) или по одному;
- выдачу диагностических сообщений на экран в ходе загрузки и о результатах загрузки;
- изменение статуса входного сообщения (загруженное, незагруженное, отстраненное от загрузки).
После выбора режима НАКОПЛЕНИЕ-ЗАГРУЗКА (рис.5.1.) необходимо задать адрес входных сообщений и
установить уровень доступа к загружаемой информации.
АДРЕС ВХОДНЫХ СООБЩЕНИЙ - устройство, на котором находится входной файл, требующий
загрузки. Адрес входных сообщений задается аналогично устройству ввода.
УРОВЕНЬ ДОСТУПА
- в этом поле Вы можете изменить УРОВЕНЬ ДОСТУПА к информации в
загружаемых сообщениях (F2). По умолчанию уровень доступа формируется
автоматически в зависимости от принадлежности пользователя, осуществлявшего
ввод, к одной из групп пользователей.
Если по указанному адресу нет входных сообщений текущего банка, то выдается сообщение: ОТСУТСТВУЮТ
ВХОДНЫЕ ФАЙЛЫ ПО УКАЗАННОМУ АДРЕСУ Если по указанному адресу имеются входные сообщения
РАЗЛИЧНЫХ банков данных, то Вам необходимо выбрать банк, входной файл которого требуется загрузить. После
выбора, а также если по указанному адресу имеется только входной файл текущего банка, курсор переместится на
режим ВЫПОЛНИТЬ.
Особое внимание необходимо обратить на то, что после первоначальной настройки на нужный файл
входных сообщений из него автоматически отбираются для загрузки только те сообщения, которые не
помечены (в комментарии к сообщению) как ЗАГРУЖЕННЫЕ. Если вы хотите изменить список
сообщений, отобранных для загрузки, то переместите курсор на режим ВЫБОР и пометьте нужные
сообщения. Повторная загрузка сообщений в банк (при их принудительном отборе) может привести к
дублированию информации неидентифицируемых объектов. Будьте внимательны.
Итак, курсор стоит на режиме ВЫПОЛНИТЬ, отобраны сообщения для загрузки. Для начала загрузки нажмите
Enter. Процедура загрузки отражается на экране в специальной таблице, в которую выводятся:
- адрес размещения файла входных сообщений;
- общее количество сообщений в файле;
- количество загруженных сообщений;
- количество сообщений, отобранных для загрузки в текущем сеансе;
- количество сообщений, отстраненных от загрузки.
Если по окончании загрузки Вы увидите надпись: "ОБРАБОТАНЫ ВСЕ ОТОБРАННЫЕ СООБЩЕНИЯ! Нажмите
Enter", то это значит, что загрузка успешно закончена и все отобранные сообщения загружены в банк. Если Вы желаете
ПРЕРВАТЬ загрузку до ее окончания - нажмите Esc. Последнее загружаемое в данный момент сообщение полностью
загрузится в банк. Подтвердите окончание загрузки. В противном случае загрузка будет продолжена.
Рассмотрим более подробно процессы, протекающие на четырех этапах загрузки информации в банк:
1 этап - идентификация по входному сообщению;
2 этап - идентификация по банку данных;
3 этап - загрузка объектов в банк данных;
4 этап - обновление индексных массивов.
Каждое входное сообщение последовательно проходит все четыре этапа.
На ПЕРВОМ этапе происходит идентификация объектов внутри сообщения. Если любая пара объектов одной базы
проидентифицировалась, они сливаются уже на этом этапе.
На ВТОРОМ - входные объекты идентифицируются с банком данных. Если идентификация произошла, то входному
объекту присваивается системное имя объекта банка, с которым произошла идентификация, и уже на третьем этапе
входной объект и объект банка сливаются по правилам, определенным видом идентификации.
Если идентификация не произошла, то входному объекту на ТРЕТЬЕМ этапе будет присвоено системное имя банка с
минимальным свободным номером.
После физической записи входных объектов в банк на ЧЕТВЕРТОМ этапе происходит обновление индексных
массивов, которые изменились в связи с загрузкой новых объектов.
Входные сообщения, не прошедшие идентификацию, отстраняются от загрузки лишь на первом и втором этапах.
При этом Вам выдается сообщение о причинах отстранения.
Инструментальная система управления базами данных
50
Пример 5.6.
Возможные варианты диагностических сообщений:
Сообщение 01 ЗАГРУЖЕНО
Сообщение 02 ЗАГРУЖЕНО
Сообщение 03 ОТСТРАНЕНО (РГ000001, РГ003 (13))
Сообщение 04 ОТСТРАНЕНО (файл входных сообщений: ЛЦ002,ЛЦ003(04))
Сообщение 05 ОТСТРАНЕНО (ЛЦ000044, ЛЦ005)
Сообщение 06
В приведенном примере в файл входных сообщений введено 6 сообщений. Из них:
- сообщения №№ 1,2 успешно загружены в банк;
- сообщение №3 отстранено от загрузки на втором этапе, как не прошедшее идентификацию по банку данных
(входной объект РГ003 не прошел идентификацию с объектом банка данных РГ000001 по характеристике с №
13);
- сообщение №4 отстранено от загрузки на первом этапе, как не прошедшее идентификацию по входному
сообщению (входной объект ЛЦ002 не прошел идентификацию с входным объектом ЛЦ003 по
характеристике с идентификатором 4);
- сообщение №5 отстранено от загрузки на втором этапе, как не прошедшее идентификацию по банку данных
(идентифицирующие характеристики входного объекта ЛЦ005 совпали с идентифицирующими
характеристиками объекта банка данных ЛЦ000044, при выбранном втором - "на несовпадение", виде
идентификации);
- сообщение №6 в банк данных не загружалось.
Для КОРРЕКЦИИ сообщений, отстраненных от загрузки, Вам придется войти в режим ВВОД и внести в них
необходимые коррективы, либо откорректировать объекты в банке в режиме КОРРЕКЦИЯ, если ошибка в них. После
этого отстраненные сообщения могут заново направляться на загрузку.
Инструментальная система управления базами данных
51
Глава 6. РЕЖИМ ОБРАБОТКА
На предыдущих этапах Вы узнали, как создать банк данных и описать его структуру, как загрузить в банк
информацию. Банк создан, информация загружена. Что дальше? Теперь данные необходимо обработать и получить
результат в требуемой форме. Конечно же, это упрощенный подход, но он позволяет понять - на какие шаги делится
решение нашей задачи и что из себя представляет каждый шаг. Итак, сначала мы должны задать условие поиска: - ЧТО
ИСКАТЬ? Затем - отобрать объекты баз данных, удовлетворяющие заданному условию, т.е. послать запрос на
выполнение. Отобранную в результате исполнения запроса информацию Вы можете: просмотреть, исправить, уточнить,
запомнить, отсортировать и т.д. Так же хорошо было бы иметь возможность выдавать информацию в виде текста или
таблицы, производить ее статистическую обработку и т.д. Все эти этапы обработки можно представить в виде схемы, о
которой - в следующем разделе руководства. При выборе режима ОБРАБОТКА головного меню системы на экран
выдается список команд этого режима:
Информацию из банка можно отобрать используя любую команду из режима ОБРАБОТКА:
РАЗОВЫЙ ЗАПРОС
- команда меню, предназначенная для задания и выполнения запросов с произвольным
набором поисковых характеристик как внутри одной базы, так и в цепочке
взаимосвязанных баз на поиск информации из банка данных. В этом режиме возможна
обработка группы запросов по одной базе, а также формирование пакета запросов для
последовательной непрерывной обработки.
ЗАПРОСЫ по ОБРАЗЦУ - режим для исполнения библиотечных запросов с переменными параметрами,
которые Вы можете изменять перед выполнением. Для создания запросов по
образцу используйте режим ПРОЕКТИРОВАНИЕ - ЗАПРОСЫ ПО ОБРАЗЦУ.
ПАКЕТ ЗАПРОСОВ
- используется для последовательного автоматического выполнения нескольких
запросов, записанных в пакет в режимах РАЗОВЫЙ ЗАПРОС и ЗАПРОС ПО
ОБРАЗЦУ. Ответы на запросы помещаются в заданные текстовые файлы на диске.
СТРОЧНАЯ ЗАПИСЬ - режим, с помощью которого Вы можете формировать запрос на отбор
информации непосредственно на внутреннем языке системы. Строчная запись запроса
автоматически формируется при задании запроса в диалоге в режимах РАЗОВЫЙ
ЗАПРОС и ЗАПРОС ПО ОБРАЗЦУ.
РЕЗУЛЬТАТ ПОИСКА - позволяет вызвать для дальнейшей обработки без повторной процедуры поиска
результаты обработанного ранее запроса, при условии их сохранения командой
ЗАПОМНИТЬ.
УДАЛЕННАЯ ОБРАБОТКА - режим дает Вам возможность удаленного доступа к банку в режимах
ПОИСК и ВВОД - ЗАГРУЗКА с использованием модема и программы связи. Режим
УДАЛЕННОЙ ОБРАБОТКИ подробно описан в ПРИЛОЖЕНИИ №1 настоящего
Руководства.
Инструментальная система управления базами данных
52
ОБОБЩЕННАЯ СХЕМА ОБРАБОТКИ ЗАПРОСОВ
Обобщенную схему обработки запросов можно представить в следующем виде:
Этап №1
ЗАДАЕМ УСЛОВИЯ ПОИСКА (по-другому - критерий отбора информации). Есть несколько
способов. Выбирайте: можно
1. В режиме диалога сформировать РАЗОВЫЙ ЗАПРОС, выбрав
корневую базу данных для поиска и задав ограничения на
характеристики и отсылки операторами языка запросов.
2. Выбрать ЗАПРОС ПО ОБРАЗЦУ из БИБЛИОТЕКИ ЗАПРОСОВ,
изменив при необходимости нужные параметры.
3. Обратиться к ПАКЕТУ ЗАПРОСОВ. Результат записывается в
заданный файл.
4. Создать СТРОЧНУЮ ЗАПИСЬ ЗАПРОСА. Этот способ - для
уверенных в хорошем знании языка запросов.
5. Использовать сохраненные ранее РЕЗУЛЬТАТЫ ПОИСКА для
дальнейшей обработки. В этом случае, Вы сразу переходите к этапу
№2.
6. Удаленная обработка дает возможность удаленного доступа к банку
в режимах ПОИСК и ВВОД-ЗАГРУЗКА с использованием модема и
программы связи.
Заданы условия поиска, создан запрос.
Выбирайте действия с ним:
НАЙТИ
СЛЕДУЮЩИЙ ЗАПРОС
СТРОЧНУЮ ЗАПИСЬ
ЗАПИСАТЬ В ПАКЕТ
УДАЛЕННАЯ
ОБРАБОТКА
ОТКАЗ
сформированный запрос направляется на выполнение. в результате
которого отбираются объекты, удовлетворяющие условиям запроса.
Если необходимые объекты не найдены, осуществляется возврат к
началу этапа №1. Если такие объекты найдены, то этим завершается
этап №1 и начинается этап №2.
если необходимо задать еще один запрос по предыдущей схеме.
коррекция строчной записи запроса, т.е. переход в п.4 этапа №1
сформированный запрос записывается в пакет запросов для
последовательной обработки нескольких запросов (п.3 этапа №1).
направление запроса на удаленную обработку при условии
подключения коммутационной программы.
от дальнейшей обработки запроса и выход из режима.
Этап №2. ДЕЙСТВИЯ С ОТОБРАННОЙ ИНФОРМАЦИЕЙ.
ПРОСМОТР - просмотреть отобранные объекты в табличной или
анкетной форме без права коррекции.
КОРРЕКЦИЯ - изменить и дополнить отобранные из банка объекты.
СОРТИРОВКА - упорядочить отобранные объекты по выбранному
критерию.
УТОЧНЕНИЕ ЗАПРОСА - отобрано много лишней информации?
Уточните запрос, наложив дополнительные ограничения.
ЗАПОМНИТЬ сохранение отобранных записей в файле для
последующего их использования без повторной процедуры отбора.
ЦЕПОЧКИ - для поиска по цепочкам взаимосвязанных объектов, при
этом ограничения задаются на начальный и конечный объекты
цепочки, а также на количество промежуточных объектов.
Инструментальная система управления базами данных
53
СПЕЦОБРАБОТКА - для подключения собственных программ,
осуществляющих обработку отобранной информации.
ВЫДАТЬ отобранную информацию на экран, принтер или файл.
Выдача - очень важная часть работы, поэтому ей целиком посвящен
следующий этап №3.
Этап №3 ВЫДАЧА ОТОБРАННОЙ ИНФОРМАЦИИ .
Информацию можно:
выдать с использованием выходных форм в виде текста или таблицы
на экран, печать или в файл.
подсчитать количество отобранных по вновь задаваемым критериям,
распределить по значениям одной или нескольких характеристик,
сформировать двумерную статсводку и выдать результат на экран,
печать или файл.
ВЫДАТЬ
ОБРАБОТАТЬ
А теперь более подробно рассмотрим каждый этап обработки и разберем поясняющие примеры.
ЯЗЫК ЗАПРОСОВ
Для того, чтобы обработать запрос и получить ответ, мы должны сформулировать этот запрос по определенным
правилам. ЯЗЫК ЗАПРОСОВ и представляет собой совокупность таких правил, в соответствии с которыми
производится поиск информации в банке. Он позволяет задать критерий отбора (поиска) объектов, в котором
выбираются поисковые характеристики и на каждую из них накладываются ограничения.
КРИТЕРИЙ ОТБОРА представляет собой формальное выражение, задающее информационные объекты или их
взаимосвязанную совокупность, подлежащую отбору, и условия, которым они должны
удовлетворять.
В критерии отбора могут быть заданы условия на все типы характеристик, как на простые, так и на отсылки.
Количество и виды условий на одну характеристику неограниченны. Каждый информационный объект, указанный в
запросе, задается парой: ИМЯ БАЗЫ/ПОРЯДКОВЫЙ НОМЕР ОБЪЕКТА В ЗАПРОСЕ. Например, РГ01 или ЛЦ02.
Нумерация объектов в запросе автоматическая. В общем виде запрос выглядит так:
< ОПЕРАТОР> <ИМЯ БАЗЫ С НОМЕРОМ> <УСЛОВИЕ>
Пример.: ОТ РГ01 < условие >,
где ОТ - оператор ОТОБРАТЬ,
РГ01 - имя базы (РГ) с ее порядковым номером, с которым она участвует в запросе (01).
В запросе могут быть заданы условия на (см.табл.6.1):
- значения простых характеристик;
- кратность простых характеристик;
- кратность отсылок на связанные базы.
Условие на значения ПРОСТОЙ характеристики (при ЯВНО заданных значениях) задается в следующем виде:
<номер характеристики> <вид сравнения> <значение>,
где <номер характеристики> - номер характеристики в базе с именем МБ,
<вид сравнения> - одно из условий на явно заданные значения простых характеристик,
<значение> - значение характеристики.
Пример 6.3.
ОТ ЛЦ01 04 РВ ПОПОВ
ОТ ЛЦ01 11 РВ ??.??.34
- отобрать объекты базы с именем ЛЦ (база ЛИЦО), у которых характеристика №
04 имеет значение ПОПОВ;
- отобрать объекты базы с именем ЛЦ, у которых значение характеристики № 11
равно ??.??.34.
Здесь и далее по тексту в качестве примеров используются фрагменты СТРОЧНОЙ ЗАПИСИ
ЗАПРОСОВ, поясняющие различные режимы отбора и обработки информации.
Для НЕЯВНО заданных значений простых характеристик условие может задаваться в одном из двух видов:
а) при отсутствии дополнительных условий на неявно заданные значения, условия:
АССОЦИАТИВНО РАВНО,
АССОЦИАТИВНО НЕ РАВНО,
АССОЦИАТИВНО МЕНЬШЕ,
АССОЦИАТИВНО БОЛЬШЕ,
- АР
- АН
- АМ
- АБ
Инструментальная система управления базами данных
54
В виде: <номер характеристики> <вид условия> <номер характеристики1>МКnn,
где <номер характеристики> - номер характеристики данного объекта в базе с именем МБ;
<вид условия> - вид ассоциативного условия;
<номер характеристики1> - номер ассоциативно связанной характеристики в баз с именем МК;
МКnn - объект базы с мнемокодом МК, сопоставляемый объекту МБ01;
nn - номер объекта в запросе.
Пример 6.4.
ОТ РГ01 16 AP 16 РГ02
- отобрать объекты базы ОРГАНИЗАЦИЯ (имя РГ), у
которых равны значения характеристик с № 16.
б) при наличии дополнительных условий на неявно заданные значения, условия:
АССОЦИАТИВНО БОЛЬШЕ, НО НЕ БОЛЕЕ ЧЕМ НА ...
АССОЦИАТИВНО БОЛЬШЕ, НО НЕ МЕНЕЕ ЧЕМ НА ...
АССОЦИАТИВНО МЕНЬШЕ, НО НЕ БОЛЕЕ ЧЕМ НА ...
АССОЦИАТИВНО МЕНЬШЕ, НО НЕ МЕНЕЕ ЧЕМ НА ...
АССОЦИАТИВНАЯ РАЗНОСТЬ БОЛЬШЕ ЧЕМ ...
АССОЦИАТИВНАЯ РАЗНОСТЬ МЕНЬШЕ ЧЕМ ...
- АБМ
- АББ
- АММ
- АМБ
- АРБ
- АРМ
В виде <номер хар-ки><вид условия><значение><номер характеристики1>МКnn,
где <номер характеристики> - номер характеристики данного объекта в базе с именем МБ;
<вид условия> - вид ассоциативного условия;
<значение> - значение условия;
<номер характеристики1> - номер ассоциативно-связанной характеристики в базе с именем МК;
МКnn - объект базы с именем МК, сопоставляемый объекту МБ01;
nn - номер объекта в запросе.
Пример 6.5.
ОТ РГ01 12 АБМ 3 12 РГ02
- отобрать объекты базы ОРГАНИЗАЦИЯ, у которых значение
характеристики № 12 отличалось не более чем на 3.
Условие на КРАТНОСТЬ ПРОСТОЙ множественной характеристики задается в виде:
КРАТНОСТЬ вида РАВНО
КРАТНОСТЬ вида НЕ РАВНО
КРАТНОСТЬ вида МЕНЬШЕ ИЛИ РАВНО
КРАТНОСТЬ вида БОЛЬШЕ ИЛИ РАВНО
КРАТ РВ
КРАТ НР
КРАТ МР
КРАТ БР
<номер характеристики> <вид условия> <значение кратности>,
где <номер характеристики> - номер характеристики в базе с именем МБ;
<вид условия> - вид условия на кратность;
<значение кратности> - значение кратности простой множественной характеристики.
Пример 6.6.
ОТ РГ01 22 КРАТ БР 3
- отобрать объекты базы, у которых характеристика № 22 имеет
3 или более значений.
Условие на КРАТНОСТЬ ОТСЫЛКИ на связанные базы характеристики задается в виде:
<номер характеристики> <вид условия> <значения кратности> МКnn,
где <номер характеристики> - номер характеристики в базе с именем МБ;
<вид условия> - вид условия на кратность;
<значение кратности> - значение кратности отсылки;
МКnn - объект базы с именем МК, сопоставляемый объекту МБ01;
nn - номер объекта в запросе.
Пример 6.7.
ОТ РГ01 12 КРАТ РВ 3 ТВ02
- отобрать объекты базы с именем РГ, у которых в
характеристике № 12 существует 3 отсылки на базу ТВ.
При задании условий ПО УМОЛЧАНИЮ действуют следующие СОГЛАШЕНИЯ:
- отсутствие вида сравнения интерпретируется как вид сравнения - РАВНО;
- отсутствие явно заданной логической связки между различными характеристиками - как логическая
связка "И";
- отсутствие явно заданной логической связки между значениями одной характеристики - как логическая
связка "ИЛИ".
Значение характеристики в соответствующем условии не может превышать максимальную длину для данной
характеристики. Лидирующие (впередистоящие) нули в значениях характеристик типов КЦ и Ц можно опускать.
Таблица 6.1. Виды сравнений, допустимые в критерии отбора.
№
1
2
Вид условия
РАВНО
НЕ РАВНО
Код
РВ
НР
Примечание
Условия
Инструментальная система управления базами данных
55
3
4
5
6
7
8
9
10
БОЛЬШЕ ИЛИ РАВНО
МЕНЬШЕ ИЛИ РАВНО
РАВНО ПУСТОМУ
НЕ РАВНО ПУСТОМУ
ВНУТРИ ИНТЕРВАЛА
ВНЕ ИНТЕРВАЛА
ПОХОЖЕСТЬ
ОДИНАКОВЫЕ ЗНАЧЕНИЯ
БР
МР
РП
НП
ВИ
НИ
ПХ
ОЗ
11
12
13
14
15
16
17
18
19
20
21
22
23
24
КРАТНОСТЬ вида РАВНО
КРАТНОСТЬ вида НЕ РАВНО
КРАТНОСТЬ вида МЕНЬШЕ ИЛИ РАВНО
КРАТНОСТЬ вида БОЛЬШЕ ИЛИ РАВНО
АССОЦИАТИВНО РАВНО
АССОЦИАТИВНО НЕ РАВНО
АССОЦИАТИВНО МЕНЬШЕ
АССОЦИАТИВНО БОЛЬШЕ
АССОЦИАТИВНО БОЛЬШЕ, НО НЕ БОЛЕЕ ЧЕМ НА ...
АССОЦИАТИВНО БОЛЬШЕ, НО НЕ МЕНЕЕ ЧЕМ НА ...
АССОЦИАТИВНО МЕНЬШЕ, НО НЕ БОЛЕЕ ЧЕМ НА ...
АССОЦИАТИВНО МЕНЬШЕ, НО НЕ МЕНЕЕ ЧЕМ НА ...
АССОЦИАТИВНАЯ РАЗНОСТЬ МЕНЬШЕ, ЧЕМ ...
АССОЦИАТИВНАЯ РАЗНОСТЬ БОЛЬШЕ, ЧЕМ ...
КРАТ РВ
КРАТ НР
КРАТ МР
КРАТ БР
АР
АН
АМ
АБ
АБМ
АББ
АММ
АМБ
АРМ
АРБ
на явно
заданные
значения
простых
характеристик
Данное условие
допустимо только для
немножественных
простых характеристик
по которым индекс по
полной длине
Условия на кратность
множественных
значений простых
характеристик и отсылок
Условия на
неявно
заданные
значения
простых
характеристик
Теперь подробно рассмотрим виды сравнений, приведенные в таблице 6.1.
Предположим, что базе ЛИЦО присвоено имя ЛЦ, а базе ОРГАНИЗАЦИЯ - РГ. Для краткости изложения вместо
фразы типа "отобрать объекты базы с именем ЛЦ (или РГ) ..." будем использовать "отобрать лиц (организации)...".
ОТБОР ОБЪЕКТОВ БЕЗ НАЛОЖЕНИЯ ОГРАНИЧЕНИЙ.
При задании оператора ОТ ("Отобрать") без наложения ограничений на характеристики базы отбираются ВСЕ
информационные объекты базы. При этом для задания оператора нужно лишь "войти" в базу при задании запроса и
нажать Esc.
Пример 6.8.
ОТ ЛЦ01 - отобрать всех лиц из базы ЛИЦО;
ОТ РГ01 - отобрать все организации.
ВИД СРАВНЕНИЯ РАВНО (сокращенное обозначение - РВ).
При использовании этого вида сравнения, отбираются объекты, у которых значения указанных характеристик равны
(точно совпадают) , заданным значениям в условии запроса (критерии поиска). Вид сравнения РАВНО можно
использовать и в том случае, когда условие накладывается не на все значение характеристики, а на его часть. При этом в
поле значения характеристики вместо той части значения, на которую не накладываются условия, записываются
символы "?". Символы "?" могут располагаться в любой части значения. Допускается также использование символа "*",
который интерпретируется как любое количество любых символов, не превышающее максимальной длины значения
характеристики.
Для характеристик типа Ф (ФАЙЛ), значениями которых являются текстовые файлы (напомним, что могут быть и
графические форматы), конструкция - РВ *<контекст>* осуществляет поиск заданного контекста в файле.
Простая множественная характеристика удовлетворяет условию вида РАВНО, если хотя бы ОДНО из ее значений
удовлетворяет заданному условию.
Пример 6.9.
ОТ ЛЦ01 04 РВ попов
ОТ ЛЦ01 04 РВ ПоПоВ
ОТ РГ01 01 РВ 1514
ОТ ЛЦ01 11 РВ 29.05.60
ОТ ЛЦ01 05 РВ РОБ?РТ
ОТ ЛЦ01 04 РВ ?????ОВ
- отобрать лиц по фамилии Попов
- при задании критерия отбора "величина" букв (прописные или заглавные)
значения не имеет
- отобрать фирмы, у которых характеристика № 1 имеет значение 1514
- отобрать лиц, у которых характеристика № 11 имеет значение 29.05.60
- отобрать лиц, у которых характеристика № 05 имеет следующее значение:
первая буква - "Р", вторая - "О", третья - "Б", четвертая - ЛЮБАЯ, пятая и
шестая - соответственно "Р" и "Т"
- отобрать лиц, у которых характеристика №04 состоит из 7 букв, причем
последние две буквы - "ОВ"
Инструментальная система управления базами данных
ОТ ЛЦ01 11 РВ ??.??.60
56
- отобрать лиц, у которых характеристика №11 (типа ДАТА) имеет своим
значением любой день 1960 г.
- отобрать лиц, у которых цифровая характеристика №1 состоит из 4-х цифр и
начинается с 10
- отобрать лиц, у которых характеристика №04 имеет значение, начинающееся
на букву Б
- отобрать лиц, у которых характеристика №04 имеет значение, начинающееся
на букву Б и заканчивающееся буквами ОВ, при этом количество букв не
определено
отобрать товары, у которых в значении характеристики №5 встречаются
символы "трактор", другими словами - это контекстный поиск.
- отобрать фирмы, у которых значение характеристики №5 начинается с
символа "А", далее следует любой символ, за ним символ "О", а потом любое
количество любых символов.
ОТ ЛЦ01 01 РВ 10??
ОТ ЛЦ01 04 РВ Б*
ОТ ЛЦ01 04 РВ Б*ОВ
ОТ ТВ01 05 РВ *трактор*
ОТ РГ01 05 РВ А?О*
ВИД СРАВНЕНИЯ НЕ РАВНО (НР).
Данный вид сравнения позволяет отбирать объекты, у которых значение характеристики не равно заданному.
Простая множественная характеристика удовлетворяет условию вида НЕ РАВНО, если НИ ОДНО из ее значений не
равно заданному. Допускается использование символов "?" и "*", которые обрабатываются по правилам, изложенным
при рассмотрении вида сравнения РАВНО.
ОТ ЛЦ01 04 НР ПОПОВ
ОТ РГ01 15 НР 800
- отобрать всех лиц, кроме тех, у которых характеристика №04 равна Попов;
- отобрать фирмы, у которых характеристика №15 не равна 800
ВИДЫ СРАВНЕНИЯ МЕНЬШЕ ИЛИ РАВНО (МР), БОЛЬШЕ ИЛИ РАВНО (БР).
Данный вид сравнения позволяет отбирать объекты, у которых значение указанной характеристики меньше или
равно (больше или равно) заданному значению. Допускается использование этих видов сравнения и для текстовых
значений характеристик. В этом случае требуемые значения определяются в соответствии с правилами представления
алфавита в цифровом машинном коде. Коды символов латинского алфавита всегда "меньше" кодов символов русского
алфавита. Простая множественная характеристика удовлетворяет условию вида БОЛЬШЕ ИЛИ РАВНО, МЕНЬШЕ ИЛИ
РАВНО, если хотя бы одно из ее значений удовлетворяет заданному условию.
ОТ РГ01 04 БР 100000
ОТ ЛЦ01 02 МР Д
- отобрать организации, у которых значение характеристики №4 (“Уставной фонд”)
больше или равно 100000;
- отобрать лиц, у которых значение характеристики №2 (“Фамилия”) начинается с
букв, коды которых меньше кода буквы "Д".
ВИД СРАВНЕНИЯ РАВНО ПУСТОМУ (РП).
По этому виду сравнения, отбираются объекты, у которых значение заданной характеристики отсутствует.
ОТ РГ01 11 РП
- отобрать фирмы, у которых характеристика №11 (“Телефон”) не заполнена.
ВИД СРАВНЕНИЯ НЕ РАВНО ПУСТОМУ (НП).
По этому виду сравнения, отбираются объекты, у которых значение заданной характеристики заполнено, т.е.
значение "не пусто".
ОТ РГ01 04 НП
- отобрать организации, у которых характеристика №04 (“Уставной фонд”) заполнена, т.е.
не пуста.
ВИД СРАВНЕНИЯ ВНУТРИ ИНТЕРВАЛА (ВИ).
Вид сравнения определен для любых типов простых характеристик, кроме текстового (тип "Т") и кодируемоготекстового (тип "КТ"), при этом отбираются объекты, у которых значение указанной характеристики попадает "внутрь
заданного интервала", включая границы. Простая множественная характеристика удовлетворяет условию "ВИ", если
ХОТЯ БЫ ОДНО из ее значений удовлетворяет заданному условию.
ОТ РГ01 03 ВИ 01.01.92 31.12.92
- отобрать фирмы, у которых значение характеристики №03 (“Дата
регистрации”) находится в интервале от 1 января до 31 декабря 1992 г.
ВИД СРАВНЕНИЯ ВНЕ ИНТЕРВАЛА (НИ).
Вид сравнения определен для любых типов простых характеристик, кроме текстового (тип "Т") и кодируемоготекстового (тип "КТ"), при этом отбираются объекты, у которых все значения указанной характеристики "находятся за
пределами заданного интервала", причем сами "граничные значения" относятся к "интервалу" и объекты с такими
значениями не отбираются. Простая множественная характеристика удовлетворяет условию вида "НИ", если ВСЕ ее
значения не "попадают" внутрь заданного интервала.
Инструментальная система управления базами данных
ОТ РГ01 01 НИ 5 179
57
- отобрать фирмы, у которых ВСЕ значения характеристики №1 (“Системный номер”)
не попадают в интервал от 5 до 179, включая границы.
ВИД СРАВНЕНИЯ ПОХОЖЕСТЬ (ПХ).
Данный вид сравнения определен лишь для текстовых характеристик (тип "Т") и позволяет отобрать объекты, у
которых значение характеристики отличается от заданного не более, чем на один символ, при этом допускаются
следующие отличия: отсутствие символа, лишний символ, искажение символа.
ОТ РГ01 01 ПХ Бутэк
- отобрать фирмы, у которых значения характеристики №1 (“Название организации”),
похожи на "БУТЕК". При выполнении запроса могут быть отобраны фирмы с
названиями: Битек, Бутек, Бутекк, Буте и т.п.
ВИД СРАВНЕНИЯ ОДИНАКОВЫЕ ЗНАЧЕНИЯ (ОЗ).
Данный вид сравнения определен для любых типов немножественных, простых характеристик, для которых создан
ПОЛНЫЙ ИНДЕКС (не путать с ИНДЕКСОМ по СЛОВАМ, с которым данный тип сравнения не работает), и позволяет
отбирать объекты внутри одной базы, у которых значения, указанной в запросе характеристики, равны. Ограничения: не
допускается использовать при УТОЧНЕНИИ ЗАПРОСА, а также одновременно с другими типами ограничений.
ОТ ЛЦ01 02 ОЗ
- отобрать лиц, у которых значения характеристики №2 (“Фамилия”) равны. При
выполнении запроса могут быть отобраны группы лиц с одинаковыми фамилиями: Иванов
К.А., Иванов М.К., ...... Петров М.Р., Петров С.Л., ...... и т.д.
ВИДЫ СРАВНЕНИЯ КРАТНОСТЬ.
В эту группу сравнений входят:
КРАТНОСТЬ вида РАВНО (КРАТ РВ),
КРАТНОСТЬ вида НЕ РАВНО (КРАТ НР),
КРАТНОСТЬ вида МЕНЬШЕ ИЛИ РАВНО (КРАТ МР),
КРАТНОСТЬ вида БОЛЬШЕ ИЛИ РАВНО (КРАТ БР).
Для простых характеристик и отсылок с множественными значениями можно задавать условие на количество
(кратность) "непустых значений", а также на количество значений с заданными свойствами (т.е. на количество объектов,
являющихся значениями данной отсылки и удовлетворяющих заданным условиям на их характеристики). В качестве
значения кратности при наложении условия может быть задано любое целое неотрицательное число, находящееся в
пределах от 0 до 99999.
ОТ РГ01 19 КРАТ БР 3
- отобрать организации, у которых три и более учредителей, т.е. характеристика №19
(“Учредители”) имеет три и более значений.
АССОЦИАТИВНЫЕ ВИДЫ СРАВНЕНИЯ.
Условия вида АССОЦИАТИВНО ..... позволяют отобрать объекты при неявно заданных значениях простых
характеристик. Эти условия используются для сопоставления информационных объектов, отобранных из банка в рамках
связанной информационной структуры, а также для сопоставления несвязных информационных структур.
Ассоциативные связи отсутствуют в банке в явном виде и выявляются в процессе обработки запроса.
АССОЦИАТИВНО РАВНО (АР)
- условие позволяет отобрать объекты, у которых совпадают значения
сопоставляемых характеристик.
При задании условия вида АР на множественные характеристики, объекты будут отобраны, если сравниваемые
характеристики имеют хотя бы одно одинаковое значение. Ассоциативные условия могут задаваться и на отношения
между характеристиками объектов, принадлежащих РАЗЛИЧНЫМ базам, при условии, что типы сопоставляемых
характеристик равны (тип "Д" должен сравниваться с типом "Д", тип "Т" - с типом "Т" и т.п.).
ОТ РГ01 10 АР 10 РГ02
ОТ ЛЦ01 07 АР 10 РГ02
- отобрать организации, у которых значения характеристики №10 (“Адрес”) совпадают.
- отобрать лиц, у которых значение характеристики №07 (“Адрес”) равно значению
характеристики №10 (“Адрес”) организации.
АССОЦИАТИВНО НЕ РАВНО (АН)
- условие, позволяющее отобрать объекты, у которых не совпадают
значения сопоставляемых характеристик.
При задании условия вида АН на множественные характеристики, объекты будут отобраны, если сравниваемые
характеристики не имеют ни одного одинакового значения.
ОТ РГ01 10 АН 10 РГ02
- отобрать организации, у которых значения характеристики №10 не совпадают.
АССОЦИАТИВНО МЕНЬШЕ (АМ)
- условие, с помощью которого Вы сможете отобрать объекты, у
которых значение сопоставляемой характеристики первого меньше
значения аналогичной характеристики второго.
Аналогично "работает" и условие вида АССОЦИАТИВНО БОЛЬШЕ, которое позволяет отобрать объекты, у
которых значение сопоставляемой характеристики первого БОЛЬШЕ значения аналогичной характеристики второго.
ОТ РГ01 04 АМ 04 РГ02
- отобрать организации, у которых значение характеристики № 04 (“Уставной
фонд”) МЕНЬШЕ значения характеристики № 04 других организаций (РГ02).
Инструментальная система управления базами данных
АССОЦИАТИВНО БОЛЬШЕ,
НО НЕ БОЛЕЕ ЧЕМ НА
ОТ РГ01 04 АБМ 1200 04 РГ02
<задаваемое значение> (АБМ) - условие позволяет отобрать объекты, у которых
значение сопоставляемой характеристики одного не превышает значения
ассоциативно сравниваемой характеристики другого на заданную величину.
- отобрать организации (РГ01), у которых значение характеристики №04
(“Уставной фонд”) БОЛЬШЕ значения характеристики №04 других организаций
(РГ02) не более чем на 1200.
АССОЦИАТИВНО БОЛЬШЕ, НО
НЕ МЕНЕЕ ЧЕМ НА
<ЗАДАВАЕМОЕ ЗНАЧЕНИЕ>
(АББ)
АССОЦИАТИВНО МЕНЬШЕ, НО
НЕ БОЛЕЕ ЧЕМ НА
<ЗАДАВАЕМОЕ ЗНАЧЕНИЕ>
(АММ)
АССОЦИАТИВНО МЕНЬШЕ, НО
НЕ МЕНЕЕ ЧЕМ НА
<ЗАДАВАЕМОЕ ЗНАЧЕНИЕ>
(АМБ)
- условие, с помощью которого Вы сможете отобрать объекты, у которых
значение сопоставляемой характеристики первого не превышает значения
ассоциативно сравниваемой характеристики второго на величину не менее
заданной.
- условие, позволяет отобрать объекты, у которых значение сопоставляемой
характеристики первого превышает значения ассоциативно сравниваемой
характеристики второго на величину не БОЛЕЕ заданной.
ОТ РГ01 04 АББ 1200 04 ТВ02
- отобрать организации (РГ01), у которых значение характеристики № 4
БОЛЬШЕ значения характеристики № 4 других организаций (РГ02) не МЕНЕЕ
чем на 1200.
АССОЦИАТИВНАЯ РАЗНОСТЬ
МЕНЬШЕ (АРМ)
- условие допускает указание значения, в пределах которого должны находиться
значения сопоставляемых характеристик. Если попытаться иначе
сформулировать это условие, то оно может звучать примерно так: "значения
ассоциативно сравниваемых характеристик ОТЛИЧАЮТСЯ друг от друга на
величину не более заданной".
условие допускает указание значения, за пределами которого должны
находиться значения сопоставляемых характеристик, "значения ассоциативно
сравниваемых характеристик ОТЛИЧАЮТСЯ друг от друга на величину не
менее заданной".
АССОЦИАТИВНАЯ РАЗНОСТЬ
БОЛЬШЕ (АРБ)
ОТ ЛЦ01 01 АРМ 33 01 ЛЦ02
ОТ ЛЦ01 01 АРБ 33 01 ЛЦ02
58
- условие, которое предоставит Вам возможность отобрать объекты, у которых
значение сопоставляемой характеристики первого превышает значения
ассоциативно сравниваемой характеристики второго на величину не МЕНЕЕ
заданной.
- отобрать лиц (ЛЦ01), у которых значение характеристики № 1 отличается по
МОДУЛЮ от значения характеристики № 1 других лиц (ЛЦ02), но не БОЛЕЕ чем на
33. Т.е. значения первой характеристики ЛЦ01 может отличаться "в ту или другую"
сторону от значения первой характеристики ЛЦ02 на величину не превышающую 33.
- отобрать лиц (ЛЦ01), у которых значение характеристики № 1 отличается по
МОДУЛЮ от значения характеристики № 1 других лиц (ЛЦ02), но не МЕНЕЕ чем на
33.
ЛОГИЧЕСКИЕ СВЯЗКИ.
При задании критерия отбора можно накладывать ограничения на значения нескольких характеристик, а также
несколько ограничений на значения одной характеристики. В случае задания нескольких ограничений, каждая пара их
должна быть связана ЛОГИЧЕСКОЙ СВЯЗКОЙ ( И , ИЛИ ). При совместном употреблении логических связок первыми
отрабатываются (имеют более высокий приоритет) условия, связанные логической связкой ИЛИ. Изменение
приоритетности обработки условий достигается расстановкой скобок. В этом случае логические условия, заключенные в
скобки, обрабатываются в первую очередь. Расстановка скобок возможна только при работе со строчной записью
запроса. Например:
Выражение вида А и В или С и Д или Е интерпретируется как выражение А и (В или С) и (Д или Е). Для
определения приоритета в обработке условий допускается явное задание скобок. В случае задания скобок в
выражении вида (А и В) или (С и Д) или Е сначала будут проверяться условия, заданные в скобках.
Допускается любой уровень вложенности скобок.
Инструментальная система управления базами данных
59
РАЗОВЫЙ ЗАПРОС
После выбора режима ОБРАБОТКА Вы можете использовать следующие режимы:
Перед началом работы по тексту запроса определите для себя следующее:
- базы данных, которые будут принимать участие в запросе;
- характеристики каждой из этих баз, требующие задания условий на их значения, виды сравнения и
логические связки, которые предполагается при этом использовать;
- базу данных, с которой Вы начнете задание критерия запроса. Такую базу в дальнейшем мы будем называть
КОРНЕВЫМ ОБЪЕКТОМ.
После выбора режима ОБРАБОТКА-РАЗОВЫЙ ЗАПРОС из предложенного списка выберите базу данных, с которой
Вы начнете задание критерия отбора. Следом за этим перед Вами появятся ВСЕ характеристики КОРНЕВОГО объекта,
на которые Вы можете задать ограничения. В качестве поисковых могут быть объявлены любые характеристики.
Номера характеристик, по которым созданы индексные массивы выделены цветом (повышенной яркостью) различным в
зависимости от типа индекса (см. раздел ИНДЕКСНЫЕ МАССИВЫ), а у наименования отсылок - подсвечена первая
буква.
Для выбора характеристики в качестве ПОИСКОВОЙ необходимо переместить курсор на ее наименование и нажать
Enter. В появившемся поле задать поисковое значение и условие (вид сравнения), которому должно удовлетворять
поисковое значение.
Вид сравнения предназначен для указания отношения, в котором должны находиться значения характеристик
объектов базы, входящих в состав отобранной информационной структуры. На одну поисковую характеристику
допускается задание неограниченного количества условий. ПО УМОЛЧАНИЮ между условиями на значения
различных характеристик устанавливается логическая связка И, а между условиями на значения одной характеристики ИЛИ. В качестве вида сравнения выбирается РАВНО (РВ).
Для задания вручную логической связки нажать F2 и выбрать требуемую связку. При этом логическая связка
устанавливается между текущим и предшествующим ему условием. Для задания вида сравнения, отличного от РАВНО
используйте F3. При задании значения текстовых характеристик большие и маленькие (заглавные и прописные) буквы
при поиске информации равноценны.
При задании запроса значения КОДИРУЕМЫХ характеристик могут быть заданы путем обращения к словарям (F10)
аналогично режиму ВВОД. Если Вы выбираете несколько понятий - их коды в запросе связываются между собой через
логическую связку ИЛИ и для них используется вид сравнения РАВНО.
Для НЕЯВНО заданных значений простых характеристик используются ассоциативные условия. Для задания
ассоциативного условия:
- нажать F3 и выбрать ассоциативное условие;
- выбрать базу, на характеристику которой накладывается ограничение;
- выбрать характеристику.
Если на связанный объект необходимо задать дополнительные ограничения - нажмите F10.
Если сопоставляемый объект был уже задан в качестве значения отсылки, то допускается указание объекта с ранее
присвоенным ему номером в запросе. Для выбора нажмите F5.
Для условий АББ, АБМ, АММ и АМБ задать значение. Для характеристик типа ДАТА значение измеряется в днях,
для характеристик типа ВРЕМЯ - в минутах.
Инструментальная система управления базами данных
60
При формировании запроса в нижней части экрана автоматически формируется строчная запись запроса, которая
впоследствии может быть изменена в одноименном режиме. Отсутствие ограничений на поисковые характеристики
интерпретируется как отбор всех объектов базы данных.
Для УДАЛЕНИЯ из критерия отбора конкретного условия, заданного на характеристику, установите на него курсор
и нажмите клавиши Alt+D. Для ВСТАВКИ нового ограничения на значение характеристики набрать комбинацию
клавиш Alt+I. Коррекция критерия отбора осуществляется аналогично коррекции значений характеристик при вводе
информации. Для УДАЛЕНИЯ всего сформированного критерия отбора набрать комбинацию клавиш Alt+D, но при
этом необходимо выйти из поля значения характеристики.
Нажатие клавиш Alt+F9 направляет сформированный запрос на ОБРАБОТКУ. Нажатие Esc в корневом объекте
запроса также воспринимается как окончание задания критерия отбора, но при этом Вам предлагается выбрать один из
вариантов продолжения:
Формирование запроса
Найти
Следующий запрос
Строчная запись
Запись в пакет
Глобальный поиск
Отказ
НАЙТИ - сформированный критерий отбора направляется на трансляцию, где происходит его проверка. Если
ошибок в запросе не обнаружено, он направляется на обработку. В случае обнаружения каких-либо неточностей в
запросе, Вы увидите диагностическое сообщение об ошибке с указанием места ошибки в строчной записи. В этом
случае Вам необходимо откорректировать строчную запись запроса и нажать Enter, повторно направляя запрос на
трансляцию. Если исправить ошибку в строчной записи затруднительно, Вы можете удалить запрос, стерев его
строчную запись, для чего :
- переместите курсор в начало поля, нажав Home;
- нажмите Ctrl+R, тем самым очищая поле и удаляя отстраненный запрос.
СЛЕДУЮЩИЙ ЗАПРОС - необходимо формировать еще один или еще несколько критериев отбора, используя один
и тот же корневой объект. Этот режим можно с успехом использовать, например в ситуациях, при которых необходимо
проверить наличие в банке данных информации по различным спискам (сотрудников фирмы, наименований товара,
названий фирм и т.п.). Если Вы уже сформировали два и более таких запросов, то Вам будет предложена возможность
просмотра и коррекции всех заданных запросов (появится режим ПРЕДЫДУЩИЙ ЗАПРОС).
СТРОЧНАЯ ЗАПИСЬ - позволяет просматривать и корректировать строчную запись текущего запроса.
ЗАПИСАТЬ В ПАКЕТ - заданный критерий отбора записать в пакет запросов для последующей обработки
нескольких запросов в пакете - один за другим.
ГЛОБАЛЬНЫЙ ПОИСК предназначен для проведения последовательной обработки заданного запроса по
выбираемым пользователем базам различных банков данных.
Для корректной обработки запроса ТРЕБУЕТСЯ, чтобы НОМЕРА характеристик, на которые накладываются
ограничения имели одинаковые номера во всех выбранных базах. Если запрос задается по связанным базам, то
должны совпадать и мнемокоды связанных баз.
Глобальный поиск
Файл ответов
C:\CROFIND\OTVET
Номер формы выдачи
1
Нумерация ответов
Да/Нет
Существующий файл
Дополнить/Перезаписать
[Выполнить] [Список банков] [Отказ]
Для выбора файла выдачи результатов глобального поиска используется клавиша F2.
Номер формы выдачи будет ЕДИНЫМ для всех баз всех банков, участвующих в глобальном поиске.
Следовательно, необходимо убедиться в том, что заданная ФОРМА СОЗДАНА в каждой из выбранных баз.
Для выбора формы выдачи используется клавиша F2.
При включенном режиме нумерации ответов (ДА), каждый элемент ответа предваряется надписью:
-------------- ОТВЕТ N -------------При отключении режима (НЕТ) вышеприведенная надпись не выводится. Для выбора используются стрелки
ВЛЕВО/ВПРАВО или F2.
Альтернатива ПЕРЕЗАПИСАТЬ ФАЙЛ обеспечивает вывод в файл с его начала со стиранием предыдущего
содержания. ДОПОЛНИТЬ существующий файл - осуществляет вывод в конец файла, если он уже существует.
Инструментальная система управления базами данных
61
Выдача на ЭКРАН сопровождается одновременной автоматической выдачей отобранной информации в файл,
имя которого задано в поле ФАЙЛ ОТВЕТОВ.
У каждого пользователя свой список помеченных банков и баз, которые принимают участие в глобальном
поиске. Автоматически запоминается последний список. Банки и базы, входящие в список для глобального поиска,
динамически контролируются на соответствие уровню доступа текущего пользователя.
Для выбора банков и баз для глобального поиска используется режим СПИСОК БАНКОВ. Для выхода - ОТКАЗ.
Выбор банков
Имя
,
для поиска
Поиск
,
Для выбора банка требуется переместить курсор стрелками ВЛЕВО/ВПРАВО на столбец ПОИСК и нажать Enter.
Значок "+" означает, что банк отобран для поиска.
Для выбора конкретных баз необходимо переместить курсор стрелками ВЛЕВО/ВПРАВО на столбец ИМЯ и
нажать Enter или F10. Если выбор базы не был сделан, то автоматически отбирается база с мнемокодом корневого
объекта запроса (если таковая имеется).
При необходимости задайте пароль к выбираемому банку.
Выбор баз
Имя
,
для поиска
Поиск
,
Для выбора базы необходимо переместить курсор стрелками ВЛЕВО/ВПРАВО на столбец ПОИСК и нажать
Enter. Значок "+" означает, что база отобрана для поиска.
Напоминаем, что в выбранных базах номера характеристик должны совпадать с номерами тех характеристик, на
которые накладывались ограничения в запросе.
ОТКАЗ - отказ от дальнейшей обработки подготовленного запроса.
Предположим, что Вы выбрали режим НАЙТИ, и Ваш запрос успешно прошел трансляцию и начался поиск
информации. Если требуется прервать поиск - нажать Esc. В ответ на запрос будут выданы те объекты, которые система
"успела отобрать" до прерывания. После окончания (прерывания) поиска информации выдается сообщение о количестве
найденных корневых объектов и следующее меню:
Здесь начинается работа с отобранной информацией. Рассмотрим этот этап подробней.
Инструментальная система управления базами данных
62
ПРОСМОТР ОТОБРАННОЙ ИНФОРМАЦИИ
Отобранные в результате обработки запроса объекты Вы можете просмотреть в табличном или анкетном
представлении. Коррекция значений характеристик объектов в режиме ПРОСМОТР не доступна. Табличный просмотр
выдаст на экран все отобранные объекты в составе значений ПРОСТЫХ характеристик (без отсылок на связанные базы),
при этом:
- каждый объект занимает одну строку, неограниченную справа;
- в графах выдаются первые 20 символов значений характеристик.
Для просмотра значения характеристики ЦЕЛИКОМ - переместите курсор на требуемое поле, нажмите Enter, затем
F6. Для перемещения по таблице используйте клавиши управления. Если Вы хотите найти объект с требуемым
значением характеристики - переместите курсор на графу характеристики и наберите на клавиатуре искомое значение,
либо несколько его начальных символов. Для сортировки отобранных записей по любому полю переместите курсор на
требуемую графу и нажмите Ctrl+S. Текстовые характеристики упорядочиваются по алфавиту, а все остальные по
возрастанию. Если Вам требуется использовать иной вид сортировки используйте режим СОРТИРОВКА. Для перехода
к АНКЕТНОМУ просмотру текущего объекта нажмите F10. Объект выдается на экран в составе ЗАПОЛНЕННЫХ
характеристик. Для перехода к следующему объекту используйте - F8, к предыдущему - F7, клавиша Esc возвратит Вас к
табличному просмотру. Для выхода из режима и возврата к меню нажмите Esc.
СОРТИРОВКА ОТОБРАННОЙ ИНФОРМАЦИИ
Режим СОРТИРОВКА (см.рис.6.7) позволяет упорядочить в заданной последовательности отобранные
информационные объекты. Условия сортировки могут быть заданы только на ПРОСТЫЕ характеристики любой базы,
"участвовавшей в запросе". При сортировке по значениям простой множественной характеристики упорядочивание
элементов ответа осуществляется по всей совокупности ее значений. Допускаются следующие виды сортировки
значений характеристик: по АЛФАВИТУ, по ВОЗРАСТАНИЮ, по УБЫВАНИЮ. В следующей таблице приведено
соответствие возможных типов характеристик базы и доступных для них видов сортировки.
Тип характеристики
Ц, Д, В
Т, КТ, Ф
КА, КЦ
П, О, ПО
Доступные виды сортировки
по возрастанию, по убыванию
по алфавиту
по возрастанию, по убыванию, по алфавиту понятий словаря
сортировка невозможна
Количество уровней сортировки - неограниченно. Информационные объекты с одинаковыми значениями
характеристик, для которых задан вид сортировки, могут упорядочиваться по следующему уровню сортировки. Порядок
задания условий сортировки на характеристики определяет уровень сортировки.
Для ЗАДАНИЯ вида сортировки:
- переместите курсор на характеристику по которой Вы собираетесь сортировать отобранные объекты и
нажмите Enter;
- выберите требуемый вид сортировки;
- Esc начинает сортировку.
Для УДАЛЕНИЯ заданного вида сортировки повторно нажмите Enter. При необходимости сортировки по двум
уровням, выбрать вторую характеристику и аналогично задать вид сортировки. По данной характеристике (второй
уровень сортировки) будут сортироваться объекты, имеющие одинаковые значения для первой характеристики
сортировки.
Например,
при сортировке данных на лиц по двум уровням "Фамилия" и "Имя" осуществляется сортировка по
фамилиям (первый уровень), а для лиц, имеющих одинаковые фамилии - по именам (второй
уровень).
УТОЧНЕНИЕ ЗАПРОСА
Режим УТОЧНЕНИЕ ЗАПРОСА предоставляет возможность провести поиск только по отобранным ранее объектам,
для этого Вы должны задать условия поиска аналогично режиму РАЗОВЫЙ ЗАПРОС. Другими словами - это поиск
среди отобранных объектов. Количество последовательных уточнений неограниченно. Уточнение запроса проводится
только на корневой базе (первой базе в запросе) без возможности поиска по индексам и связанным базам.
СОХРАНЕНИЕ РЕЗУЛЬТАТОВ ПОИСКА
Режим ЗАПОМНИТЬ позволяет записать результаты поиска информации в файл для последующего вызова и
обработки без предварительного поиска. После выбора режима указывается имя файла, в котором сохраняются
результаты поиска информации, говоря точнее - список системных номеров отобранных объектов и строчная запись
запроса, по которому эти объекты отобраны.
Инструментальная система управления базами данных
63
ВЫДАЧА ОТОБРАННОЙ ИНФОРМАЦИИ
Режим ВЫДАЧА позволяет осуществлять выдачу информации в текстовом или в табличном виде, производить
распределение отобранной информации, ее статобработку и выдачу в виде двухмерных таблиц, а также осуществлять
подсчет найденной информации по различным критериям. После выбора режима указываются параметры выдачи:
Параметры выдачи (F2 - выбор)
Режим выдачи/обработки
Текст
Номер документа
1
Куда выдавать
экран
Нумерация ответов
Нет
Имя файла выдачи
Оtvet
Ширина ответа (в символах)
78
Левая граница ответа
2
Число строк в странице
45
[Выполнить] [Форма выдачи] [Сохранить] [Отказ]
Параметры выдачи имеют следующий смысл:
РЕЖИМ ВЫДАЧИ/ОБРАБОТКИ - данный параметр задает форму выдачи отобранной информации. Выдача
возможна в виде текста или таблицы, а также в виде статсводки, распределения или подсчета
количества найденных объектов. Для выбора значения используйте стрелки ВЛЕВО, ВПРАВО или
клавишу F2.
Режим ВЫДАЧИ/ОБРАБОТКИ
Текст
Таблица
Статсводка
Распределение
О том, что представляет из себя каждое из этих
значений мы поговорим после того, как рассмотрим
остальные параметры выдачи.
НОМЕР ДОКУМЕНТА - определяет внешний вид обрамления выдаваемого ответа. Если номер не задан, "шапка"
документа не используется. Для проектирования выходных документов - используйте режим
ПРОЕКТИРОВАНИЕ - ДОКУМЕНТЫ.
КУДА ВЫДАВАТЬ - задает устройство выдачи информации. Для выбора значения используйте стрелки ВЛЕВО,
ВПРАВО или клавишу F2.
Куда выдавать?
Экран
Печать
Перезаписать файл
Дополнить существующий файл
НУМЕРАЦИЯ ОТВЕТОВ - учитывается только, если значение параметра РЕЖИМ ВЫДАЧИ/ОБРАБОТКИ имеет
значение ТЕКСТ. В этом случае, если значение параметра ДА - перед выдачей каждого корневого
объекта указывается его порядковый номер, если значение параметра НЕТ - этого не происходит.
ИМЯ ФАЙЛА ВЫДАЧИ - учитывается только при выдаче информации в файл (с перезаписью или дополнением)
или на экран. В этом параметре указывается имя файла, в который будет записываться выдаваемая
информация.
ШИРИНА ОТВЕТА - количество символов, отведенных под поле выдачи информации. Строки, превышающие по
длине значение этого параметра автоматически разбиваются на несколько.
ЛЕВАЯ ГРАНИЦА ОТВЕТА - количество символов, которое необходимо пропустить слева при распечатке и
выдаче информации в файл.
ЧИСЛО СТРОК НА СТРАНИЦЕ - количество строк выдаваемой информации, после которых автоматически
ставится признак новой строки. Имеет смысл только при выдаче на печать и в файл.
Если параметры выдачи заданы и подходят Вам - переместите курсор на режим ВЫПОЛНИТЬ и нажмите Enter.
ВЫДАЧА В ВИДЕ ТЕКСТА
ВЫДАЧА информации в виде ТЕКСТА позволяет представить отобранные данные по спроектированным выходным
формам с необходимыми комментариями. Для задания текстовой выдачи - переведите курсор на строку РЕЖИМ
ВЫДАЧИ/ОБРАБОТКИ и установите режим ТЕКСТ, используя клавиши управления или F2.
Если установленные параметры выдачи Вас устраивают, нажмите Enter. Вы получите ответ на запрос по выходной
форме, которая ПЕРВОЙ стоит в списке форм корневой базы в запросе (базы, с которой Вы начинали задание
поисковых ограничений на отбор). Поэтому, для удобства, максимально-информативные выходные формы каждой базы
следует располагать в списке выходных форм каждой базы (режим ПРОЕКТИРОВАНИЕ - ВЫХОДНЫЕ ФОРМЫ) на
первой строке.
Инструментальная система управления базами данных
64
Если Вы хотите изменить форму выдачи отобранной информации:
- переместите курсор на режим ФОРМА ВЫДАЧИ и нажмите Enter
или
- переместите курсор на РЕЖИМ ВЫДАЧИ\ОБРАБОТКИ (ТЕКСТ) и нажмите F10 и в таблице описания
критерия выдачи задайте требуемую форму.
Текстовая выдача задается таблицей, состоящей из четырех граф:
Имя базы
1.
№ формы
2.
Комментарий перед ответом
3.
Статус
4.
ПЕРВАЯ графа таблицы отводится под имя базы с номером из запроса (например, РГ01). Вы можете задать его
"вручную", либо выбрать из строчной записи, нажав F10.
Во ВТОРУЮ графу таблицы заносится НОМЕР ФОРМЫ вывода из числа сформированных. Для выбора формы нажмите F2, тем самым вызывая режим ПРОЕКТИРОВАНИЕ - ВЫХОДНЫЕ ФОРМЫ, переместите курсор на строку
описания требуемой Вам формы и нажмите Esc. Вы также можете спроектировать новую форму печати или
откорректировать существующую, используя все средства проектирования, которые подробно были рассмотрены в
главе ППРОЕКТИРОВАНИЕ-ВЫХОДНЫЕ ФОРМЫ. Если номер формы уже задан, клавиша F10 позволит Вам
откорректировать эту форму.
ТРЕТЬЯ и ЧЕТВЕРТАЯ графы таблицы необязательны для заполнения и дают возможность при необходимости
задавать некоторый неформализованный текст перед выдаваемыми ответами - КОММЕНТАРИЙ. По умолчанию (статус
не установлен) комментарий выдается только перед ПЕРВЫМ ответом. Для выдачи комментария перед каждым ответом
- установите статус ОБ (обязательная выдача).
Отобранная информация из каждой базы, заданной в запросе, может быть выведена по своей выходной форме, при
этом последовательность вывода информации из баз данных определяется очередностью строк таблицы критерия
выдачи.
Пример:
Информацию, отобранную по запросу по двум связанным базам, фрагмент строчной записи
которого представлен ниже,
ОТ РГ01 <поисковые ограничения> ЛЦ02 <поисковые ограничения> ...
можно выдать по критерию, описанному в таблице:
Имя базы
РГ 01
ЛЦ 02
№ формы
3
10
Комментарий перед ответом
Статус
Сотрудник организации
ОБ
Информация по первой базе (РГ01) будет выводится по 3-й форме, а по второй базе (ЛЦ02) - по 10-й с
комментарием "Сотрудник организации", выдаваемым перед каждым объектом.
Вы также имеете возможность выдавать ВСЮ СОВОКУПНОСТЬ связанных баз по форме типа ДОСЬЕ, глубина
связанности которой задается при проектировании в режиме ПРОЕКТИРОВАНИЕ - ВЫХОДНЫЕ ФОРМЫ.
Имя базы
РГ 01
№ формы
1
Комментарий перед ответом
Досье
Статус
Новая строка критерия формируется путем нажатия Enter на "пустой" строке или за счет использования клавиши
Ins. Удаление строки производится путем нажатия Del.
Вы можете задать КОММЕНТАРИЙ перед всей выводимой информацией, нажав F2. СОРТИРОВКА элементов
корневой базы ответа может быть задана путем нажатия F5 (более подробно режим СОРТИРОВКА рассмотрен в главе
РАЗОВЫЙ ЗАПРОС.).
Инструментальная система управления базами данных
65
ВЫДАЧА ИНФОРМАЦИИ В ВИДЕ ТАБЛИЦЫ
ВЫДАЧА информации в виде ТАБЛИЦЫ позволяет выдавать отобранные данные по спроектированным выходным
табличным формам. Для задания табличной выдачи - переведите курсор на строку РЕЖИМ ВЫДАЧИ/ОБРАБОТКИ и
установите режим ТАБЛИЦА, используя клавиши управления или F2.
Параметры выдачи (F2 - выбор)
Режим выдачи/обработки
таблица
Номер документа
1
Куда выдавать
экран
Нумерация ответов
Нет
Имя файла выдачи
OTVET
Ширина ответа (в символах)
78
Левая граница ответа
2
Число строк в странице
45
[Выполнить] [Форма выдачи] [Сохранить] [Отказ]
Принципиальное отличие табличной выдачи от текстовой заключается лишь в том, что выводимая информация
вписывается в колонки задаваемого размера.
Наименование 1 графы
<——— размер графы———>
Наименование 2 графы
...
Набор выводимых значений характеристик в колонках, определяется формами вывода. Для формирования выходной
таблицы (при условии, что режим выдачи\обработки - ТАБЛИЦА установлен) выберите опцию ФОРМА ВЫДАЧИ и
нажмите Enter или переместите курсор на поле ТАБЛИЦА и нажмите F10.
Табличная выдача задается таблицей, причем каждая колонка выходной таблицы описывается одной строкой,
состоящей из пяти полей.
№ графы
1.
Наименование графы
2.
Размер
3.
Имя базы
4.
№ формы
5.
В ПЕРВОЕ поле автоматически заносится порядковый НОМЕР ГРАФЫ выходной таблицы, начиная со второго.
Первый номер (графа № 1) отводится под нумерацию выводимых ответов. Если Вы хотите отключить нумерацию нажмите F3, повторное нажатие возвращает нумерацию.
Во ВТОРОМ поле задается НАИМЕНОВАНИЕ ГРАФЫ (заголовок) - некоторый произвольный текст, поясняющий
содержание выдаваемой в графе информации. По заданной длине наименования автоматически вычисляется размер
графы равный <количеству символов наименования>+2. При этом Вы можете изменить ширину графы, установив
требуемый Вам размер.
ТРЕТЬЕ поле отведено под РАЗМЕР графы - количество символов, задающих ширину графы выводной таблицы. По
умолчанию размер вычисляется автоматически по длине наименования и может быть изменен до требуемых размеров.
Максимальная ширина графы - 999 символов.
В ЧЕТВЕРТОМ поле задается ИМЯ БАЗЫ с номером (например РГ01), указанном в запросе. Вы также можете
выбрать его из строчной записи запроса, нажав F2. Например, строчная запись запроса имеет вид: ОТ РГ01 .<поисковые
ограничения>..
...
Имя базы
РГ 01
№ формы
2
И наконец, в ПЯТОЕ поле заносится НОМЕР ФОРМЫ вывода для базы, имя которой Вы указали в предыдущей
графе или используйте F2 для выбора. Клавиша F10 позволит войти в текущую форму для просмотра или коррекции.
Если требуемая форма выдачи отсутствует в списке, создайте ее, нажав F2 для перехода в режим ПРОЕКТИРОВАНИЕ ВЫХОДНЫЕ ФОРМЫ.
Количество колонок в выходной таблице, а следовательно и строк в таблице ее описывающей, НЕОГРАНИЧЕННО.
НОВАЯ графа таблицы формируется путем нажатия Enter на "пустой" строке или за счет использования клавиши Ins c
последующим описанием всех параметров. Удаление строки производится путем нажатия Del. Комментарий перед всем
ответом на запрос задается по F2.
Вы можете определить СОРТИРОВКУ элементов корневой базы ответа нажав F5 (более подробно режим
рассмотрен в главе РАЗОВЫЙ ЗАПРОС).
И, наконец, если Вы задали РЕЖИМ ВЫДАЧИ\ОБРАБОТКИ - ТАБЛИЦА, но не определили критерий выдачи, т.е.
не описали графы выводной таблицы, то отобранная информация выдается в виде ТЕКСТА по форме, первой стоящей в
списке форм корневой базы запроса.
Инструментальная система управления базами данных
66
Пример. Информацию, отобранную по запросу по двум связанным базам, фрагмент строчной записи которого
представлен ниже,
ОТ РГ01 <поисковые ограничения> ЛЦ02 <поисковые ограничения> ... можно выдать по критерию, описанному в
таблице:
№ графы
1
2
Наименование графы
Наименование организации
Сотрудники
Размер
30
54
Имя базы
РГ 01
ЛЦ 02
№ формы
5
12
Информация по первой базе (РГ01) будет выводиться по 5-й форме в первую графу таблицы размером 30 символов,
а по второй базе (ЛЦ02) - во вторую графу размером 54 символа по 12-й форме. Состав и порядок следования
реквизитов в колонках выводной таблицы определяется соответствующими формами вывода и задается при их
проектировании.
ПОДСЧЕТ КОЛИЧЕСТВА ОТОБРАННЫХ ОБЪЕКТОВ
Режим СЧИТАТЬ используется для подсчета количества отобранных объектов с возможностью наложения
дополнительных ограничений. В результате формируется последовательность счетчиков, которые содержат числовые
характеристики множества отобранных объектов, а также форма, по которой результаты счета должны быть выведены.
Количество счетчиков не ограничено. При подсчете могут быть использованы только базы, которые использовались в
критерии отбора. Допускается использовать одну и ту же базу с номером для формирования значений различных
счетчиков. Каждый счетчик описывается одной строкой таблицы.
Для задания режима - переведите курсор на строку РЕЖИМ ВЫДАЧИ/ОБРАБОТКИ и установите СЧИТАТЬ,
используя клавиши управления или F2.
Параметры выдачи (F2 - выбор)
Режим выдачи/обработки
Номер документа
Куда выдавать
Считать
1
экран
Нумерация ответов
Нет
Имя файла выдачи
OTVET
Ширина ответа (в символах)
Левая граница ответа
Число строк в странице
78
2
45
[Выполнить] [Форма выдачи] [Сохранить] [Отказ]
Для ФОРМИРОВАНИЯ СЧЕТЧИКОВ переместите курсор на режим ФОРМА ВЫДАЧИ и нажмите Enter. На экране
появится таблица следующего вида:
Выдача в форме ГОРИЗОНТАЛЬНОЙ таблицы
Номер
Наименование
Имя базы
Размер графы
счетчика
счетчика
1.
2.
3.
4.
Для создания счетчика нажмите F10 и в строчной записи запроса курсором выделите имя базы с номером, объекты
которой требуется считать в данном счетчике, и нажмите Enter. В ПЕРВУЮ графу автоматически заносится очередной
в порядке возрастания номер счетчика - графы выводной таблицы. Во ВТОРОЙ графе Вы увидите имя базы с номером
(например, РГ01), перенесенное из строчной записи. Повторное нажатие Enter выдает на экран список характеристик
этой базы, исключая отсылки. Используя аппарат языка запросов Вы можете наложить дополнительные ограгичения на
подсчитываемые в данном счетчике объекты из числа отобранных в запросе. В ТРЕТЬЮ графу вводится наименование
счетчика - графы статистической таблицы, которое, как правило, отражать общий признак(и) группы объектов, а в
общем случае выбирается произвольно. Количество объектов, имеющих данный признак, будет выводиться в данной
графе статистической таблицы. В ЧЕТВЕРТОЙ графе Вы задаете размер графы выводной таблицы (счетчика) в
символах - не более 60. Суммарный размер всех граф выводной таблицы не ограничен.
Результаты счета могут быть по Вашему выбору клавишей F3 выведены в виде ГОРИЗОНТАЛЬНОЙ или
ВЕРТИКАЛЬНОЙ таблицы. Выдаваемую таблицу счетчиков Вы можете предварить КОММЕНТАРИЕМ, для задания
которого нажмите F4.
Вам доступна коррекция созданной таблицы. Вы можете:
- вставить новый счетчик в любое место таблицы (Ins);
- удалить строку таблицы, удаляя тем самым счетчик (Del);
- изменить критерий счета в счетчике (F2);
- откорректировать комментарий перед выходной таблицей (F4);
- изменить наименование столбцов (и соответственно - строк для вертикальной таблицы) и величину графы.
Пример 6.26. Из числа московских совместных предприятий, учтенных в банке, подсчитать количество:
- зарегистрированных до 1993 года;
Инструментальная система управления базами данных
67
- зарегистрированных в период 1993 - 1994 года;
- зарегистрированных после 1995 года;
- дата регистрации в базе отсутствует.
Предположим, что в результате обработки запроса отобрано по критерию отбора ОТ РГ01 09 РВ Москва И 02 РВ 10
отобрано 2560 организаций. Спроектируем таблицу подсчета названных категорий СП. Первая строка таблицы
счетчиков может выглядеть следующим образом:
Выдача в форме ГОРИЗОНТАЛЬНОЙ таблицы
Наименование
Имя базы
Размер графы
счетчика
РГ01
До 1993 г.
12
Номер
счетчика
1
Номер счетчика в текущей строке таблицы устанавливается автоматически, после нажатия F10 и выбора из строчной
записи имени базы с номером - РГ01. Нажав Enter Вы задаете ограничения для первого счетчика - ОТ РГ01 03 МР
31.12.92. Другими словами - “среди 2560 отобранных московских СП подсчитать количество зарегистрированных до
1993 года”.
Остальные счетчики формируются аналогично, с той разницей, что в каждом свой критерий счета:
- во втором:
- в третьем:
- в четвертом:
ОТ РГ01 03 ВИ 01.01.94 31.12.94
ОТ РГ01 03 БР 01.01.95
ОТ РГ01 03 РП
Примечание. Характеристика №03 базы ОРГАНИЗАЦИЯ - “Дата регистрации” - тип “Дата”.
Таблица формирования критерия статистической обработки приобретет следующий вид:
Выдача в форме ГОРИЗОНТАЛЬНОЙ таблицы
Наименование
Имя базы
Размер графы
счетчика
РГ01
До 1993 г.
12
РГ01
В период 93 - 94 г.
21
РГ01
После 1995 г.
15
РГ01
Данные отсутствуют
22
Номер
счетчика
1
2
3
4
В результате обработки запроса получаем ГОРИЗОНТАЛЬНУЮ статистическую таблицу:
До 1993 г.
1125
В период 93 - 94 г.
475
После 1995 г.
678
Данные отсутствуют
282
Для получения выходной таблицы в ВЕРТИКАЛЬНОМ виде при ее описании нажать F4. В этом случае таблица
приобретает вид:
До 1993 г.
В период 93 - 94 г.
После 1995 г.
Данные отсутствуют
1125
475
678
282
П: При выдаче горизонтальной таблицей Вы требуете указывать размеры столбцов, а в вертикальной таблице размер
не задается!
Р: В вертикальной таблице имеет смысл только размер первого столбца с названиями счетчиков, который определяется
автоматически по длине максимального наименования, плюс два пробела - справа и слева. Если размер Вас не устраивает добавьте пробелов или измените наименование.
РАСПРЕДЕЛЕНИЕ ИНФОРМАЦИИ
Режим РАСПРЕДЕЛЕНИЕ позволяет осуществить формирование и группировку строк, состоящих из значений
характеристик одного или связанных между собой объектов, и одновременный подсчет числа совпадающих строк. Для
задания режима - переведите курсор на строку режим ВЫДАЧИ/ОБРАБОТКИ и установите РАСПРЕДЕЛЕНИЕ,
используя клавиши управления или F2.
Инструментальная система управления базами данных
68
Параметры выдачи (F2 - выбор)
Режим выдачи/обработки
Распределение
Номер документа
1
Куда выдавать
экран
Нумерация ответов
Нет
Имя файла выдачи
OTVET
Ширина ответа (в символах)
78
Левая граница ответа
2
Число строк в странице
45
[Выполнить] [Форма выдачи] [Сохранить] [Отказ]
Если значение указанной характеристики отобранного объекта отсутствует, то ее значение принимается равным
пробелу и объект также участвует в распределении. При распределении могут быть заданы простые характеристики
только тех баз, которые указаны в критерии отбора. Число рангов распределения (количество простых характеристик,
участвующих в распределении) не ограничено. Результаты распределения выводятся в виде таблицы, количество
столбцов которой на один больше, чем рангов распределения. В последнем столбце Вы можете вывести данные о
количестве совпадающих строк. Наименования и размеры столбцов задаются при формировании рангов распределения.
Таблица распределения может быть снабжена необходимыми комментариями.
Для ФОРМИРОВАНИЯ КРИТЕРИЯ РАСПРЕДЕЛЕНИЯ переместите курсор на режим ФОРМА и нажмите Enter.
На экран выдается сообщение:
Ранг
распределения
1.
РАСПРЕДЕЛЕНИЕ - итоговая графа выдается
Наименование
Размер
Имя базы
графы
графы
2.
3.
4.
В каждой строке таблицы описывается критерий распределения одной базы, из числа отобранных в результате
обработки запроса. Для задания критерия переместите курсор на первую строку таблицы и нажмите F10. Из строчной
записи запроса выберите имя базы с индексом и нажмите Enter. Первая и вторая графы таблицы заполнены. В третьей
графе хранится наименование столбца (“шапка”) выходной таблице, а в четвертой - ее размер в символах.
После ввода во ВТОРУЮ графу имени базы с индексом нажмите Enter или F10 и из списка характеристик базы,
выданной на экран, выберите характеристику распределения, нажав Enter. Справа от наименования характеристики Вы
увидите символы РР1 (Ранг Распределения 1). Для удаления ранга распределения используйте Del.
Последующие ранги распределения (второй, третий и т.д.) формируются аналогично.
Пример 6.27.
Рассмотрим пример однорангового распределения. В результате обработки запроса по
некоторому критерию отбора отобрано 1000 организаций. Распределить отобранные
организации по характеристике ОРГАНИЗАЦИОННО-ПРАВОВАЯ ФОРМА.
Для распределения отобранных организаций по типу в качестве характеристики распределения указать
характеристику №2 базы ОРГАНИЗАЦИЯ - "Организационно-правовая форма", которая помечается символами РР1.
Задание характеристики распределения
Ранг
№
Название характеристики
распределения
1. Название организации
2. Организационно-правовая форма
РР1
3. Дата регистрации
...
Выходная таблица распределения может иметь вид:
Организационно-правовая форма
ВСЕГО
Количество
289
289
174
174
345
345
ИТОГО
1000
АОЗТ
ВСЕГО
АООТ
ВСЕГО
ТОО
...
По окончании формирования первого ранга распределения можно аналогичным образом сформировать следующие
(второй, третий и т.д.) ранги распределения. Число рангов распределения неограниченно. Рассмотрим пример с
использованием двух рангов распределения.
Пример 6.29.
Распределить отобранные организации по характеристике ОРГАНИЗАЦИОННО-ПРАВОВОЙ
ФОРМЫ (первый ранг распределения) и по характеристике СФЕРА ДЕЯТЕЛЬНОСТИ (второй
ранг распределения).
Инструментальная система управления базами данных
69
В качестве характеристик распределения выбираются две характеристики:ОРГАНИЗАЦИОННО-ПРАВОВАЯ
ФОРМА и СФЕРА ДЕЯТЕЛЬНОСТИ (второй ранг распределения). В этом случае таблица распределения может
выглядеть следующим образом:
Организационно-правовая
форма
АОЗТ
Сфера деятельности
Количество
производство технологического оборудования
сервисные услуги
финансовые операции
строительство
переработка древесины и вторсырья
...
ВСЕГО
18
34
56
134
48
...
1289
17
218
...
971
ИТОГО
5678
ВСЕГО
АООТ
разработка приборов и новых технических систем
торгово-закупочные операции
...
...
ЗАДАНИЕ ВИДА СРАВНЕНИЯ ПРИ РАСПРЕДЕЛЕНИИ.
При необходимости, Вы можете задать вид сравнения характеристики распределения, нажав F2, затем выбрать с
помощью клавиш управления требуемый вид сравнения и нажать Enter. При этом в строке выбранной характеристики
появится запрос: ЗАДАЙТЕ ЗНАЧЕНИЕ КРАТНОСТИ.
Задать требуемое значение кратности. После задания значения кратности в строке выбранной характеристики
появится мнемокод вида сравнения и значение кратности. Нажать Esc и продолжить формирование критерия
распределения.
Пример 6.28.
Распределить отобранных лиц с одинаковыми фамилиями, встречающимися не менее трех раз.
После выбора характеристики распределения и автоматического присвоения ей первого ранга распределения ("РР1")
задать вид сравнения "БР" (больше или равно) и указать значение кратности равным 3. При этом выбранная
характеристика помечается символами "РР1 БР 3".
Задание характеристики распределения
...
04 Фамилия
РР1 БР 3 05
05 Имя
...
В этом случае таблица распределения будет иметь вид:
Фамилия
Андерсон
Кол-во
3
ВСЕГО
ИТОГО
3
7
ПОДСЧЕТ ЦИФРОВЫХ ЗНАЧЕНИЙ ПРИ РАСПРЕДЕЛЕНИИ.
Имеется возможность задать операцию счета в графе ЗНАЧЕНИЙ ЦИФРОВОЙ характеристики с выдачей суммы в
последней строке таблицы. Цифровая характеристика для которой ведется подсчет, после задания ранга распределения,
помечается F4. На экране, справа от ранга появляются символы "СЧ".
Задание характеристики распределения:
04 Фамилия
05 Оклад
. . .
РР3 СЧ
КОРРЕКЦИЯ, УДАЛЕНИЕ, ВВОД НОВОГО критерия распределения аналогичны действиям, описанным в режиме
СОРТИРОВКИ.
Для ЗАДАНИЯ КОММЕНТАРИЯ перед всем ответом нажать F2 и ввести текст комментария.
Для ОТМЕНЫ выдачи итоговой графы в ответе нажать F4. Для задания выдачи итоговой графы (в случае
первоначальной отмены ее выдачи) нажать F3.
По окончании задания критерия распределения нажать Esc и перейти к выполнению запроса.
Инструментальная система управления базами данных
70
СТАТИСТИЧЕСКАЯ СВОДКА.
Параметры выдачи (F2 - выбор)
Режим выдачи/обработки
статсводка
Номер документа
Куда выдавать
1
экран
Нумерация ответов
Нет
Имя файла выдачи
OTVET
Ширина ответа (в символах)
Левая граница ответа
Число строк в странице
78
2
45
[Выполнить] [Форма выдачи] [Сохранить] [Отказ]
Режим СТАТИСТИЧЕСКАЯ СВОДКА позволяет обработать и выдать отобранную информацию в виде двумерной
таблицы и ее графического представления.
При этом выбирается одна база для счета (из числа участвующих в запросе), накладываются возможные ограничения
на нее и на ее связи и с учетом этого подсчитывается количество объектов базы. Результат заносится в двумерную
таблицу.
Строки и столбцы таблицы должны содержать простые характеристики баз, участвующих в запросе, с наложенными
на них ограничениями.
Пересечение строк и столбцов будет содержать числовые значения, полученные в результате подсчета объектов в
соответствии с наложенными ограничениями.
ФОРМИРОВАНИЕ СТРОК.
Для создания новой строки необходимо:


нажать клавишу Ins;
задать базу в поле графы БАЗА ПО СТРОКАМ (можно с помощью клавиши F10 выбрать базу из строчной
записи запроса).
Для выдачи в строках статсводки полного перечня значений выбранной характеристики необходимо:



установить курсор в поле графы БАЗА ПО СТРОКАМ;
нажать клавишу F3;
выбрать из списка характеристику, значения которой будут заполнять строки статсводки.
При этом в поле графы БАЗА СЧЕТА появится наименование выбранной Вами характеристики, помеченное слева
символом «*». Последующие попытки создания новой строки с помощью клавиши Ins ни к чему не приведут,
поскольку все строки статсводки будут заполняться значениями выбранной характеристики.
Для выдачи в строках статсводки ограниченного перечня значений выбранной характеристики необходимо:






установить курсор в поле графы БАЗА ПО СТРОКАМ;
нажать клавишу F2;
задать требуемые ограничения на простые характеристики базы аналогично заданию критерия отбора (поиска)
информации;
нажать Esc;
задать наименование строки в поле графы БАЗА СЧЕТА, используя клавишу Enter;
сформировать аналогично, используя клавишу Ins все последующие строки.
Активные клавиши:
Ins
F10
F2
F3
-
Del
F6
Ctrl - стрелка
влево/вправо
-
вставка новой строки;
выбор базы из строчной записи;
задание ограничений для характеристики;
выбор характеристики, полный перечень значений которой будет заполнять строки
статсводки;
удаление текущей строки;
включение/выключения вывода итоговой строки статсводки;
-
уменьшение (увеличение) ширины строки.
Инструментальная система управления базами данных
71
ФОРМИРОВАНИЕ СТОЛБЦОВ.
Любой столбец статсводки описывает одну характеристику базы, участвующей в запросе. Количество столбцов
неограниченно.
Для создания нового столбца необходимо:





установить курсор в позицию столбца КОЛИЧЕСТВО и нажать комбинацию клавиш «Alt + I»;
задать в появившемся столбце базу (можно с помощью клавиши F10 выбрать ее из строчной записи запроса);
задать требуемые ограничения на простые характеристики базы аналогично заданию критерия отбора (поиска)
информации с помощью клавиши F2;
нажать Esc;
задать наименование столбца, используя комбинацию клавиш «Alt + E».
Обращаем внимание, что если суммарная длина столбцов выходной статсводки превысит 80
символов (размер экрана), то на экран будет выдаваться лишь "левая", умещающаяся часть таблицы.
Просмотр статсводки целиком можно осуществить с помощью средств текстового редактора, "направив"
полученный ответ на редактирование. При распечатке ответа на принтере количество "умещающихся" на
листе символов зависит от выбираемого для печати шрифта и типа печатающего устройства.
Ограничения на объекты выбранной базы можно задать и с помощью формулы (расчет для столбца). Для этого
необходимо:


нажать клавишу F2;
установить курсор на соответствующий столбец и нажать клавишу F4;
выбрать (или задать) формулу для расчета.
Активные клавиши:
Alt + I
F10
F2
Alt + D
F5
Tab
Shift + Tab
Ctrl - стрелка
влево/вправо
-
вставка нового столбца;
выбор базы из строчной записи;
задание ограничений для характеристики;
удаление текущего столбца;
включение/выключения вывода итогового столбца статсводки;
перестановка местами текущего и следующего столбцов;
перестановка местами текущего и предыдущего столбцов;
-
уменьшение (увеличение) ширины столбца.
Формирование всех остальных столбцов проводится аналогично.
Сформированная форма выдачи статистической сводки будет выглядеть следующим образом:

в случае выдачи в строках статсводки ограниченного перечня значений выбранной характеристики:
База счета
( имя
базы с
индексом)
Наименование строки
1
База по строкам
Наименование
столбца 1
...
Наименование
столбца n
имя базы с
индексом
имя базы с
индексом
...
имя базы с
индексом
имя базы с
индексом
имя базы с
индексом
...
имя базы с
индексом
Количество
...
Наименование строки
m
Итого

в случае выдачи в строках статсводки полного перечня значений выбранной характеристики:
База счета
(мнемокод
базы с
индексом)
* «наименование
выбранной
характеристики»
Итого
База по строкам
Наименование
столбца 1
имя базы с
индексом
имя базы с
индексом
Для завершения формирования формы нажмите Esc.
...
...
Наименование
столбца n
имя базы с
индексом
Количество
Инструментальная система управления базами данных
72
Для того чтобы получить двумерную таблицу статсводки в соответствии с заданной формой нажмите «Выполнить».
После нажатия Esc Вы также сможете получить ее графическое представление.
Пример 6.31.
В результате запроса была отобрана информация по организациям городов Москвы,
Тюмени, Новосибирска и Иркутска, которые имеют Уставный фонд более 100 млн. руб.
Строчная запись запроса выглядит следующим образом:
ОТ РГ01 04 БР 100 И 09 РВ ТЮМЕНЬ ИЛИ 09 РВ НОВОСИБИРСК ИЛИ 09 РВ ИРКУТСК
ИЛИ 09 РВ ХАБАРОВСК
Необходимо подсчитать количество этих организаций в городах, с распределением по
следующим типам: банки, акционерные общества, торговые дома, совместные предприятия и
другие.
Фрагмент описания базы ОРГАНИЗАЦИЯ (имя - РГ)
№
00
01
02
03
04
09
19
20
Название характеристики
Системный номер
Название организации
Организационно-правовая форма
Дата регистрации
Уставный фонд (млн. руб.)
...
Город
...
Учредители-организации
Учредители-лица
Кратность
Внешний №
/ связь с
базами
Тип
Длина
Ц
Т
КА
Д
Ц
8
150
2
10
12
01
02
03
03
Т
100
09
ПО
ПО
М
М
РГ-20
ЛЦ-17
Отобранную информацию данному запросу, удобно получить в виде двухмерной таблицы (статсводки), в каждой
строке которой будет выдаваться город и количество в нем организаций, распределенных по типам.
ТИПЫ ОРГАНИЗАЦИЙ
ТЮМЕНЬ
НОВОСИБИРСК
ИРКУТСК
ХАБАРОВСК
ИТОГО
количество организаций
Для проектирования формы выдачи необходимо:





войти в режим ФОРМА ВЫДАЧИ;
нажать клавишу Ins (создание строки);
установить курсор в поле графы БАЗА ПО СТРОКАМ;
нажать клавишу F3;
выбрать из списка характеристику РГ09 ГОРОД;



установить курсор в позицию столбца КОЛИЧЕСТВО;
нажать комбинацию клавиш «Alt + I» (создание столбца);
нажать клавишу F2 и задать ограничение на характеристику РГ02 (организационно-правовая форма) - выбрать
из словаря понятие БАНК;
нажать Esc;
задать наименование столбца (БАНКИ), используя комбинацию клавиш «Alt + E»;
аналогично сформировать другие столбцы (ТОРГОВЫЕ ДОМА, АКЦИОНЕРНЫЕ ОБЩЕСТВА,
СОВМЕСТНЫЕ ПРЕДПРИЯТИЯ, ДРУГИЕ), используя комбинацию клавиш «Alt + I».



Форма выдачи в этом случае примет вид:
База счета
РГ01
*Город
Итого
База по
строкам
РГ01
Банки
РГ01
Торговые
дома
РГ01
Акционерные
общества
РГ01
Совместные
предприятия
РГ01
Для завершения режима проектирования формы выдачи нажмите Esc.
Для того чтобы получить таблицу статсводки нажмите «Выполнить».
Другие
РГ01
Количество
Инструментальная система управления базами данных
73
Полученная в результате выполнения запроса статистическая сводка может иметь вид:
Банки
ТЮМЕНЬ
НОВОСИБИРСК
ИРКУТСК
ХАБАРОВСК
Итого
2
1
1
3
7
Торговые
дома
2
3
0
1
6
Акционерные
общества
0
1
0
5
6
Совместные
предприятия
0
5
0
1
6
Другие
2
5
6
1
14
Количество
6
15
6
11
38
После нажатия Esc Вы также сможете получить ее графическое представление.
П: В приведенном примере счет производился для одной базы и на нее же накладывались ограничения. Возможно ли
подсчитывать количество объектов базы, накладывая ограничения на связанные базы?
Р: Конечно же, это возможно, следует только иметь в виду, что ограничения могут накладываться только на связанные
базы, участвующие в запросе. При этом сами ограничения задаются аналогично, необходимо лишь предварительно
выбрать базу из строчной записи запроса с помощью клавиши F10 или задать её вручную. Подробнее рассмотрим
эту процедуру в следующем примере.
Пример 6.32.
В результате запроса была отобрана информация по организациям, имеющим в числе
учредителей как физических, так и юридических лиц. Строчная запись запроса выглядит
следующим образом:
ОТ РГ01 019 РГ01 И 020 ЛЦ02
Необходимо подсчитать количество организаций в городах Москве и Санкт-Петербурге,
которые имеют в качестве своих учредителей совместные предприятия или физических лиц иностранцев.
Фрагмент описания базы ЛИЦО (имя - ЛЦ)
№
Название характеристики
Тип
Системный номер
Фамилия
Имя
Отчество
Страна (место жительства)
...
15 Относится к ОРГАНИЗАЦИИ
...
00
02
03
04
05
Ц
Т
Т
Т
КА
ПО
Длина
Кратность
Внешний
№ / связь с
базами
8
50
25
25
3
...
02
03
04
05
M
РГ-20
Спроектируем форму выдачи аналогично предыдущему примеру:










создадим новую строку (клавиша Ins);
установив курсор в поле графы БАЗА ПО СТРОКАМ, с помощью клавиши F10 выберем для счета базу РГ01;
наложим ограничение на строку с помощью клавиши F2 , предварительно установив курсор в поле графы
БАЗА ПО СТРОКАМ - для характеристики РГ09 (Город) зададим МОСКВА;
зададим наименование строки («г. Москва») с помощью клавиши Enter , предварительно установив курсор в
поле графы БАЗА СЧЕТА;
аналогично сформируем новую строку, где в качестве ограничения выступит г. Санкт-Петербург;
создадим новый столбец с помощью комбинации клавиш «Alt + I» , предварительно установив курсор в
позицию столбца КОЛИЧЕСТВО;
выберем базу ЛЦ02 из строчной записи запроса с помощью клавиши F10;
наложим ограничение на характеристику ЛЦ05 (страна (место жительства)) с помощью клавиши F2, выбрав из
словаря понятие РОССИЯ и поставив вид сравнения НЕ РАВНО;
сформируем новый столбец, выберем для него базу РГ01 и на характеристику РГ02 (организационно-правовая
форма) наложим ограничение СОВМЕСТНОЕ ПРЕДПРИЯТИЕ;
зададим наименования полученных столбцов (Учредители-СП, Учредители - иностранцы), используя
комбинацию клавиш «Alt + E».
Форма выдачи в этом случае примет вид:
База счета
РГ01
Москва
Санкт-Петербург
Итого
База по
строкам
РГ01
РГ01
Учредителииностранцы
ЛЦ02
ЛЦ02
Учредители-СП
РГ01
РГ01
Количество
Инструментальная система управления базами данных
74
Полученная в результате выполнения запроса статистическая сводка может иметь вид:
Москва
Санкт-Петербург
Итого
Учредителииностранцы
15
8
Учредители-СП
Количество
20
17
35
25
60
23
37
Графическое представление статсводки можно получить, нажав Esc.
Теперь рассмотрим оставшиеся режимы меню ОБРАБОТКА (см. рис.6.5).
КОРРЕКЦИЯ ИНФОРМАЦИИ
КОРРЕКЦИЯ - режим, позволяющий изменять информацию, загруженную в банк (см. рис.6.7) и обеспечивающий:
- добавление новых и удаление объектов из банка;
- аннулирование (разрыв) и установление новых связей между объектами;
- добавление, замену и удаление значений простых характеристик;
- массовую коррекцию значений простых характеристик;
- массовое удаление отобранных объектов;
- автоматическую идентификацию и слияние объектов по результатам коррекции;
- автоматическую коррекцию индексных массивов.
ПОСЛЕДОВАТЕЛЬНАЯ КОРРЕКЦИЯ
ПОСЛЕДОВАТЕЛЬНАЯ - коррекция, основной принцип которой определен в названии - объекты выдаются на
коррекцию последовательно, один за другим. Коррекция ПРОСТЫХ характеристик осуществляется аналогично
коррекции в режиме ввода с той лишь разницей, что корректируемые объекты находятся в банке, а не во входном файле.
Значения ОТСЫЛОК коррекции (изменению) не подлежат, их можно только удалять или дополнять новыми
значениями, если характеристика кратная. Для удаления - переместите курсор на ее значение и нажмите Alt+D. Если Вы
хотите удалить объект целиком:
- высветите его на экран;
- переместите курсор в левую половину экрана на наименования характеристик и нажмите Alt+D;
- подтвердите удаление.
Алгоритм процесса удаления объекта в базах с сетевой организацией хранения данных достаточно сложен, в отличие
от картотек или реляционных баз. Удаляя любой объект из банка, Вам потребуется решить вопрос: "Что делать с его
связями? Удалять? А что делать со связями связей?..". Основной принцип удаления объектов следующий - вместе с
корневым объектом отбираются к удалению ВСЕ его связи, которые не имеют иных обратных отсылок, кроме отсылки
на корневой. Рассмотрим пример, поясняющий этот процесс.
A1
B1
Инструментальная система управления базами данных
75
C1
B2
A2
B3
Рис 6.12.
Если Вы попытаетесь удалить объект А2, вместе с ним на удаление отберется объект B3, на экране появится
сообщение:
При удалении текущего объекта А2 будет
удален подчиненный ему объект В3.
Подтвердите удаление - Да/Нет
Объекты В2 и С1, как имеющие дополнительные обратные отсылки, удалению в данном случае не подлежат.
ДОБАВЛЕНИЕ новых отсылок на связанные базы аналогично добавлению в режиме ввода и в этой главе не
рассматривается.
Для просмотра и коррекции объекта, связанного с корневым, переместите курсор на системное имя объекта и
нажмите Enter или F10, для возврата обратно - F9 (или Esc). Для возврата на корневой с любого уровня Вы можете
использовать Ctrl+F9.
Для перехода на следующий объект, отобранный для коррекции, используйте F7 (или Esc), для возврата на
предыдущий - F8. Если Вы хотите "прыгнуть" сразу на последний объект, находясь на первом, нажмите F7.
Отказ от продолжения коррекции достигается Alt+F9.
Если в корневом объекте были сделаны какие-либо изменения, на дисплей выдается сообщение:
ИДЕТ ПРОЦЕСС ИДЕНТИФИКАЦИИ И ЗАГРУЗКИ
СКОРРЕКТИРОВАННОЙ ИНФОРМАЦИИ
В процессе идентификации по банку скорректированный объект может быть отстранен от загрузки. В этом случае
Вы увидите диагностическое сообщение с указанием системного номера объекта в банке данных, а также номер
характеристики, по которой не прошло слияние откорректированного объекта.
Например: ОТСТРАНЕНО (РГ000024 (04)).
Процесс идентификации и загрузки информации в банк данных происходит каждый раз по выходе из объекта, в
информацию которого были внесены изменения.
Из ДОПОЛНИТЕЛЬНЫХ сервисных средств последовательной коррекции хочется отметить возможность
принудительного слияния отобранных объектов, независимо от вида их идентификации. При этом, для их успешного
слияния значения немножественных простых характеристик и отсылок должны полностью совпадать или быть пустыми.
Если Вам для избежания дублирования требуется СЛИТЬ несколько объектов, пометьте их F2 (повторное нажатие
снимает пометку), а затем нажмите Ctrl+F2.
В случае неслияния информации на экран дисплея выдается сообщение:
ИНФОРМАЦИЯ В ____ОТМЕЧЕННЫХ ОБЪЕКТАХ НЕ СЛИТА
Для продолжения используйте клавиши:
Shift+F2 - просмотр и коррекция не слитых объектов
F9 - выход в предыдущее окно, пометки будут сняты
Помеченные объекты перед слиянием можно просмотреть с помощью Shift+F2. Для снятия пометки о слиянии со
всех ранее помеченных объектов нажать Alt+F2.
Если при выходе из режима коррекции остались помеченные и не слитые объекты, Вы увидите сообщение:
В РЕЗУЛЬТАТЕ КОРРЕКЦИИ ОСТАЛИСЬ НЕ СЛИТЫЕ,
ОТМЕЧЕННЫЕ ОБЪЕКТЫ
Для продолжения используйте клавиши:
Ctrl + F2 - слияние отмеченных объектов
Shift + F2 - просмотр и коррекция не слитых объектов
F9
- выход в предыдущее окно, отказ от коррекции
Еще одна сервисная возможность - Вы можете всем отобранным на коррекцию объектам добавить новую отсылку на
имеющийся объект банка. Для этого:
- войти в поле значения отсылки;
Инструментальная система управления базами данных
76
- нажать F5 и задать системный номер объекта банка, с которым Вы хотите связать ВСЕ отобранные на
коррекцию объекты;
- нажать Enter.
Нажав Shift+F9, Вы направляете на загрузку текущий объект, не выходя из него.
При последовательной коррекции Вы можете сразу "прыгнуть" на любой корневой объект, из числа отобранных,
нажав Ctrl+F8 и задав его ПОРЯДКОВЫЙ номер. Например, если Вы отобрали 10 объектов, то для того чтобы перейти
на 9-й - нажмите Ctrl+F8 и задайте 9.
И наконец, в режиме последовательной коррекции возможен ввод нового объекта. Нажав Shift+F8, Вы переходите в
режим ВВОД ИНФОРМАЦИИ. По правилам работы в данном режиме вводите информацию нового объекта и по
окончании ввода возвращаетесь в режим ПОСЛЕДОВАТЕЛЬНОЙ КОРРЕКЦИИ.
ЭКРАННАЯ КОРРЕКЦИЯ
ЭКРАННАЯ КОРРЕКЦИЯ аналогична последовательной, но проводится по экранным формам ввода.
Дополнительные возможности:
- в процессе коррекции возможна смена формы ввода . Для этого нажмите Alt+F и из списка экранных форм
выберите требуемую.
- возможен поиск среди отобранных объектов. В качестве поисковой будет использоваться текущая
характеристика и при нажатии Ctrl+F Вы сможете задать искомое значение. В поисковом значении можно
использовать символы '*' и '?' и виды сравнения так же, как и в разовом запросе. Как только первый объект
удовлетворяющий условию поиска будет найден, он будет выдан на экран для коррекции. Для продолжения поиска
по тому же поисковому значению среди еще не просмотренных объектов нажмите Alt+F.
- если характеристика множественная, а при проектировании формы ввода ей отведено не достаточно места, то
на экране будет выдаваться только то количество информации, которое уместится в выделенном поле. Однако при
нажатии Enter будет выдаваться таблица содержащая все введенные значения и пустое поле для ввода следующего
значения.
МАССОВАЯ КОРРЕКЦИЯ
В отличии от последовательной, массовая коррекция производится сразу над ВСЕМИ отобранными для коррекции
корневыми объектами, при этом Вам доступна коррекция только ПРОСТЫХ характеристик, коррекция отсылок в
данном режиме не производится. Для любой характеристики Вы можете задать одно или несколько правил массовой
коррекции, приведенных в таблице. Количество корректируемых характеристик, а также количество правил коррекции
для каждой из них - НЕОГРАНИЧЕННО.
Правила коррекции
ДОБАВИТЬ значение
характеристики
ЗАМЕНИТЬ значения
характеристики
УДАЛИТЬ значение
характеристики
УДАЛИТЬ ВСЕ значения
характеристики
МАССОВАЯ ЗАМЕНА
Результат
Новое значение характеристики добавится во всех отобранных объектах. Если
характеристика немножественная и уже имеет значение, изменений не последует.
Значение характеристики будет заменено на новое во всех отобранных объектах.
Реализован алгоритм контекстной замены, при этом поисковый и заменяемый
контексты выделяются звездочками:
например, *СССР* ----> *СНГ* .
Для удаления контекста используйте конструкцию:
*<удаляемый контекст>* ----> **
Особенности:
1. *;* ----> *;* - заменит ; на разделители значений в характеристике, т.е. сделает
характеристику кратной
2. При любой контекстной замене из характеристики удаляются недопустимые
символы. Можно использовать выражение ** ----> **
Указанное значение характеристики будет удалено во всех отобранных объектах
Все значения характеристики будут удалены из всех отобранных объектов
Протокол массовой коррекции загружается из текстового файла, который содержит
перечень подлежащих замене и новых значений корректируемого поля, разделенных
тире. Различают два типа замены НОВОЕ - СТАРОЕ и СТАРОЕ - НОВОЕ и в
зависимости от этого текстовый файл может иметь следующий вид:
<новое значение> - <старое значение>
<новое значение> - <старое значение>
...
- ...
<новое значение> - <старое значение>
или
<старое значение> - <новое значение>
<старое значение> - <новое значение>; <новое значение>; . . . ;
<старое значение> - <пусто>
Для кратных полей старое значение может заменяться на несколько новых,
разделенных “ ; “. Старое значение удаляется, если после тире новое значение
отсутствует.
Инструментальная система управления базами данных
Пример 6.32.
77
Рассмотрим массовую коррекцию базы ОРГАНИЗАЦИЯ в результате которой требуется текстовую
характеристику СТРАНА преобразовать в КОДИРУЕМУЮ. Но при вводе информации в базу
одинаковые названия стран заполнялись по-разному: например, БЕЛОРУССИЯ, БЕЛАРУСЬ,
БЕЛОРУСЬ и т.п. Очевидно, что при массовой коррекции Вам придется задавать множество
операций замены типа:
БЕЛОРУССИЯ заменить на 815 (код в словаре)
БЕЛАРУСЬ заменить на 815
БЕЛОРУСЬ заменить на 815
...
Но если коррекцию такого типа Вам потребуется выполнить несколько раз, то процесс задания
протокола несколько утомителен. В этом случае удобнее использовать режим МАССОВАЯ ЗАМЕНА,
предварительно создав текстовым редактором текстовый файл в виде:
1 - Англия
1 - Великобритания
.....
815 - БЕЛОРУССИЯ
815 - Беларусь
После выбора режима МАССОВАЯ ЗАМЕНА указать параметры замены:
Задайте параметры массовой замены (F2 - выбор)
Имя файла выдачи
C:\PROT
Тип замены
Новое-старое
[Выполнить] [Сохранить] [Отказ]
ИМЯ ФАЙЛА ВЫДАЧИ - задаете имя файла, содержащего протокол массовой замены. При
задании имени файла используйте F2.
ТИП ЗАМЕНЫ - зависит от того, как организован файл протокол замены. В данном случае тип
замены выбран НОВОЕ - СТАРОЕ, т.к. в файле PROT, содержащем ПРОТОКОЛ
замены, на первом месте стоит новое значение, а через тире старое.
По завершении задания правил, нажав Esc, Вы должны определить параметры массовой коррекции:
Параметры массовой коррекции
Просмотр каждого объекта
Да/Нет
Проводить идентификацию
Да/Нет
Имя файла отчета
OTVET
[ Выполнить ] [ Сохранить ] [ Отказ ]
ПРОСМОТР КАЖДОГО ОБЪЕКТА - позволяет просматривать (ДА) каждый корректируемый объект
перед внесением в него изменений или не делать этого (НЕТ).
ПРОВОДИТЬ
ИДЕНТИФИКАЦИЮ - значение ДА этого параметра обеспечивает проведение
идентификации по банку данных, каждого изменяемого объекта. Отказ от этого процесса
достигается заданием значения НЕТ.
ИМЯ ФАЙЛА ОТЧЕТА - имя файла, в котором автоматически будет формироваться отчет о проведенной
массовой коррекции.
МАССОВОЕ УДАЛЕНИЕ ОТОБРАННЫХ ОБЪЕКТОВ
Название режима говорит само за себя - ВСЕ найденные объекты удаляются.
ОБМЕН ЗНАЧЕНИЙ ХАРАКТЕРИСТИК
Этот режим используется для переноса значений характеристик из одной базы в другую. Базы данных,
обменивающиеся значениями характеристик обязательно должны быть связаны между собой. Допускается переносить
значения характеристик внутри одной и той же базы.
Для задания параметров обмена:
- пометьте характеристику, в которую будут переноситься значения, для чего подведите курсор на
наименование характеристики и нажмите Enter. Характеристика пометится как ДОПОЛНЯЕМАЯ.
- пометьте характеристику, значения которой будут копироваться в поле ДОПОЛНЯЕМОЙ характеристики.
Если Вы хотите объединить значения нескольких характеристик, то можете пометить еще несколько
характеристик, каждая из которых помечается как ХАРАКТЕРИСТИКА ДЛЯ ОБМЕНА.
Таких групп характеристик для обмена Вы можете задать сколько угодно. Для задания каждой следующей группы
требуется нажать F8. Для просмотра предыдущей группы - F7. Однако нужно помнить о том, что параметры процедуры
обмена для всех заданных групп обмена должны быть одинаковы.
Инструментальная система управления базами данных
78
Для начала обмена нажмите Esc и задайте параметры процедуры:
Объединять значения
Да/Нет
Переводить большие буквы в маленькие
Да/Нет
ОБЪЕДИНЯТЬ ЗНАЧЕНИЯ - опция ДА разрешает сливать значения различных характеристик в одно поле.
ПЕРЕВОДИТЬ ... - без комментариев.
ЦЕПОЧКИ
Данный режим служит для поиска возможных связей (цепочек) между объектами банка, при этом ограничения
задаются на начальный и конечный объекты цепочки, а также на их максимальное количество в цепочке.
НАЧАЛЬНЫЙ ОБЪЕКТ ЦЕПОЧКИ - один или несколько объектов базы, отобранных в результате выполнения
любой из поисковых процедур: РАЗОВЫЙ ЗАПРОС, ЗАПРОСЫ ПО ОБРАЗЦУ, СТРОЧНАЯ
ЗАПИСЬ, РЕЗУЛЬТАТ ПОИСКА. Количество отобранных объектов (в данном случае - количество
начальных объектов цепочки) и время поиска выдаются в правом верхнем углу рабочей зоны.
КОНЕЧНЫЙ ОБЪЕКТ ЦЕПОЧКИ - один или несколько объектов базы, отобранных в результате выполнения любой
из поисковых процедур: ЦЕПОЧКИ - РАЗОВЫЙ ЗАПРОС (или ЗАПРОСЫ ПО ОБРАЗЦУ, или СТРОЧНАЯ ЗАПИСЬ).
Количество отобранных объектов (в данном случае - количество конечных объектов цепочки) и время поиска выдаются
в левом верхнем углу рабочей зоны.
ГЛУБИНА ПОИСКА- цифра, задающая максимальное количество объектов (звеньев) в цепочке, включая ее
начальный и конечный объекты.
Инструментальная система управления базами данных
79
Если требуется, установите дополнительные ограничения на элементы (звенья), через которые могут участвовать в
цепочке - используйте опцию ОГРАНИЧЕНИЯ. В этом случае, на экране появится список баз текущего банка.
Например,
Список баз
Лицо
Организация
Поиск
+
>
Наложение ограничений при поиске цепочек позволит сократить количество баз, участвующих в цепочках. Символ
"+" в графе ПОИСК разрешает всем объектам базы участвовать в цепочке. Для исключения базы из цепочки
переместить курсор в графу ПОИСК и нажать Enter. Символ "+" исчезнет. Повторное нажатие Enter возвращает "+".
Если требуется, чтобы при поиске цепочек участвовали НЕ ВСЕ объекты базы, а лишь отобранные по некоторым
признакам, задайте поисковые ограничения. Для этого:
- переместите курсор на строку описания базы и нажмите Enter;
- задайте поисковые ограничения на объекты базы и выполните запрос, при этом в графе ПОИСК символ "+"
изменится на символ ">"
Если установленные параметры поиска цепочек были сохранены (опция СОХРАНИТЬ), то при
последующем поиске цепочек Вам потребуется повторить отбор объектов в базах, помеченных
символом ">". В противном случае, в поиске цепочек будут участвовать ВСЕ объекты этих баз.
Если Вас устраивают все установленные параметры, выберите опцию ВЫПОЛНИТЬ, нажмите Enter. Диагностика
поиска цепочек отображается на экране в виде:
Отобрано ЦЕПОЧЕК:
ДЛИНА цепочки:
(из числа отобранных)
текущая
минимальная
максимальная
Минимальная и максимальная длина найденных цепочек позволит Вам при необходимости прервать поиск цепочек
(Esc) и более точно установить ограничение на длину цепочек, что сократит время поиска.
Для найденных цепочек установите параметры выдачи. При выдаче, перед каждой цепочкой выдается ее
взаимосвязанная структура в виде: ИМЯ БАЗЫ (системный номер) --> . . . . ИМЯ БАЗЫ (системный номер)
ФОРМА ВЫДАЧИ
определяет порядок выдачи объектов найденных цепочек, путем задания
выходной формы для каждой из баз банка во второй графе таблицы.
Список баз
№ формы
Выбор формы (F2), ее коррекция (F10), а также назначение и коррекция остальных параметров таблицы
ПАРАМЕТРЫ ВЫДАЧИ ЦЕПОЧЕК аналогичны рассмотренным ранее в разделе ВЫДАЧА ОТОБРАННОЙ
ИНФОРМАЦИИ. Отсутствие номера формы в таблице означает отказ от вывода информации по объектам базы, даже
если они будут присутствовать в цепочке.
ИСПОЛЬЗОВАНИЕ ЗАПРОСОВ ПО ОБРАЗЦУ.
Режим ОБРАБОТКА-ЗАПРОСЫ ПО ОБРАЗЦУ (см.рис.6.5.)дает возможность сохранять сформированные запросы
для последующего их использования. Каждый такой запрос имеет уникальный номер, все вместе они образуют
БИБЛИОТЕКУ ЗАПРОСОВ. Для каждого запроса, сохраненного в библиотеке, кроме критерия поиска, записанного в
виде строчной формы задания запроса, может храниться также режим обработки/выдачи и форма выдачи информации.
Максимальное количество запросов в библиотеке не должно превышать 999.
После выбора режима из общего списка запросов, хранящихся в библиотеке, отбирается, тот который Вы хотите
выполнить.
Процесс задания условий поиска аналогичен режиму РАЗОВЫЙ ЗАПРОС, с той лишь разницей, что можно
отказаться от выбора режима выдачи/обработки (если они хранятся в запросе). О том, как создать библиотечный запрос
и записать его в библиотеку, Вы уже знаете.
ИСПОЛЬЗОВАНИЕ СТРОЧНОЙ ЗАПИСИ ДЛЯ ЗАДАНИЯ КРИТЕРИЯ ОТБОРА
При задании запроса в режиме ОБРАБОТКА - РАЗОВЫЙ ЗАПРОС Вы в диалоге формируете критерий отбора,
выбирая поисковые характеристики и накладывая ограничения на них. При этом автоматически формируется его
СТРОЧНАЯ ЗАПИСЬ - выражение, которое является поисковым заданием системе на отбор информации. Система
обеспечивает взаимно-однозначное соответствие между диалоговым заданием запроса и его строчной записью: при
коррекции любого из них - второе корректируется автоматически.
ОБРАБОТКА-СТРОЧНАЯ ЗАПИСЬ - режим, позволяющий подготовленному пользователю формировать
Инструментальная система управления базами данных
80
критерий запроса непосредственно в виде строчной записи (см.рис.6.5).
По окончании задания строчной записи происходит автоматическая проверка корректности строчной записи ТРАНСЛЯЦИЯ ЗАПРОСА.
Если запрос составлен некорректно - Вы услышите звуковой сигнал и на экране появится строчная запись запроса с
диагностическим сообщением об ошибке. Место ошибки выделено цветом (повышенной яркостью). Устраните ошибку
и направьте запрос на повторную трансляцию, нажав Enter.
Для удаления строчной записи запроса последовательно нажмите Home и Ctrl+R, в результате, чего поле строчной
записи запроса очистится. Для выхода в перечень работ в режиме ОБРАБОТКА нажмите Enter.
ИСПОЛЬЗОВАНИЕ РЕЗУЛЬТАТОВ ПОИСКА
ОБРАБОТКА-РЕЗУЛЬТАТЫ
ПОИСКА
- режим, который даст Вам возможность использовать раннее отобранную и
сохраненную в файле (см. режим ЗАПОМНИТЬ) информацию.
Задайте имя файла, в котором хранятся результаты поиска и на экране будет смоделирована ситуация, которая была
бы Вами получена после выполнения запроса. Напомним, что файл при сохранении записывается в системный
директорий.
Глава 7. АДМИНИСТРИРОВАНИЕ БАНКА ДАННЫХ
Данный режим предназначен для копирования/восстановления банка данных целиком и его отдельных
составляющих: описаний отдельных баз, словарей, форм ввода/вывода информации, запросов по образцу, таблиц
экспорта/импорта, проведения ревизии банка данных с восстановлением целостности, создания и формирования
индексных массивов для простых характеристик баз данных, экспорта/импорта информации, паролирования входа в
банк данных и установление разграничения прав доступа пользователей к информации банка и видам ее обработки,
удаления и очистки банка, настройки приятной для Вас цветовой гаммы и звукового сопровождения, оптимизации
банка.
Перечень всех работ АДМИНИСТРАТОРа собран в меню:
Рассмотрим подробнее каждую команду меню АДМИНИСТРАТОРА.
КОПИРОВАНИЕ
Не существует аппаратуры, операционной системы или программного продукта, которые обеспечили бы Вам
полную сохранность данных и программ. Есть только один метод обеспечения сохранности информации - тщательно
выполняемая процедура копирования. Конечно, эта процедура является очень нудной работой, однако это лучше, чем
потерять данные. Режим АДМИНИСТРАТОР - КОПИРОВАНИЕ позволит Вам получать архивные копии банка данных
целиком, а также его отдельных компонентов: описаний отдельных баз, словарей, запросов по образцу, форм ввода и
Инструментальная система управления базами данных
81
вывода, таблиц экспорта - импорта информации, файла входных сообщений. Копия банка данных включает в себя кроме
данных и индексов все компоненты описания за исключением файла входных сообщений и словарей.
Создание резервной копии может осуществляться на дисковый накопитель в каталог любого уровня. Копии банка и
его компонентов представляют собой файлы вида: ****№, где **** - имя копии, № - порядковый номер файла копии.
Если объем копируемой информации превышает объем свободного пространства на дискете, то после его заполнения
система автоматически потребует новую - вторую дискету, потом третью и т.д. В этом случае на второй дискете будет
создан файл ****2, а на третьей ****3. Ниже приведены имена файлов копий всех компонентов банка:
всего банка
описания отдельных баз
словарей
форм ввода
- BD
- IO
- COPYSL
- FV
запросов по образцу
выходных форм
таблиц экспорта/импорта
файла входных сообщений
Например, файлы копии банка данных, записанные
автоматически присвоенные системой при копировании.
- PZAPR
- FRM
- TBNS
- VVOD
на 3 дискеты будут иметь имена: BD1, BD2, BD3,
П: Непонятно, зачем Вы предусмотрели режим копирование отдельных фрагментов описания банка, если полная его копия
все равно включает в себя все компоненты описания?
Р: Если Вы работаете с одним и тем же банком на нескольких компьютерах, не связанных в локальную сеть, и на одном из них
создали несколько выходных форм. Как их перенести на другие компьютеры? Вот для этого и используется режим
КОПИРОВАНИЕ - ВЫХОДНЫЕ ФОРМЫ с последующим восстановлением командой ВОССТАНОВЛЕНИЕ - ВЫХОДНЫЕ
ФОРМЫ.
КОПИРОВАНИЕ БАНКА ДАННЫХ
Данный режим предназначен для создания резервных копий банка данных. При вызове команды КОПИРОВАНИЕ БАНК ДАННЫХ на экран выдается сообщение типа:
Копирование банка данных
Адрес копирования
Копировать данные
Копировать индексы
Архивация
Размер порции (Кб)
D:\COPYBD\
Да/Нет
Да/Нет
Да/Нет
[ Выполнить ] [ Сохранить ] [ Отказ ]
АДРЕС КОПИРОВАНИЯ
КОПИРОВАТЬ ДАННЫЕ
(ДА/НЕТ)
КОПИРОВАТЬ ИНДЕКСЫ
(ДА/НЕТ)
АРХИВАЦИЯ (ДА/НЕТ)
РАЗМЕР ПОРЦИИ (КБ)
Устройство, включая подчиненные каталоги, на которое будут записываться файлы с
копией банка данных. Имя файла копии формируется автоматически и поэтому не
задается. Правила задания адреса копирования стандартны - Вы с ними уже
встречались при работе с системой. Копирование возможно как на винчестер, так и
на дискеты любого формата.
Например, A:\ или D:\COPYBD\
При отказе от копирования данных (опция - Нет) в файл копии будут записаны
структура описания банка, библиотека запросов по образцу, формы ввода и вывода,
таблицы экспорта/импорта информации, т.е. банк без данных.
В целях сокращения времени копирования и уменьшения объема копии индексные
массивы можно не копировать. В этом случае, после восстановления банка Вам
требуется заново сформировать индексы, используя режим АДМИНИСТРАТОР ИНДЕКСНЫЕ МАССИВЫ - ОБНОВЛЕНИЕ ДЛЯ ВСЕГО БАНКА.
Опция ДА подключает встроенную программу архивации, что позволит Вам
уменьшить размер копии, хотя процесс копирования займет больше времени.
Если размер порции не задан, банк копируется на выбранный носитель, максимально
используя его свободное пространство. Как правило, размер порции не задается при
копировании на дискеты. Если Вы явно задаете размер, указав количество килобайт,
копия банка автоматически разбивается на заданные порции. Нажав F2, Вы можете
выбрать размер порции, соответствующий одному из стандартных форматов гибких
дисков. Это удобно при копировании банка на винчестер с последующим переносом
копии на дискеты.
П: Допускается ли копировать банк данных стандартными средствами копирования DOS или программами-архиваторами?
Р: Да, допускается. Но восстановить данные с такой копии сможет лишь версия системы с тем же регистрационным номером,
а копия полученная в режиме КОПИРОВАНИЕ доступна любым нашим системам. Более подробно см. Главу “Защита
информации”.
П: Почему программы-архиваторы типа Arj или Zip так слабо сжимают данные банка, хотя при копировании работают
быстрее чем режим КОПИРОВАНИЕ с архивацией?
Р: Дело в том, что данные на диске хранятся в зашифрованном виде с практически равномерным распределением символов
шифра. Архиваторам просто трудно что-либо сжать. По данным наших тестирований внешние архиваторы сжимают банк
при копировании лишь на 10 - 12 %. При копировании штатными средствами системы с включенным режимом архивации
каждая запись дешифруется, сжимается внутренним архиватором, шифруется и только после этого записывается в файл
копии. Процент сжатия в этом случае около 50 - 60 %, хотя время процесса возрастает в 2.5 - 3 раза по сравнению с
Инструментальная система управления базами данных
82
архивацией внешними программами. Копирование банка данных без архивации сопоставимо по скорости с копированием
файлов в DOS, но при этом сжатия копии не происходит.
П: Как часто надо делать резервное копирование банка данных?
Р: Так часто, чтобы в случае разрушения банка, Вы смогли бы восстановить его с копии, при этом, Ваши действия по повторной
коррекции и вводу информации были бы минимальны.
П: И последний вопрос, сколько копий банка следует иметь?
Р: Мы рекомендуем иметь две резервные копии: "Копия № 1" и "Копия № 2". Изготовление резервных копий осуществляется
попеременно: сначала банк копируется на дискеты, выделенные под "Копию № 1", через определенное время на дискеты "Копии
№ 2", затем снова на дискеты "Копии № 1" и т.д. Восстановление банка в случае его разрушения проводится с последней
копии. На каждой дискете, отведенной под копию, по нашему мнению, Вам следует надписывать: имя копируемого банка
данных, дату копированию и порядковый номер дискеты (в случае, когда для копии банка требуется более одной дискеты).
Своевременное и регулярное копирование на дискеты банка данных и словарей, а также
качественная организация учета времени создания и места хранения копий - залог сохранности
Вашей информации в случае сбоев в работе технических и программных средств!
КОПИРОВАНИЕ ОТДЕЛЬНЫХ КОМПОНЕНТОВ БАНКА
Процедура копирования отдельных компонентов банка ничем не отличается от процедуры копирования его целиком.
Хочется еще раз отметить - все компоненты, за исключением словарей и файла входных сообщений, входят в копию
банка.
РАБОТА С ИНДЕКСНЫМИ МАССИВАМИ
ИНДЕКСНЫЙ МАССИВ значений характеристики (сокращенно - ИНДЕКС10) - вспомогательный файл, содержащий
упорядоченные значения индексируемой характеристики базы и соответствующие им системные номера записей
(информационных объектов), в которых эти значения присутствуют. Система автоматически формирует и поддерживает
индексные массивы по указанным Вами характеристикам. Индексирование во много раз ускоряет процесс поиска, если
одной из поисковых характеристик является индексная. Однако на построение и поддержание индексных массивов
затрачивается дополнительное время, что удлиняет процессы ЗАГРУЗКИ и КОРРЕКЦИИ, а также увеличивает объем
банка. Индекс может создаваться для любых характеристик базы, исключая отсылки. На экране в режиме РАЗОВЫЙ
ЗАПРОС номера индексных характеристик выделены цветом, различным в зависимости от типа индекса.
Физически под хранение каждого индекса системой отводится два файла, располагаемых в директории банка
данных:
В<№ базы><№ поля>.DAT - файл индексов;
В<№ базы><№ поля>.ТАD - файл адресного пространства индексов.
где, <№ базы> - двузначный номер базы в списке баз банка;
<№ поля> - трехзначный номер поля (десятая графа таблицы описания характеристик
базы) характеристики в базе.
Например, В02009.DAT и В02009.ТAD - файл индекса и его адресного пространства для
характеристики из второй базы с девятым номером поля.
Список команд работы с индексными массивами включает четыре пункта меню:
ОБНОВЛЕНИЕ ДЛЯ ВСЕГО БАНКА
10
- заново формируются индексные массивы всех характеристик банка,
В литературе иногда можно встретить название “инвертированные списки” или “инвертированные файлы”.
Инструментальная система управления базами данных
ОБНОВЛЕНИЕ ДЛЯ ОТДЕЛЬНЫХ
БАЗ
СОЗДАНИЕ/УДАЛЕНИЕ ИНДЕКСОВ
НЕИНДЕКСИРУЕМЫЕ СИМВОЛЫ
83
которые Вы в режиме СОЗДАНИЕ/УДАЛЕНИЕ определили как
индексные.
- заново формируются индексные массивы всех индексных
характеристик в помеченных Вами базах. Для пометки баз используйте
клавишу Enter.
- служит для работы с отдельными индексами конкретной базы данных
текущего банка. Позволяет создавать или удалять индексы
характеристик базы, а также формировать заново индекс любой
характеристики базы, исключая отсылки, по которым индекс не
строится.
режим, позволяющий корректировать "список запрещенных" символов,
которые не участвуют в построении индекса по словам. Список
уникален в пределах одного банка. По умолчанию "список
запрещенных символов" имеет вид:
'".,():;{}[]/?\!@#$%&*<>+_
В системе предусмотрено два типа индексов, но для каждой характеристики Вы можете использовать лишь один:
ПОЛНЫЙ ИНДЕКС создается для любых типов характеристик, кроме текстовых, превышающих длину 250 символов,
для которых автоматически создается индекс по словам. При построении индекса используется полная
длина значений индексируемых характеристик. Рекомендуется для характеристик типа Ц, Д, Т, КА, КЦ,
КТ, а также для текстовых характеристик длиной менее 250 символов, имеющих в значении одно слово.
Например, ФАМИЛИЯ или ИМЯ. Только этот тип индекса может быть использован для
идентифицирующих характеристик (см. раздел “Описание состава характеристик базы”). Обозначается
символом "+" в графе ИНДЕКС. В режиме РАЗОВЫЙ ЗАПРОС номера характеристик, по значениям
которых поддерживается полный индекс, в стандартной цветовой гамме подсвечены красным цветом.
ИНДЕКС ПО СЛОВАМ создается только для текстовых характеристик путем индексирования каждого слова, при этом
игнорируются символы, указанные в поле неиндексируемых символов. При построении ИНДЕКСА Вы
можете исключить незначащие слова типа предлогов и союзов (ОТ, ЗА, В, ИЗ ....), задав минимальную
длину индексируемых слов в графе МИН.ДЛИНА СЛОВ. Например, при минимальной длине равной 3
не участвуют в построении индекса слова длиной в 1 и 2 символа. Этот тип индекса не может быть
использован для идентифицирующих характеристик в описании баз. Обозначается символом "*" в
графе ИНДЕКС. В режиме РАЗОВЫЙ ЗАПРОС номера характеристик, по значениям которых
поддерживается индекс по словам, в стандартной цветовой гамме подсвечены зеленым цветом.
Например, таблица создания/удаления индексов для базы ОРГАНИЗАЦИЯ может иметь вид:
№
01
02
12
Название характеристики
Название организации
Организационно-правовая форма
...
Дополнительные сведения
Тип
Длина
Т
КА
150
2
Т
20000
Индексные массивы
Мин.длина
Индекс
слова
+
+
*
2
Итак, чтобы определить характеристику к качестве индексной Вам потребуется:
- выбрать команду ИНДЕКСНЫЕ МАССИВЫ - СОЗДАНИЕ/УДАЛЕНИЕ;
- указать базу, в которой описана характеристика;
- переместить курсор на название характеристики и нажать Enter;
- выбрать тип индекса (если он не устанавливается по умолчанию) и задать для индекса по словам длину
минимального слова, участвующего в построении индекса;
 запустить формирование индекса.

П: Мне не совсем понятен процесс построения индексов и поиска по ним. Можно ли рассмотреть его на примере?
Р: Хорошо. Забудем на минуту о компьютерных информационных системах и рассмотрим процесс работы с обычной
картотекой, в которой хранятся данные на лиц, записанные на отдельных бумажных анкетах. Как Вы расположите их в
картотеке?
П: Конечно по алфавиту.
Р: Правильно. В этом случае, чтобы найти анкету на лицо по фамилии Федоров Вы не будете искать по всей картотеке, а сразу
откроете раздел на букву “Ф” и быстро найдете данные на искомое лицо. Но если Вам потребовались анкеты на лиц с именем
Андрей, то в этом случае придется воспользоваться полным перебором всей картотеки, т.к. карточки расставлены по
алфавиту фамилий, а не имен.
П: Как же быть? Ведь может возникнуть необходимость быстрого поиска по адресу или году рождения.
Р: Построим простейший индекс по имени. Для этого каждой анкете присвоим уникальный номер и расположим их в картотеке
по возрастанию номеров.. Составим таблицу соответствия всех встречающихся имен и номеров соответствующих им анкет.
Например, Алексей - 13, 247, 490, 7891 ; Андрей - 18, 19, 87, 681; ... Теперь чтобы отобрать лиц с именем Андрей, Вы по
индексу находите номера анкет и выбирает их из картотеки. Аналогичный индекс можно построить по фамилии и другим
характеристикам описания лиц, по которым необходим быстрый поиск. Но при заполнении новых анкет или коррекции старых
Вам придется вместе с анкетами корректировать и индексы. А при работе с системой Вам требуется только отметить
индексные характеристики, а все остальное система сделает сама.
П: И еще один вопрос. Вы пишете, что индекс по словам не может использоваться для характеристик, которые выбраны в
качестве идентифицирующих. Для моей базы “Организация” мне требуется идентифицировать по названию и
одновременно строить по значениям этой характеристики индекс по словам. Как быть?
Инструментальная система управления базами данных
84
Р: Вы в описание базы “Организация” добавляете новую характеристику - “Название организации - 2” и, используя аппарат
формул, формируете ее значение равным значению характеристики “Название организации”. После этого по первой Вы
идентифицируете и, соответственно, строите полный индекс, а по второй - индекс по словам.
П: Можно ли определить характеристику как индексную, в случае если записи в базе уже есть?
Р: Конечно. Вы с помощью режима АДМИНИСТРАТОР - ИНДЕКСНЫЕ МАССИВЫ - СОЗДАНИЕ/УДАЛЕНИЕ определяете
характеристику как индексную и формируете индекс для всех введенных записей. После этого система будет поддерживать
индекс по этой характеристике автоматически.
П: Допустимо ли корректировать список неиндексируемых символов при наполненном банке данных при условии, что
индексы уже созданы?
Р: Да, допустимо. Вы можете по Вашему усмотрению изменять список типовых неиндексируемых символов для каждого банка.
Но после каждой коррекции списка Вам придется заново сформировать индексы по всему банку для характеристик с индексом
по словам.
П: Если я удалил индекс, т.е. сделал характеристику неиндексную, надо ли проводить переиндексирование всех индексных
характеристик в базе?
Р: Нет, не надо. По этой характеристике прекращается автоматическая поддержка индексов, а все другие “работают” как и
прежде.
ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ ИНДЕКСИРОВАНИЯ.
Если при формировании индекса требуется прервать процесс - нажмите Esc. При очередной попытке восстановления
индекса Вы сможете продолжить процесс с места остановки.
Для выдачи в файл количества записей и списка индексных характеристик в базах:
- выберите режим СОЗДАНИЕ/УДАЛЕНИЕ;
- нажмите F5 и задайте имя файла (например, C:\DOC\INDEKS)
И наконец, в случае построения индексов нескольких характеристик из различных баз Вы можете отказаться от
индексирования каждой характеристики в отдельности, а сформировать их для всех сразу. Для этого:
- создайте индексы для требуемых характеристик, задав необходимые параметры, но на вопрос НАЧАТЬ
ФОРМИРОВАНИЕ ИНДЕКСА укажите НЕТ;
- используя режимы ОБНОВЛЕНИЕ для ВСЕГО БАНКА или ОБНОВЛЕНИЕ для ОТДЕЛЬНЫХ БАЗ,
восстановите индексы для отмеченных характеристик.
РЕВИЗИЯ БАНКА ДАННЫХ
Данный режим предназначен для ревизии банка данных целиком, отдельных баз или отдельных записей банка с
выдачей диагностического сообщения о выявленных ошибках (КОНТРОЛЬ ЦЕЛОСТНОСТИ) и устранения
некорректных значений характеристик (ВОССТАНОВЛЕНИЕ ЦЕЛОСТНОСТИ), которые могут возникать в результате
неустойчивой работы компьютера или воздействия компьютерных вирусов. Список команд режима РЕВИЗИЯ приведен
на следующем рисунке:
Ревизия ВСЕГО БАНКА осуществляет контроль целостности всех записей всех баз банка с выдачей
диагностического сообщения и последующим исправлением найденных ошибок.
Ревизия ОТДЕЛЬНЫХ БАЗ осуществляет контроль целостности лишь в указанных Вами базах.
Инструментальная система управления базами данных
85
Ревизия по РЕЗУЛЬТАТАМ ПОИСКА позволяет направлять на ревизию отдельные записи базы, при условии, что
они были предварительно отобраны в режиме ОБРАБОТКА и сохранены командой ЗАПОМНИТЬ.
Имя файла с результатами поиска задается после определения всех параметров ревизии.
Ревизия ИНДЕКСОВ производит проверку соответствия записей индексных файлов записям банка, но
восстановления индексов не производит. Для коррекции ошибочных индексов используйте режим
АДМИНИСТРАТОР - ИНДЕКСНЫЕ МАССИВЫ. При ревизии индексов у Вас имеется
возможность в восстанавливать индексы отдельных характеристик, пометив их предварительно
Enter, а. также прервать их проверку без сохранения места останова (Esc).
Ревизия СТРУКТУРЫ банка данных позволяет Вам проверить правильность описания банка, описанную в режиме
ПРОЕКТИРОВАНИЕ - БАНК ДАННЫХ - ОПИСАНИЕ СТРУКТУРЫ, с выдачей диагностики в
файл.
Процесс РЕВИЗИИ банка или отдельных баз проходит в два этапа:
1 этап - КОНТРОЛЬ ЦЕЛОСТНОСТИ. Во время первого этапа производится лишь выявление ошибок по
заданным Вами параметрам без исправления. Параметры контроля задаются таблицей, которую мы
разберем ниже. По окончании ПЕРВОГО этапа Вы можете просмотреть или распечатать отчет о
ревизии, который автоматически записывается в файл системного каталога. Имя файла задается в
первом поле таблицы (например, OTVET).
2 этап - ВОССТАНОВЛЕНИЕ ЦЕЛОСТНОСТИ. Этап устранения ошибок может и не понадобиться в случае, если
система контроля ошибок не выявит. В случае, если ошибки в данных все же найдены, система
попытается их автоматически исправить после подтверждения с Вашей стороны. Вы можете
восстановить целостность во всех “ошибочных” базах, пометив их клавишей “+”, либо в отдельных
базах, пометив их клавишей Enter. Возможно также автоматическое (без подтверждения)
исправление ошибок при условии опции ДА в поле АВТОМАТИЧЕСКОЕ ВОССТАНОВЛЕНИЕ
ЦЕЛОСТНОСТИ. Правила исправления различных типов ошибок описаны при рассмотрении
параметров процесса ревизии.
При выборе любого из трех пунктов меню на экран выдается таблица, которая задает параметры процесса ревизии.
Рассмотрим более подробно назначение каждого поля таблицы:
ИМЯ ФАЙЛА ОШИБОК - поле, в котором Вы можете задать имя файла, в который автоматически будет записан
отчет о проведенной ревизии, а после восстановления целостности - отчет об изменениях в банке,
происшедших после исправления ошибок. Если отчет не нужен - имя текстового файла не задается.
СОХРАНЕНИЕ РЕЗУЛЬТАТОВ РЕВИЗИИ - поле таблицы, отведенное под имя файла, в котором автоматически
будут сохранены системные номера ошибочных записей, выявленных ревизией. В дальнейшем,
используя режим ОБРАБОТКА - РЕЗУЛЬТАТ ПОИСКА, Вы сможете отобрать ошибочные записи
для просмотра или коррекции. Для каждой базы формируется свой файл, который состоит из двух
частей:
<имя файла><№ базы>.0 - строчная запись запроса для отбора ошибочных объектов;
<имя файла><№ базы>.1 - список системных номеров ошибочных объектов.
Например, задав имя файла REVIZ, в случае обнаружения в 3-й базе ошибок в системный
каталог запишутся два файла REVIZ3.1 и REVIZ3.0
Файл ошибочных системных номеров формируется только после завершения первого этапа
ревизии. Если процедура проверки была Вами прервана клавишей Esc - файл не сформируется.
Если Вы сохранили результаты ревизии, а в последствии довели проверку до конца - файл будет
Инструментальная система управления базами данных
86
сформирован по ее окончании. Если имя файла не задано - файлы ошибочных системных
номеров не формируются.
АВТОМАТИЧЕСКОЕ ВОССТАНОВЛЕНИЕ ЦЕЛОСТНОСТИ (Да) подключает исправление обнаруженных
ошибок по мере их выявления без дополнительного запроса. Первый и второй этапы ревизии
проходят без дополнительного подтверждения с Вашей стороны. Опция (Нет) запрашивает
разрешение на исправление обнаруженных ошибочных записей с предварительной диагностикой
ошибок.
КОНТРОЛЬ АДРЕСА И РАЗМЕРА ЗАПИСИ проверяет каждую запись на непревышение допустимого размера,
который не может превышать 64 Кбайта, а также контролирует адреса записей, которые не могут
выходить за пределы адреса, определяемого текущим размеров файла данных. Это очень
неприятная ошибка, при восстановлении которой такие записи удаляются.
КОНТРОЛЬ ЗНАЧЕНИЙ ХАРАКТЕРИСТИК, ОТСУТСТВУЮЩИХ В ОПИСАНИИ подключает проверку наличия
в записях значений характеристик, отсутствующих в описании базы. Такая ситуация возникает в
случае, если Вы из описания базы с помощью режима ПРОЕКТИРОВАНИЕ - БАНК ДАННЫХ ОПИСАНИЕ СТРУКТУРЫ удаляете характеристику, у которой в записях имелись ранее
загруженные значения. Эти значения при удалении характеристики из описания остаются в базе,
хотя доступа к ним Вы уже не имеете. Такие значения удаляются при восстановлении целостности.
КОНТРОЛЬ ПУСТЫХ ЗНАЧЕНИЙ включает проверку характеристик и отсылок на наличие у них пустых полей,
которые при восстановлении целостности удаляются.
КОНТРОЛЬ ОДИНАКОВЫХ ЗНАЧЕНИЙ проводит проверку множественных характеристик и множественных
отсылок на связанные базы на наличие у них одинаковых значений. При восстановлении
целостности дубли удаляются.
КОНТРОЛЬ НЕКРАТНЫХ ЗНАЧЕНИЙ НА КРАТНОСТЬ дает возможность выявить записи, в которых
немножественные характеристики и немножественные отсылки на связанные базы имеют более
одного значения. Ошибки такого рода могут возникать, если Вы:
- в описании базы при наличии в ней загруженных записей изменяли кратность характеристик множественную переопределили как немножественную;
- при импорте данных несколько значений характеристики транслировали в немножественную
характеристику.
Для устранения этой ошибки Вы можете:
- провести восстановление целостности, после которого все значения таких
характеристик, кроме первого, будут удалены;
- отказаться от восстановления целостности и, используя режим ПРОЕКТИРОВАНИЕ БАНК ДАННЫХ - ОПИСАНИЕ СТРУКТУРЫ, установить множественную кратность
для таких характеристик. Такой процедурой Вы сохраните свои данные.
После коррекции описания мы рекомендуем повторно провести ревизию, чтобы убедиться, что
найденные ошибки исчезли.
КОНТРОЛЬ ДЛИН ЗНАЧЕНИЙ характеристик обеспечивает проверку непревышения реальной длины значений
каждой характеристики ее максимальной длине, заданной в описании базы в режиме
ПРОЕКТИРОВАНИЕ - БАНК ДАННЫХ - ОПИСАНИЕ СТРУКТУРЫ. Такое превышение могло
произойти, если Вы:
- уменьшали максимальную длину характеристики в описании непустой базы;
- импортировали данные из текстовых или dBF- файлов и длины значений отдельных
характеристик могли превышать их максимальную длину, заданную при проектировании базы.
Для устранения этой ошибки Вы можете:
- провести восстановление целостности, после которого такие характеристики будут
укорочены, но при этом часть информации для Вас будет безвозвратно потеряна;
- отказаться от восстановления целостности и, используя режим ПРОЕКТИРОВАНИЕ БАНК ДАННЫХ - ОПИСАНИЕ СТРУКТУРЫ, увеличить максимальную длину тех
характеристик, в которых обнаружено превышение длины. Такой процедурой Вы
сохраните свои данные. После коррекции описания мы рекомендуем повторно
провести ревизию, чтобы убедиться, что найденные ошибки исчезли.
КОНТРОЛЬ ТИПА ХАРАКТЕРИСТИК включает проверку значений характеристик типа дата (тип Д), время (В) и
цифра (Ц) на несоответствие типу, заданному при описании базы в режиме ПРОЕКТИРОВАНИЕ БАНК ДАННЫХ - ОПИСАНИЕ СТРУКТУРЫ. Такое несоответствие могло произойти, если Вы
некорректно изменяли тип характеристики в описании базы, в которую уже были загружены
записи. Для устранения этой ошибки Вы можете:
- провести восстановление целостности, после которого значения таких характеристик будут
удалены;
- отказаться от восстановления целостности и, используя режим ПОСЛЕДОВАТЕЛЬНОЙ
КОРРЕКЦИИ, вручную откорректировать ошибочные значения;
- отказаться от восстановления целостности и изменить тип таких характеристик в описании баз,
используя режим ПРОЕКТИРОВАНИЕ - БАНК ДАННЫХ - ОПИСАНИЕ СТРУКТУРЫ.
КОНТРОЛЬ КОДА НА ОТСУТСТВИЕ ЕГО В СЛОВАРЕ осуществляет проверку кодируемых характеристик (тип
КЦ, КА, КТ) на наличие их значений в соответствующем словаре, при условии включения опции
КОНТРОЛИРОВАТЬ ТИП ХАРАКТЕРИСТИКИ. Напомним, что соответствие между
характеристикой и словарем устанавливается при описании базы в режиме ПРОЕКТИРОВАНИЕ -
Инструментальная система управления базами данных
87
БАНК ДАННЫХ - ОПИСАНИЕ СТРУКТУРЫ. Такая ошибка могла возникнуть в случае, если Вы:
- удаляли понятия из словаря при наличии ранее введенных кодов в записях базы;
- вводили в записи коды, отсутствующие в словаре;
- некорректно проводили изменение типа характеристик в описании базы (например, тип Ц
заменили на тип КА).
При восстановлении целостности такие значения не корректируются. Для устранения ошибок
такого типа мы можем рекомендовать Вам, используя режимы ПОСЛЕДОВАТЕЛЬНОЙ или
МАССОВОЙ КОРРЕКЦИИ, удалить или откорректировать отсутствующие в словаре коды
и/или с помощью режима ПРОЕКТИРОВАНИЕ - СЛОВАРИ внести в словари дополнительные
понятия.
КОНТРОЛЬ ОТСЫЛОК НА СВЯЗАННЫЕ БАЗЫ проводит ревизию взаимосвязанных отсылок между базами.
Напомним, что значение любой отсылки формируется из порядкового номера связанной базы (два
первых символа) и системного номера записи в связанной базе.
Например, значение отсылки равное 051987 означает, что текущая запись в базе связана с
системным номером 1987 в базе № 05.
При ревизии и восстановлении целостности отсылок возможны следующие ситуации:
ОТСУТСТВУЕТ ВЗАИМОСВЯЗАННАЯ ОТСЫЛКА - ошибка выявляется в случае, если в паре
взаимосвязанных объектов в одном из них отсутствует отсылка на второй, хотя в другом она
имеется. При восстановлении целостности отсутствующая отсылка будет восстановлена.
ОТСЫЛКА СВЯЗАНА С НЕСУЩЕСТВУЮЩЕЙ БАЗОЙ - ошибка выявляется в случае, если в
отсылке хранится номер базы, отсутствующей в описании банка. При восстановлении
целостности поле отсылки будет очищено.
ОТСЫЛКА СВЯЗАНА С НЕДОПУСТИМОЙ БАЗОЙ - в этом случае, в поле отсылки хранится
номер существующей базы, однако, связь с ней не установлена в описании структуры банка.
При восстановлении значение отсылки удаляется.
В ЗНАЧЕНИИ ОТСЫЛКИ ХРАНИТСЯ НЕСУЩЕСТВУЮЩИЙ СИСТЕМНЫЙ НОМЕР
связанной базы - при восстановлении такая отсылка удаляется.
В ЗНАЧЕНИИ ОТСЫЛКИ ХРАНЯТСЯ НЕЦИФРОВЫЕ СИМВОЛЫ - при восстановлении
отсылка будет удалена.
КОНТРОЛЬ НАЛИЧИЯ В ЗАПИСЯХ НЕДОПУСТИМЫХ СИМВОЛОВ обеспечивает проверку записей на
наличие недопустимых символов, список которых приведен ниже. При восстановлении
целостности недопустимые символы удаляются, заменяются на пробелы или игнорируются, в
зависимости от выбранной Вами опции. Список недопустимых символов: коды ASCII с 0 по 31,
246, 248-252, 255.
Вы имеете возможность прервать ревизию, нажав Esc, и сохранить результаты проделанной работы, что позволит
Вам впоследствии продолжить процесс с места остановки.
П: Как часто следует проводить процедуру ревизии банка?
Р: По-нашему мнению, перед каждым архивным копированием банка, а также в случае неадекватной реакции системы при
работе с банком.
П: Как долго проходит ревизия?
Р: Это зависит от многих условий - от производительности ПЭВМ, от общего объема Вашего банка, от количества баз,
отобранных для ревизии, а также от опций, задающих процедуру ревизии. Так, например, отказ от контроля одинаковых
значений поля дает значительный выигрыш во времени в случае наличия в банке характеристик с большой кратностью
значений.
ЭКСПОРТ / ИМПОРТ ДАННЫХ
Режим АДМИНИСТРАТОР-ЭКСПОРТ/ИМПОРТ выполняет функции приема-передачи и обработки
информационных сообщений при обмене данными между информационными системами на базе структурированного
текстового файла, а также данных из DBF-формата.
Итак, что такое "структурированный текстовый файл"? Структурированный текстовый файл представляет собой
обычный текстовый файл определенной структуры, состоящий из информационных сообщений.
Информационное сообщение представляет собой совокупность взаимосвязанных объектов банка данных,
объединенных корневым объектом, представленных в следующем формате:
++ НН/№1 <значение характеристики №1>/№2 <значение характеристики №2>..../
++ ХХ/№1 <значение характеристики №1>/№2 <значение характеристики №2>..../
++ YY/№1 <значение характеристики №1>/№2 <значение характеристики №2>..../
......................
++ KK/
где, ++ - метка начала объекта;
НН - стандартное начало сообщения и одновременно - имя корневого объекта;
XX, YY - имя базы;
/ - стандартный разделитель;
№1 - внешний номер характеристики;
КК - стандартная метка конца сообщения.
В качестве значения отсылок выступает имя связанной базы с буквенным или числовым индексом. Значения простых
характеристик формируются из значений в базе. Пустые значения не транслируются. Кратные значения реквизитов
Инструментальная система управления базами данных
88
отделяются друг от друга разделителем для кратных значений, который обозначается по умолчанию";". Порядок
следования реквизитов в составе системных объектов не задается и может быть произвольным.
В объектах информационного сообщения могут присутствовать стандартные сочетания символов:
МГ/ - метка группы; и
ВГ/ - вложенная группа - группа характеристик внутри группы, которые указывают на вложенность объектов.
При формировании значений реквизитов в текстовом файле необходимо учитывать следующее:
а) Все реквизиты типа "дата" оформляются в одном из следующих видов:
ЧЧММГГ, ММГГ или ГГ. Например: 050190, 0190 или 90;
б) Значения отсылок всегда представляются в виде:
<связка имени базы и цифрового номера или одной или нескольких русских букв без пробела>.
Пример 7.1.
Если в "подчиненном" объекте отсутствует характеристика типа Ц (цифра) с внешним номером 1
или она не заполнена (как правило, данная характеристика отводится под ПОРЯДКОВЫЙ
НОМЕР ОБЪЕКТА во внешней картотеке), то связка формируется путем автоматической
генерации буквенного эквивалента, т.е. принудительно создается характеристика с внешним
номером 1 (если ее не было) и ей присваивается буквенное значение.
++ НН/90 ЛЦА/++ ЛЦА/01 А/04 Иванов/05 ../06 ../++ КК/
--->"буквенный эквивалент” цифровой характеристики № 1
Пример КРАТНОЙ отсылки:
++ НН/90 ЛЦА;ЛЦБ/++ ЛЦА/01 А/04 Иванов/05 .../06 .../++ ЛЦБ/ 01 Б/ 04 Сергеев/05 .../06 .../++
КК/
В рамках одного сообщения буквенные символы объектов одного класса не должны повторяться.
Если в "подчиненном" объекте присутствует непустая характеристика с идентификатором № 1, то связка
формируется через ее цифровое значение:
++ НН/90 ЛЦ229/++ ЛЦ/01 229/04 Иванов/05 ../06 ../++ КК/
-----> значение цифровой характеристики № 1
в) Формируемые в рамках базы ГРУППЫ РЕКВИЗИТОВ снабжаются меткой МГ, которая оформляется как реквизит
с идентификатором МГ, но без значения: МГ/. Меткой МГ снабжается каждая реализация группы реквизитов.
Пример 7.2.
Группа реквизитов "Командировка" объекта ЛИЦО, состоящая из двух реализаций, оформляется
следующим образом:
МГ/34 ФРГ/36 270390/37 310390/ МГ/34 ЮАР/36 010490/37 030490/
В рамках группы реквизитов может формироваться так называемая ВЛОЖЕННАЯ ГРУППА, состоящая из одной
или нескольких реализаций. Перед каждой реализацией вложенной группы автоматически формируется специальная
метка вложенной группы: ВГ/, которая оформляется аналогично метке группы МГ.
Например, связка баз
ЛИЦО
-------> -1 ------- "Проживание"
>
-------> -1 ------- "Адрес"
>
МГ/64 1287/ВГ/25 Московская обл/26 Москва/27 Радио ул/29 3 /31 45/
Если в состав вложенной группы в свою очередь входит другая вложенная группа, она также выделяется меткой ВГ/.
г) В конце описания содержательной части сообщения ставится метка окончания: ++ КК/.
Теперь перейдем к рассмотрению вопроса проектирования таблиц трансляции, формируемых в режиме
ПРОЕКТИРОВАНИЕ - ТАБЛИЦЫ ЭКСПОРТ/ИМПОРТ - ТЕКСТОВЫЙ файл.
ПРОЕКТИРОВАНИЕ ТАБЛИЦ ТРАНСЛЯЦИИ в ТЕКСТОВЫЙ ФАЙЛ.
Режим ПРОЕКТИРОВАНИЕ-ТАБЛИЦЫ ЭКСПОРТ/ИМПОРТ-ТЕКСТОВЫЙ ФАЙЛ (см.рис.7.6) позволяет
создавать таблицы трансляции, которые определяют соответствие между структурой описания банка данных и
текстовым файлом, как при экспорте, так и при импорте информации.
Инструментальная система управления базами данных
89
Рис.7.6. Состав режимов проектирования таблиц экспорта/импорта.
При задании режима на экран выдается таблица, содержащая список таблиц трансляции.
№
Имя таблицы
Список таблиц настройки
Комментарий
Для СОЗДАНИЯ новой таблицы - нажать Ins, подтвердить создание таблицы и указать имя и, если требуется,
комментарий к создаваемой таблице. Для ВХОДА в таблицу - выбрать таблицу из списка и нажать F10. Для
УДАЛЕНИЯ таблицы - выбрать таблицу из списка, нажать Del и подтвердить удаление таблицы. Для
ПЕРЕИМЕНОВАНИЯ таблицы - выбрать таблицу из списка, нажать Enter и дать новое имя. Повторное нажатие
клавиши Enter позволит внести изменения в комментарий к таблице.
Для ВЫДАЧИ таблиц экспорта\импорта в текстовый файл. выбрать ее из списка , нажать
указать параметры выдачи.
F10, затем F5 и
Выдача в файл таблиц настройки
Имя файла выдачи
[Выполнить] [Сохранить] [Отказ]
При задании имени используйте клавишу F2.
После нажатия клавиши F10 на экран выдается таблица, содержащая перечень баз текущего банка
Таблица 7.3.
№
1
2
Название базы
Библиография
Организация
Имя
ББ
РГ
Наличие
таблицы
Нет
Нет
Ограничение
связности
2
Настроечные таблицы для КАЖДОЙ базы создаются индивидуально. Для создания настроечной таблицы выбрать
строку с названием базы и нажать Enter. Подтвердить создание. Настроечные таблицы следует создавать лишь для баз,
которые предполагается транслировать.
Поле ОГРАНИЧЕНИЕ СВЯЗНОСТИ позволяет накладывать ограничение на глубину связей для каждой базы и
задается целым числом. Если число отсутствует - ограничение не установлено. Это поле используется только при
импорте информации из банка в текстовый файл. Так, например, в приведенном выше примере для базы
ОРГАНИЗАЦИЯ ограничение связности 2 говорит о том, что в любой цепочке первая организация будет
импортироваться с полным составом характеристик, вторая лишь в составе простых, а третья и все последующие
импортироваться не будут.
В случае ошибочного создания настроечной таблицы для ее УДАЛЕНИЯ используется клавиша Del.
В данный момент Вы имеете возможность для изменения стандартных разделителей,
устанавливаемых по умолчанию. Для этого нажмите F2 и откорректируйте их в таблице.
Инструментальная система управления базами данных
90
КОРРЕКЦИЯ РАЗДЕЛИТЕЛЕЙ, ИСПОЛЬЗУЕМЫХ ПРИ ТРАНСЛЯЦИИ
Начало пакета
Конец пакета
Основной разделитель
Начало сообщения
Конец сообщения
Разделитель перед мнемокодом ИО
Разделитель между значениями характеристик
Мнемокод множественной группы
Мнемокод вложенной группы
Список запрещенных символов
Автоматически генерируемый идентификатор в корневом объекте
/
++ НН
++ КК
++
;
МГ
ВГ
Для КОРРЕКЦИИ любого из разделителей переместить текущую строку в требуемое поле и произвести изменение.
В качестве ОСНОВНОГО РАЗДЕЛИТЕЛЯ и РАЗДЕЛИТЕЛЯ МЕЖДУ ЗНАЧЕНИЯМИ ХАРАКТЕРИСТИК нужно
использовать те символы, которые не могут встретиться в тексте транслируемого сообщения. Например, символы
(Alt+176) или
(Alt+177). Таким образом Вы сможете избежать ошибок при трансляции возникающих в случае
использования часто используемых символов.
Поля НАЧАЛО и КОНЕЦ пакета зарезервированы для передачи сообщений по каналу связи, а также могут быть
использованы для экспорта-импорта данных между банками данных с различающейся структурой.
В поле СПИСОК ЗАПРЕЩЕННЫХ СИМВОЛОВ заносится перечень символов, которые при трансляции
ПРОПУСКАЮТСЯ. Это удобно использовать в случае, если имеются символы, недопустимые в канале связи или другой
системе.
Например: Если "/" - запрещенный символ, то "п/я" транслируется в "пя".
В поле АВТОМАТИЧЕСКИ ГЕНЕРИРУЕМЫЙ ИДЕНТИФИКАТОР В КОРНЕВОМ объекте имеется возможность
задать идентификатор, который при трансляции в текстовый файл будет автоматически генерироваться в корневом
объекте. По умолчанию, генерируется идентификатор "90".
Например: Требуется экспортировать в текстовый файл лиц в составе реквизитов: "04 Фамилия", "05 Имя", "06
Отчество".
При отборе информации из банка строчная запись запроса имеет вид: ОТ ЛЦ01. Если автоматически генерируемый
идентификатор не задан (принимается по умолчанию), то фрагмент текстового файла может выглядеть следующим
образом:
++ НН/90 ЛЦА/
++ ЛЦ/01 А/04 Иванов/05 ../06 ../++ КК/++
----> идентификатор, генерируемый по умолчанию
Если в поле АВТОМАТИЧЕСКИ ГЕНЕРИРУЕМЫЙ ИДЕНТИФИКАТОР В КОРНЕВОМ объекте задать новый
идентификатор, например "987", фрагмент текстового файла примет вид:
++
НН/987 ЛЦА/ ++ ЛЦ/01 А/04 Иванов/05 ../06 ../++ КК/
-----> идентификатор, генерируемый таблицей разделителей при экспорте.
ЗАПОЛНЕНИЕ НАСТРОЕЧНОЙ ТАБЛИЦЫ.
Настроечная таблица каждой базы содержит автоматически формируемые графы и графы заполняемые самим
пользователем.
Графы 1-6 формируются автоматически в соответствии со структурой банка, описанной в режиме "Настройка".
Информация граф 1-4,6 коррекции не подлежит и служит лишь для информирования пользователя.
Информация граф 5,7-10 вводится и корректируется пользователем.
Таблица 7.4.
№
1
Наименование
характеристики
2
Тип
3
Кратность
4
Внеш.
№
5
Связ.
Базы
6
Реж
код
дек
7
Диапазоны
недопустимых
кодов
8
Постоянное
значение
9
Значение
перед
характеристикой
10
Порядок трансляции любой характеристики описывается одной строкой таблицы.
Теперь рассмотрим порядок заполнения граф 5-10 при формировании таблицы ЭКСПОРТА и ИМПОРТА
информации.
Инструментальная система управления базами данных
91
ГРАФА ПЯТАЯ
а) В 5 графу таблицы-ЭКСПОРТА ставится номер, который определяет с каким номером значение данной
характеристики будет выдано в текстовый файл (при создании таблицы автоматически ставится номер из шестой графы
таблицы описания состава характеристик базы). Рассмотрим два варианта заполнения.
1) Заполнение графы для ПРОСТОЙ ХАРАКТЕРИСТИКИ.
В этом случае внешний номер может принимать два значения:
- "0" или ПУСТО, если значение характеристики не требуется транслировать;
- положительное число.
Пример: Имеем следующий фрагмент таблицы-ЭКСПОРТА
Наименование
характеристики
2
Фамилия
Имя
Отчество
Дата рождения
№
1
04
05
06
11
...
21
Дополнительные
данные
...
Тип
3
Т
Т
Т
Д
Кратность
4
Внеш.
№
5
104
105
0
111
Ф
..
121
Значением характеристики типа ФАЙЛ является имя файла. При трансляции этой характеристики в текстовый файл
выдается содержание соответствующего файла .
Таким образом, при трансляции значений простых характеристик базы через приведенную выше таблицу фрагмент
текстового файла будет иметь следующий вид:
. . . /104 Иванов/105 Сергей/111 290560/. . . /121 Участвовал в семинаре по проблемам.../
Имеется возможность импортировать в текстовый файл значения разных реквизитов с ОДИНАКОВЫМИ
ВНЕШНИМИ НОМЕРАМИ. Для этого при заполнении 5 графы одинаковые внешние номера должны быть помечены
клавишей F2. Без предварительной пометки режим КОНТРОЛЯ ТРАНСЛЯЦИИ выявит эту неточность и выдаст
диагностическое сообщение. Этот прием можно использовать при трансляции из одного банка в другой, при этом
информацию нескольких характеристик объединить в одной характеристике.
Пример: Имеем следующий фрагмент таблицы-ЭКСПОРТА
№
04
05
06
11
..
Наименование
характеристики
Фамилия
Имя
Отчество
Дата рождения
Тип
Кратность
Т
Т
Т
Д
Внеш.
№
101
101
101
102
...
При заполнении графы 5 для характеристик 04,05,06, указав внешний номер 101, требуется нажать клавишу F2.
Тогда фрагмент текстового файла будет иметь следующий вид:
. . . /101 Иванов/101 Сергей/101 Иванович/111 290560/. . .
2) Заполнение графы для ОТСЫЛКИ.
При экспорте значений ОТСЫЛОК внешний номер может принимать одно из трех значений:
- "0" или пусто, если значение транслировать не требуется;
- отрицательное число, если подчиненный объект в текстовый файл выдается как ГРУППА
ХАРАКТЕРИСТИК;
- положительное число, если подчиненный объект в текстовый файл транслируется как СИСТЕМНЫЙ
ОБЪЕКТ.
Например: Имеем следующий фрагмент таблицы-ЭКСПОРТА:
№
1
04
25
34
38
Наименование
характеристики
2
Фамилия
Место жительства
Командировка
Место работы
. . .
Тип
Кратность
3
Т
П
П
П
Внеш.
№
Связ.
базы
4
5
6
М
М
04
0
-1
38
АД
КМ
РГ
Инструментальная система управления базами данных
92
Значение характеристики N 25 транслировать не требуется , поэтому в 5 графе "0"(можно не заполнять).
В 5 графу для характеристики N 34 заносится значение "-1". Это значит, что подчиненный объект "Командировка"
будет выдаваться в текстовый файл, как группа характеристик, и каждая ее реализация будет сопровождаться
автоматически формируемой меткой "/МГ".
Для характеристики N 38 в графу 5 заносится внешний номер 38, что означает выдачу подчиненного объекта РГ, как
системного объекта.
Фрагмент текстового файла, соответствующего приведенной выше таблице будет выглядеть следующим образом:
../04 Иванов/МГ/35 США/36120390/37 180390/МГ/35 Канада/36 190390/37 220390/ 38 РГ9;РГ344/++РГ/01 9/05 Банк
ОРБИТА/++РГ/01 344/05 Кооператив "Океан"/..
Данный фрагмент предполагает, что подчиненный объект "Командировка" представлен группой характеристик №№
35, 36, 37 и имеет две реализации, а подчиненный объект "Организация" представлен характеристиками №№ 01, 05 и
имеет также две реализации. Характеристика № 01 цифровая.
Фрагменты таблицы трансляции для этих объектов представлены ниже.
№
35
36
37
№
01
05
Таблица экспорта для базы "Командировка"
Наименование
КратВнеш.
Связ.
Тип
характеристики
ность
№
базы
Страна
Т
35
Дата выезда
Д
36
Дата въезда
Д
М
37
Таблица экспорта для базы "Организация"
Наименование
КратВнеш.
Связ.
Тип
характеристики
ность
№
базы
Регистрационный номер
Ц
01
Наименование организации
Т
05
. . .
Особое внимание надо обратить на следующие замечания:
- если подчиненный объект выдается в текстовый файл как группа характеристик, внешние номера характеристик
группы должны быть отличными от внешних номеров корневого объекта и внутри самой группы должны располагаться
в порядке возрастания;
- если подчиненный объект выдается в текстовый файл как системный объект и характеристика N 01 текстовая, то
внешний номер этой характеристики не должен быть равен 01.
б) В 5 графу таблицы-ИМПОРТА заносится номер характеристики текстового файла, значение которой будет
транслироваться в текущую. Рассмотрим два варианта заполнения.
1) Заполнение графы для ПРОСТОЙ ХАРАКТЕРИСТИКИ.
В этом случае внешний номер может принимать два значения:
- "0" или ПУСТО, если значение характеристики не требуется транслировать;
- положительное число.
Например: Имеем следующий фрагмент текстового файла
. . /104 Иванов/104 Сергей/104 Иванович/111 290560/121 Участвовал в семинаре по проблемам...
/МГ/35 Москва/36 Перовская/ 37 25/... .
В этом случае таблица-ИМПОРТА может быть следующей:
№
1
04
11
12
13
14
...
21
Наименование
характеристики
2
ФИО
Дата рождения
Город
Улица
Номер дома
Доп. данные
...
Тип
3
Т
Д
Т
Т
Т
Ф
Кратность
4
Внеш.
№
5
104
111
35
36
37
121
Значение характеристик ИМЯ, ОТЧЕСТВО, ФАМИЛИЯ объединятся в одно значение в характеристике N 04
ФИО. Значение характеристик № 35,№ 36,№ 37, представленных в фрагменте текстового файла, как группа
характеристик будут транслироваться в простые характеристики базы.
Инструментальная система управления базами данных
93
В качестве значения характеристики №21 будут использованы 70 знаков первой строки транслируемой в эту
характеристику информации.
2) Заполнение графы для ОТСЫЛКИ.
При импорте значений ОТСЫЛОК внешний номер может принимать одно из трех значений:
- "0" или пусто, если значение транслировать не требуется;
- отрицательное число, если в текстовом файле есть ГРУППА ХАРАКТЕРИСТИК, которая должна
транслироваться в банк, как системный объект;
- положительное число, если информация из текстового файла, представленная как СИСТЕМНЫЙ ОБЪЕКТ,
транслируется в ПОДЧИНЕННЫЙ объект.
Например: Имеем фрагмент текстового файла:
..../01 Петров/02 Сергей/03 Геннадьевич/МГ/11 инженер/12 010184/ ВГ/02 Институт/....
Текстовый файл содержит две группы характеристик. Первая группа начинается меткой /МГ, вторая вложенная
группа - меткой /ВГ.
Предполагается транслировать информацию в банк, структура которого представлена следующей схемой:
ЛЦ (Лицо)--> ТД (Трудовая деятельность)--> РГ (Организация)
Таблица-ИМПОРТА для корневой базы "Лицо" может быть следующей:
№
1
04
05
06
11
12
№
01
02
03
04
№
01
Наименование
характеристики
2
Фамилия
Имя
Отчество
Дата рождения
Трудовая деятельность
Тип
3
Т
Т
Т
Д
П
Кратность
4
М
Внеш.
№
5
01
02
03
0
-1
Связ.
базы
6
ТД
Наименование
характеристики
Должность
Дата поступления
Дата увольнения
Место работы
Таблица-ИМПОРТА для базы "Трудовая деятельность"
КратВнеш.
Связ.
Тип
ность
№
базы
Т
11
Д
12
Д
0
П
-1
РГ
Наименование
характеристики
Наименование
Таблица-ИМПОРТА для базы "Организация"
КратВнеш.
Связ.
Тип
ность
№
базы
Т
02
ГРАФА СЕДЬМАЯ
В этой графе задаются условия на ЭКСПОРТ/ИМПОРТ кодируемых характеристик. Если графа не заполнена,
значение кодируемой характеристики при ЭКСПОРТЕ/ИМПОРТЕ не раскодируется. Для изменения условий
трансляции кодируемой характеристики в графе проставляется одно из следующих значений:
Д - при ЭКСПОРТЕ кодов словаря в текстовый файл выдается их декодированное значение;
Например: Если кодируемая характеристика имеет значение 1, а в соответствующем словаре
этому значению соответствует понятие Англия, то в текстовый файл выдается понятие Англия.
Если в словаре это понятие отсутствует, значение характеристики в текстовый файл не
выдается.
Д2 - при ЭКСПОРТЕ кодов словаря в текстовый файл выдается их декодированное значение по второму полю
словаря;
К - при ИМПОРТЕ из текстового файла значение кодируется;
КД - при ИМПОРТЕ действует как К, при ЭКСПОРТЕ действует как Д;
КД2 - при ИМПОРТЕ действует как К, при ЭКСПОРТЕ как Д2.
ГРАФА ВОСЬМАЯ
Графа заполняется только для кодируемых характеристик (типа КЦ,КА). В графу заносится один или несколько
диапазонов недопустимых кодов. Каждый диапазон задается МИНИМАЛЬНЫМ и МАКСИМАЛЬНЫМ значением.
Если максимальное значение пусто, то оно считается совпадающим с минимальным. При ИМПОРТЕ из текстового
файла код, попадающий в один из диапазонов, не попадает в банк данных. При ЭКСПОРТЕ в текстовый файл код,
попадающий в один из диапазонов, не транслируется.
ГРАФА ДЕВЯТАЯ
Графа заполняется только для ПРОСТЫХ транслируемых характеристик (у которых в таблице трансляции графа
ВНЕШНИЙ НОМЕР не пуста и не равна "0"). В выделенном поле Вы можете задать некоторое ПОСТОЯННОЕ
Инструментальная система управления базами данных
94
значение, которое будет экспортироваться в текстовый файл вместо значения данной характеристики. Если поле
значения данной характеристики ПУСТО, то указанное ПОСТОЯННОЕ значение транслироваться в текстовый файл не
будет. Если же Вы ПОСТОЯННОЕ значение пометите специальным символом "$", то независимо от наличия значения у
характеристики, в текстовый файл она будет транслироваться с указанным ПОСТОЯННЫМ значением. Вы также
имеете возможность вместе со значением характеристики экспортировать некоторый КОММЕНТАРИЙ, пометив его
специальным символом "@".
@<комментарий до значения>@<комментарий после значения>
Например: значением характеристики ГОД РОЖДЕНИЯ является четырехзначным число - 1956. Если постоянное
значение задать в виде:
...|@родился в@ году. |
то в текстовый файл будет экспортирован текст "родился в 1956 году."
Этот прием удобно использовать в случаях, когда требуется "собрать" значения отдельных характеристик в
некоторый связанный текст, и экспортировать его как значение некоторой характеристики.
Например: Для базы КАДРЫ при экспорте данных Вам требуется значения характеристик ОБРАЗОВАНИЕ, ДАТА
ОКОНЧАНИЯ УЧЕБНОГО ЗАВЕДЕНИЯ, НАИМЕНОВАНИЕ УЧЕБНОГО ЗАВЕДЕНИЯ и
НОМЕР ДИПЛОМА собрать в связанный текст и транслировать как значение характеристики № 24
ДОПОЛНИТЕЛЬНЫЕ ДАННЫЕ.
Для этого в графе ВНЕШНИЙ НОМЕР для каждой характеристики Вы устанавливаете число 24, не забыв пометить
его клавишей F2, что заблокирует контроль трансляции на наличие одинаковых внешних номеров. Затем в графе
ПОСТОЯННОЕ ЗНАЧЕНИЕ устанавливаете необходимые комментарии и выполняете экспорт. В текстовом файле все
значения указанных характеристик с заданными комментариями будут являться значением характеристики № 24.
ГРАФА ДЕСЯТАЯ
Данная графа используется для задания значения, выдаваемого при ЭКСПОРТЕ в текстовый файл перед текущей
характеристикой, что может быть использовано при трансляции между банками с различными связями между базами.
Например: Требуется транслировать данные о лицах из БАНКА № 1 в БАНК № 2. В БАНКЕ № 1 характеристика №
24 Дополнительные данные реализована в виде ПРОСТОЙ ТЕКСТОВОЙ характеристики, а в
БАНКЕ № 2 в виде отсылки на базу "Реферат".
04
БАНК № 1
Фамилия
П
Т
05
Имя
П
Т
..
24
Доп. данные
П
Т
---------------->
---------------->
04
БАНК № 2
Фамилия
П
Т
05
Имя
П
Т
---------------->
24
Доп. данные
С
П
. . .
М
РФ
Для того чтобы осуществить трансляцию значений характеристики № 24 из БАНКА № 1 в десятой графе
настроечной таблицы следует задать символы "МГ/", что позволит транслировать в текстовый файл простую
характеристику как группу характеристик.
Фрагмент текстового файла:
. . /04 Иванов/05 Сергей/МГ/24 . . . <доп. данные> . . ./
ЭКСПОРТ ДАННЫХ В ТЕКСТОВЫЙ ФАЙЛ.
Режим АДМИНИСТРАТОР-ЭКСПОРТ/ИМПОРТ-ЭКСПОРТ В ТЕКСТОВЫЙ файл (см. рис.7.6) позволяет
экспортировать предварительно отобранную из БД информацию в текстовый файл с использованием заранее созданных
таблиц трансляции или без них.
После выбора режима задать параметры трансляции:
Инструментальная система управления базами данных
95
Рис.7.7. Параметры экспорта в текстовый файл.
Если Вы собрались использовать таблицу трансляции (настройки), то ПЕРВЫЙ параметр (рис.7.7) должен иметь
значение ДА, а во ВТОРОЙ заносится имя требуемой таблицы трансляции.
Если экспорт данных производится без использования таблиц трансляции, то значением ПЕРВОГО параметра
должно быть НЕТ. В этом случае значение ВТОРОГО параметра не учитывается.
ТРЕТИЙ параметр определяет необходимость перекодировки информации.
ЧЕТВЕРТЫЙ параметр позволяет всю экспортируемую информацию перекодировать в большие буквы.
В ПЯТОМ параметре указывается имя файла, в который будет записываться транслируемая информация.
ШЕСТОЙ параметр определяет, какую информацию надлежит экспортировать. Он может принимать следующие
значения:
Тип трансляции
> Все связанные базы
По разовому запросу
До корневого объекта
Рис.7.8.
После задания типа трансляции автоматически проверяется правильность описания таблиц трансляции. Если
трансляция ведется без таблиц, проверяется корректность настойки банка по отношению к режиму
ЭКСПОРТ/ИМПОРТ. В случае обнаружения ошибок для проведения трансляции необходимо внести изменения в
настройку банка или в таблицу трансляции. Отчет об имеющихся ошибках выдается в текстовый файл OTVET
системного директория. Если ошибок в таблице (или в настройке) не обнаружено, Вам предлагается средствами языка
запросов задать критерий, согласно которому информация, подлежащая трансляции, будет отобрана из банка. ТИП
ТРАНСЛЯЦИИ (рис.7.8) определяет, каким образом транслировать отобранную информацию.
Трансляции ПО РАЗОВОМУ ЗАПРОСУ позволяет экспортировать в текстовый файл лишь объекты тех баз данных,
которые описаны в запросе на отбор.
Пример 7.3. По запросу ОТ ЛЦ01 - в текстовый файл будут переданы лишь ПРОСТЫЕ характеристики отобранных
лиц, независимо от того, есть у них отсылки на связанные объекты, или нет.
Трансляция ВСЕХ СВЯЗАННЫХ БАЗ позволяет экспортировать все объекты, входящие в цепочки прямых (П) и
прямых-обратных (ПО) отсылок из КОРНЕВЫХ ОТОБРАННЫХ объектов.
Пример 7.4. По аналогичному запросу на отбор (ОТ ЛЦ01) оттранслированная информация может быть "гораздо
шире".
Инструментальная система управления базами данных
Лицо
——————————>
командировка
—————————————————>
————>
. . . .
————>
96
Организация
Командировка
. . .
.
———>
. .
.
.
Трансляция ДО КОРНЕВОЙ БАЗЫ, обрывает связанную цепочку объектов банка, если в цепочке встречается база, с
которой начат отбор.
ИМПОРТ ДАННЫХ ИЗ ТЕКСТОВОГО ФАЙЛА.
Режим АДМИНИСТРАТОР-ЭКСПОРТ/ИМПОРТ-ИМПОРТ ИЗ ТЕКСТОВОГО файла(см.рис.7.6) позволяет
загружать в банк данных информацию из файла, составленного по правилам унифицированного формата обмена
данными.
После выбора этого режима задаются параметры загрузки:
Рис.7.9. Параметры импорта из текстового файла.
Если Вы собрались использовать таблицу трансляции (настройки), то ПЕРВЫЙ параметр (рис.7.9) должен иметь
значение ДА, а во ВТОРОЙ заносится имя требуемой таблицы трансляции. Если импорт данных производится без
использования таблиц трансляции, то значением ПЕРВОГО параметра должно быть НЕТ. В этом случае значение
ВТОРОГО параметра не учитывается.
ТРЕТИЙ параметр определяет необходимость проведения идентификации загружаемых объектов. Если
идентификация отключена (значение параметра НЕТ), то каждый загружаемый объект получает очередной свободный
системный номер.
ЧЕТВЕРТЫЙ параметр определяет необходимость перекодировки информации.
ПЯТЫЙ параметр позволяет латинские буквы (большие и маленькие), совпадающие по написанию с русскими,
переводить в русские.
ШЕСТОЙ параметр позволяет всю транслируемую информацию перекодировать в большие буквы.
СЕДЬМОЙ параметр показывает сколько сообщений с начала файла необходимо пропустить, если процесс
трансляции прерывался пользователем. Если импорт данных начинается с первого сообщения, то значение параметра
должно быть равно 0.
ВОСЬМОЙ параметр задает имя файла, из которого будут браться информационные сообщения для загрузки.
Поле "Свертка при нехватке памяти" со значением "Да" используется при импорте (загрузке) трансляции "очень
больших" сообщений , для которых не хватает свободной части оперативной памяти (в случае, если при значении
"Нет" выдается ошибка вида "`TRANBUIO` Line 1. [B114] Maximum numbers ......" или "Out of memory").
При трансляции "обычных" сообщений рекомендуется использовать параметр "Нет", так как в этом случае
трансляция работает намного быстрее, чем с параметром "Да".
Если Вы задали все параметры трансляции, переместите курсор на режим ВЫПОЛНИТЬ и начните процесс.
Трансляцию можно прервать нажатием Esc. В этом случае будет загружено последнее обрабатываемое сообщение и
Инструментальная система управления базами данных
97
будет выдано предложение о прекращении процесса. Для того, чтобы в следующем сеансе пропустить ранее
загруженные сообщения используйте СЕДЬМОЙ параметр (рис.7.9).
ПРОЕКТИРОВАНИЕ ТАБЛИЦ ИЗ DBF-ФАЙЛОВ
Таблицы трансляции позволяют устанавливать соответствие между характеристиками баз данных и полями dBFфайлов при импорте/экспорте информации. Для СОЗДАНИЯ, КОРРЕКЦИИ и УДАЛЕНИЯ таблиц используется режим
ПРОЕКТИРОВАНИЕ - ТАБЛИЦЫ ЭКСПОРТ/ИМПОРТ - DBF-ФОРМАТ (см.рис.7.6).
№
Комментарий
Каждая таблица задается автоматически присваиваемым при создании порядковым номером и уникальным именем.
Количество таблиц для каждого банка не более 999. Для СОЗДАНИЯ новой таблицы нажмите Ins и в графе
комментарий задайте ее имя. Для УДАЛЕНИЯ используйте клавишу Del.
Каждая таблица устанавливает однозначное соответствие баз данных текущего банка и dBF-файлами. Для каждой
базы указывается имя соответствующего ей DBF-файла. Если имя файла не задано, трансляция в/из соответствующую
базу не производится. Для выбора файла можно использовать F2.
Таблица настройки
№
1
2
3
Наименование базы
Организация
Сотрудники
Филиалы организации
Имя файла dBF
C:\ORG.DBF
C:\FILORG.DBF
После задания полного адреса файла для каждой базы Вам следует установить соответствие между ее
характеристиками и полями соответствующего dBF-файла. Для этого, выбрав строку перечня баз данных и нажав F10
или дважды Enter, установите соответствие.
№
Наименование характеристики
Тип
Длина
01
02
...
10
Рег. номер организации
Название организации
Ц
Т
5
72
Сотрудники организации
П
Кратность
Имя поля
DBF-файла
М
Связь
с базами
ЛЦ
Напомним, что при описании баз Вы можете использовать два класса характеристик - ПРОСТЫЕ и ОТСЫЛКИ (см.
главу ОПИСАНИЕ СОСТАВА ХАРАКТЕРИСТИК).
Для каждой ПРОСТОЙ характеристики в таблице трансляции в графе ИМЯ DBF-файла указывается
соответствующее ей имя поля. Для выбора нужного поля используйте F2.
ИМЯ ПОЛЯ
ТИП ПОЛЯ
цифровой
символьный
REGNUM
NAME
. . .
ДЛИНА
ДЕС.ЗН.
4
72
Для ОТСЫЛОК задается пара имен полей, по равенству которых связаны dBF-файлы. Первое значение в этой паре имя поля из DBF-файла, соответствующего текущей базе, второе - связанной базе.
Для выбора поля нажмите F2. Затем F10 после чего на экране появится сообщение:
Задайте имя поля связанного DBF-файла
F2 - выбор поля
Esc - отказ от задания поля
Нажав F2, выберите второе значение - имя поля из связанного с текущей базой DBF-файла, по которому
осуществляется связь этой базы с текущей.
ВЫБЕРИТЕ ПОЛЕ СВЯЗАННОГО DBF-ФАЙЛА
ИМЯ ПОЛЯ
ТИП ПОЛЯ
ДЛИНА
ДЕС.ЗН.
Если по ОТСЫЛКЕ текущая база связана с несколькими базами, то для каждой такой связи задается отдельная пара
имен полей по правилам, описанным выше.
Пример: Проектирование таблицы трансляции для импорта из DBF-файла. Создадим новую таблицу, нажав Ins и
задав комментарий.
Комментарий
№
1
Банки России
Для продолжения проектирования таблицы нажмите F10 и каждой базе, присутствующей в таблице,
установите соответствие с DBF-файлами (F2).
Инструментальная система управления базами данных
98
Таблица настройки
№
Наименование базы
Имя dBF-файла
1
2
3
БАНКИ РОССИИ (РГ)
ФИЛИАЛЫ (ФЛ)
СОТРУДНИКИ (ЛЦ)
Z:\BANK.DBF
Z:\FILIAL.DBF
Z:\SOTR.DBF
Когда соответствие на уровне БАЗЫ-ФАЙЛЫ установлено, для каждой базы установим соответствие
ХАРАКТЕРИСТИКА-ПОЛЕ. Начнем с базы БАНКИ РОССИИ. Для этого установите курсор на первую
строку таблицы, нажмите F10 и заполните таблицу соответствия характеристик базы полям файла BANKDBF.
Таблица настройки базы Банки России
Наименование
КратИмя поля
Связь
Тип
Длина
характеристики
ность
DBF-файла
с базами
Полное наименование
Т
150
Регистрационный номер
Ц
4
Дата регистрации
Д
10
Полный адрес банка
Т
85
Телефон
Т
10
Сотрудники
П
М
ЛЦ
Имеет филиалы
П
М
ФЛ
№
01
02
03
04
05
06
07
Установите курсор в графе ИМЯ ПОЛЯ dBF-файла для характеристики № 1, нажмите F2 и установите
соответствие.
ВЫБЕРИТЕ ПОЛЕ DBF-ФАЙЛА
ИМЯ ПОЛЯ
NAME
REGN
DATA
ADRES
TELEF
ТИП ПОЛЯ
ДЛИНА
символьный
цифровой
дата
символьный
символьный
ДЕС.ЗН.
150
4
8
85
10
П: Если в файле dBF большое количество полей, то устанавливать соответствие между характеристиками базы и полями
достаточно утомительно. Нельзя ли автоматизировать этот процесс?
Р: Можно. Для этого используйте клавишу F5, находясь в таблице проектирования таблицы трансляции. Автоматически
связи устанавливаются при совпадении наименования, типа и длины характеристик базы и файла dBF. При несовпадении
любого из трех параметров описания связь не устанавливается, но Вы сможете это сделать вручную, нажав F2.
Аналогично установите соответствие для остальных простых характеристик.
Для ОТСЫЛКИ 06 СОТРУДНИКИ в графе ИМЯ ПОЛЯ DBF-ФАЙЛА указывается два значения.
Первое значение REGN - имя поля в файле BANK.DBF, связывающее файлы BANK.DBF и SOTR.DBF.
Второе - значение SREGN - имя поля в файле SOTR.DBF, соответствующем базе ЛЦ, по которому связаны файлы
BANK.DBF и SOTR.DBF.
ВЫБЕРИТЕ ПОЛЕ СВЯЗАННОГО DBF-ФАЙЛА
ИМЯ ПОЛЯ
==>
ДЛИНА
ДЕС.ЗН.
SFAM
символьный
40
SIM
символьный
20
SOT
символьный
30
SDOL
символьный
50
SREGN
цифровой
4
Аналогичным образом заполняется графа и для характеристики № 07 Имеет филиалы. Первое значение REGN
- имя поля в файле BANK.DBF, второе значение FREGN - имя поля в файле FILIAL.DBF.
ИМЯ ПОЛЯ
==>
ТИП ПОЛЯ
FNAME
FREGN
FDATA
FADRES
FTELEF
ТИП ПОЛЯ
символьный
цифровой
дата
символьный
символьный
ДЛИНА
ДЕС.ЗН.
150
4
8
85
10
В итоге таблица трансляции может иметь следующий вид:
Таблица настройки базы Банки России
Инструментальная система управления базами данных
№
01
02
03
04
05
06
07
Наименование
характеристики
Полное наименование
Регистрационный номер
Дата регистрации
Полный адрес банка
Телефон
Сотрудники
Имеет филиалы
99
Тип
Длина
Т
Ц
Д
Т
Т
П
П
150
4
8
85
10
Кратность
М
М
Имя поля
DBF-файла
NAME
REGN
DATA
ADRES
TELEF
REGN SREGN
REGN FREGN
Связь
с базами
ЛЦ
ФЛ
Аналогично проектируется таблица трансляции для базы ФИЛИАЛЫ и базы СОТРУДНИКИ.
№
01
02
03
04
05
№
01
02
03
04
Наименование
характеристики
Наименование филиала
Регистрационный номер
Дата регистрации
Полный адрес филиала
Телефон
Таблица настройки базы Филиалы
КратИмя поля
Длина
ность
DBF-файла
150
FNAME
4
REGN
8
FDATA
85
FADRES
10
FTELEF
Тип
Т
Т
Д
Т
Т
Наименование
характеристики
Фамилия
Имя
Отчество
Должность
Связь
с базами
Таблица настройки базы Сотрудники
КратИмя поля
Связь
Длина
ность
DBF-файла
с базами
40
SFAM
20
SIM
30
SOT
50
SDOL
Тип
Т
Т
Т
Т
Связь между базами в таблице трансляции устанавливается только для прямых отсылок. Так в
данном примере, базы ФИЛИАЛЫ и СОТРУДНИКИ связаны с базой БАНКИ РОССИИ обратной
отсылкой и для них связь не описана.
ИМПОРТ из dBF-файлов.
Режим АДМИНИСТРАТОР-ЭКСПОРТ/ИМПОРТ-ИМПОРТ ИЗ DBF-ФАЙЛОВ (см.рис.7.4) служит для загрузки в
текущий банк данных информации из банков данных DBF-структуры с использованием соответствующих таблиц
трансляции. После выбора этого режима необходимо указать параметры трансляции:
Импорт из DBF
Имя таблицы настройки
Проводить идентификацию
Да/Нет
[ Выполнить ] [ Сохранить ] [ Отказ ]
В качестве параметра ИМЯ ТАБЛИЦЫ НАСТРОЙКИ задается имя необходимой таблицы трансляции.
Параметр ПРОВОДИТЬ ИДЕНТИФИКАЦИЮ определяет необходимость проведения идентификации загружаемых
объектов. Если идентификация отключена (значение параметра НЕТ), то каждый загружаемый объект получает
очередной свободный системный номер. После задания параметров для начала трансляции переместите курсор на
режим ВЫПОЛНИТЬ и нажмите Enter.
ВОССТАНОВЛЕНИЕ
Режим АДМИНИСТРАТОР - ВОССТАНОВЛЕНИЕ позволит Вам восстанавливать с архивных копий, полученных в
режиме КОПИРОВАНИЕ, банк данных целиком, а также отдельные его компоненты: описания отдельных баз, словари,
запросы по образцу, формы ввода и вывода информации, таблицы экспорта/импорта, входной файл . С помощью
режимов КОПИРОВАНИЕ - ВОССТАНОВЛЕНИЕ Вы можете переносить отдельные компоненты описания одного
банка в другой при условии идентичности или вложенности их структур по следующей схеме:
БАНК № 1
Копирование
===========>
КОПИЯ
Восстановление
===========>
БАНК № 2
Имена файлов копий банка данных и его компонентов приведены в Главе “Создание резервных копий”.
Инструментальная система управления базами данных
100
ВОССТАНОВЛЕНИЕ БАНКА ДАННЫХ
Данный режим служит для восстановления разрушенного банка данных с одной из резервных копий, для переноса
банка данных с одной системы на другую, а также для проверки копий. При вызове команды ВОССТАНОВЛЕНИЕ БАНК ДАННЫХ на экран выдается таблица:
Восстановление банка данных
Адрес копии
Восстанавливать данные
Восстанавливать индексы
Проверять копию банка
D:\COPYBD\
Да/Нет
Да/Нет
Да/Нет
[ Выполнить ] [ Сохранить ] [ Отказ ]
Устройство, включая подчиненные каталоги, на котором записаны файлы с копией
банка данных.
ВОССТАНАВЛИВАТЬ
При отказе от восстановления данных (опция “Нет”) из копии банка будет
ДАННЫЕ (ДА/НЕТ)
восстановлено лишь описание банка и его компонентов, но без данных и индексов.
ВОССТАНАВЛИВАТЬ
Если Вы отказались от восстановления индексов или их не было в копии, то после
ИНДЕКСЫ (ДА/НЕТ)
восстановления банка Вам придется заново сформировать индексы, используя режим
АДМИНИСТРАТОР - ИНДЕКСНЫЕ МАССИВЫ - ОБНОВЛЕНИЕ ДЛЯ ВСЕГО
БАНКА. Отказ от восстановления данных, автоматически отключает восстановление
индексов, независимо от установленной опции.
ПРОВЕРЯТЬ КОПИЮ
Если есть необходимость в контроле качества копии банка - используйте опцию “Да”.
(ДА/НЕТ)
При обнаружении сбоев в копии последующее восстановление нецелесообразно, т.к.
это приведет к ошибкам при работе с восстановленным банком.
После задания параметров восстановления для начала процесса переместите курсор на режим ВЫПОЛНИТЬ и
нажмите Enter. Если банк данных был закрыт паролем, то перед восстановлением Вам придется указать этот пароль, в
противном случае восстановление невозможно.
АДРЕС КОПИИ
Восстановление отдельных компонентов банка производится аналогично и, как правило, трудности не вызывает.
П: Правильно ли я понял, что если использовать команду ВОССТАНОВЛЕНИЕ - БАНК ДАННЫХ, текущий банк полностью
удаляется, а вместо него с копии восстанавливается другой банк?
Р: Да, правильно. Поэтому, прежде чем запустить процедуру восстановления убедитесь, что Вы не уничтожите этой
процедурой нужный Вам банк.
СИСТЕМА РАЗДЕЛЕНИЯ ДОСТУПА
СИСТЕМА ДОСТУПА - режим, позволяющий администратору системы:
- устанавливать ПАРОЛЬ ДОСТУПА К БАНКУ;
- разграничивать ПРАВА ДОСТУПА ПОЛЬЗОВАТЕЛЕЙ к информации и видам ее обработки;
- подключать автоматически заполняемый банк данных СИСТЕМНЫЙ ЖУРНАЛ, накапливающий сведения о
работе пользователей с системой.
ПАРОЛЬ К БАНКУ
Для установки пароля доступа к текущему банку после выбора режима и подтверждения, укажите новый пароль,
нажмите Enter. Затем повторите только что заданный пароль и еще раз нажмите Enter. Для сохранения
конфиденциальности пароль на экране не высвечивается. При задании символы пароля имитируются знаками #. Если
Вы хотите снять пароль доступа, то в качестве нового пароля дважды нажмите Enter.
ПРАВА ПОЛЬЗОВАТЕЛЕЙ
Полностью ВСЕМИ ПРАВАМИ, определенными разработчиками в данной версии пакета, наделен лишь один
ПОЛЬЗОВАТЕЛЬ, занимающий первую строку в таблице. При установке системы ему присвоено имя
"АДМИНИСТРАТОР", которое Вы можете откорректировать, но удалить его из списка и ограничить его права по
доступу не можете. АДМИНИСТРАТОР имеет право:
- подключать новых пользователей к системе и определять их права;
- удалять из списка любых пользователей, кроме АДМИНИСТРАТОРа;
- корректировать права пользователей, изменять их имена;
- создавать независимых друг от друга пользователей или объединять их в группы, с учетом иерархической
подчиненности каждой группы.
ФОРМИРОВАНИЕ СПИСКА ПОЛЬЗОВАТЕЛЕЙ.
Все пользователи системы объединены в общий список. Если Вы работаете с сетевой версией системы, то список
пользователей единый для всех станций. Каждый пользователь системы описывается строкой таблицы, включающей
пять полей:
Инструментальная система управления базами данных
Имя
пользователя
1.
Полное имя
пользователя
2.
101
Уровень
пользователя
3.
Пароль
4.
Доступ к
банку
5.
ИМЯ ПОЛЬЗОВАТЕЛЯ - уникальная совокупность любых символов клавиатуры (не более 15), исключая символы,
формируемые клавишами управления (заглавные и прописные буквы в имени различаются);
ПОЛНОЕ ИМЯ ПОЛЬЗОВАТЕЛЯ - неформализованный текст с полными данными на пользователя, заполняется
по усмотрению АДМИНИСТРАТОРА;
УРОВЕНЬ ПОЛЬЗОВАТЕЛЯ - положение пользователя в иерархии групп пользователей;
ПАРОЛЬ - секретная комбинация символов для идентификации пользователя;
ДОСТУП к БАНКУ - устанавливает допуск пользователя к текущему банку.
Для создания нового пользователя переместите курсор на свободную строку таблицы и последовательно опишите
все параметры пользователя в форматах таблицы. Для удаления любого пользователя (кроме АДМИНИСТРАТОРА) из
списка используйте Del с последующим подтверждением. Допустима коррекция любого из параметров описания.
Исключение составляет АДМИНИСТРАТОР, уровень которого не изменяется и он имеет доступ к любому банку
данных. Например:
Имя
пользователя
Администратор
Попов
Сергей
Палыч
123
DIMA
...
Полное имя
пользователя
Попов Ф.М.
Иванов С.Ю.
Петров А.П.
Семенов (тел. 1-69)
Рудин Д.И.
Уровень
пользователя
Пароль
+
+
Лаборатория 15
Лаборатория 15
Отдел № 3
+
+
+
Доступ
к банку
+
+
+
+
В многопользовательской версии список пользователей одинаков для каждой станции, независимо
от того, с какой станции формировался АДМИНИСТРАТОРОМ. Список доступных банков для
каждого пользователя задается АДИНИСТРАТОРОМ один раз с любой станции.
ОГРАНИЧЕНИЕ ПРАВ ДОСТУПА ПОЛЬЗОВАТЕЛЯ.
Для избежания использования чужого имени при подключении к системе Вы можете установить каждому
пользователю свой пароль входа, задав его в соответствующей графе. Пароль на экране не высвечивается, символ "+"
указывает лишь о его наличии. Если Вы разрешаете пользователю доступ к текущему банку - установите с помощью
Enter в графе ДОСТУП К БАНКУ символ "+". В противном случае для данного пользователя банк не будет доступен (в
режиме ВЫХОД - ВЫБОР БАНКА он будет невидим для данного пользователя).
Если пользователю банк доступен, Вы имеете возможность закрыть для него в этом банке отдельные базы целиком
или частично, определив как недоступные некоторые характеристики. Для этого нажмите F10 и используйте режим
ДОСТУП к БАЗАМ ДАННЫХ. С помощью режимов ДОСТУП к РЕЖИМАМ МЕНЮ и ДОСТУП к СОВМЕЩЕННЫМ
РЕЖИМАМ Вы сможете запретить пользователю использование тех или иных видов работ, которые недоступны ему в
силу его функциональных обязанностей.
ГРУППЫ ПОЛЬЗОВАТЕЛЕЙ
Все или отдельная часть зарегистрированных пользователей системы могут быть разделены по своим полномочиям
на группы, при этом каждый пользователь может входить в состав лишь одной группы. Если пользователь не включен
“Администратором” ни в одну группу, то он имеет доступ ко всей информации банка с учетом ограничений,
установленных в режимах ДОСТУП к ... .
Объединение пользователей в группы и создание иерархической подчиненности групп позволит ограничить доступ
пользователей к информации, а точнее непосредственно к информационным объектам банка, в зависимости от их
принадлежности к той или иной группе. Принципы здесь следующие:
- информация, загруженная “Администратором” и пользователями, не входящими ни в одну группу, доступна
всем;
- внутри группы все пользователи равноправны по доступу к информационным объектам банка ими
загруженным с учетом ограничений, установленных в режимах ДОСТУП к .... ;
- между собой группы пользователей могут быть независимы или иерархически подчинены. Для независимой
пары групп информация, загруженная пользователями одной группы, невидима для пользователей другой.
Для иерархически связанных групп информация пользователей из подчиненной по иерархии группы доступна
для пользователей старшей по иерархии группы. Обратное не верно.
Объединение пользователей в группы и установление иерархии между ними задается в графе УРОВЕНЬ.
В приведенном выше примере пользователи “Палыч” и “123” входят в одну группу “Лаборатория №15”,
пользователь “DIMA” - в группу с именем “Отдел №3”, а “Сергей” не входит ни в одну из пользовательских групп. Если
Инструментальная система управления базами данных
102
предположить, что группы “Отдел №3” и “Лаборатория №15” иерархически связаны, причем вторая группа подчинена
первой, то:
- для “Палыча” и “123” информация пользователя “DIMA” недоступна;
- для пользователя “DIMA” информация “Палыча” и “123” доступна;
- пользователю “Сергей” вход в банк “СПРАВОЧНИК” закрыт;
- “Администратору” доступно ВСЕ;
- информация “Попова” доступна всем, а ему доступ к информации “Палыча”, “123” и “DIMA” закрыт.
Для определения относимости каждого информационного объекта к той или иной группе пользователей в описание
каждой базы при подключении системы разделения доступа автоматически вводится специальная характеристика
УРОВЕНЬ ДОСТУПА, невидимая для всех пользователей, кроме “Администратора”. Только ему доступна коррекция ее
значений в режимах ПОСЛЕДОВАТЕЛЬНОЙ (Alt+L) и МАССОВОЙ КОРРЕКЦИИ. Уровень доступа к информации,
содержащейся во входных сообщениях, может быть изменен перед загрузкой информации в банк (поле УРОВЕНЬ
ДОСТУПА).
СИСТЕМНЫЙ ЖУРНАЛ
Системный журнал - специализированный банк данных с постоянным некорректируемым составом реквизитов,
предназначенный для автоматизированной фиксации действий пользователей в системе, располагается в подкаталоге с
именем SYSLOG системного каталога. Например,
Имя банка
Адрес банка
Адрес словарной базы
Системный журнал
C:\CRO\SYSLOG
C:\CRO\SYSLOG\SL
Список баз и состав характеристик “Системный журнал” имеет вид:
№
1
Название базы
Системный журнал
Имя
СЖ
Тип
1
Состав характеристик:
№
00
01
02
03
04
05
06
07
08
Название характеристики
Системный номер
Пользователь
Банк данных
Дата
Время
Имя абонента
Станция
Действие
Комментарий
Тип
Ц
Т
Т
Д
В
КА
КТ
КА
Т
Длина
8
30
30
10
5
9
18
3
50000
Кратность
Внешний
№/связь с
базами
№
словаря
№
ключа
Статус
№
поля
НВ
1
2
3
4
5
6
7
8
2
3
1
1
2
3
4
5
8
6
7
Назначение характеристик:
ПОЛЬЗОВАТЕЛЬ
- характеристика для хранения имени пользователя из таблицы пользователей, формируемой в
режиме АДМИНИСТРАТОР - СИСТЕМА ДОСТУПА - ПРАВА ПОЛЬЗОВАТЕЛЕЙ. Если права
пользователей не определены - характеристика не заполняется.
БАНК ДАННЫХ
- хранится имя банка данных, с которым велась работа.
ДАТА И ВРЕМЯ
- дата и время действий пользователя, выполняемых с банком данных.
ИМЯ АБОНЕНТА
- для хранения имени АБОНЕНТА, для которого обрабатывался запрос. Имена абонентов хранятся в
словаре №2, который Вы поддерживаете самостоятельно. Пример словаря №2 приведен ниже.
СТАНЦИЯ
- поле для записи номера станции с которой выполнялись фиксируемые в системном журнале
действия. В однопользовательском варианте системы не используется. Номера станций хранятся в
словаре №3, который Вы ведете самостоятельно. Пример словаря №3 приведен ниже.
ДЕЙСТВИЯ
- хранятся все действия пользователей, кодируемых по словарю №1, поставляемому совместно с
системой. После создания банка “Системный журнал” словарь №1 восстанавливается в режиме
АДМИНИСТРАТОР - ВОССТАНОВЛЕНИЕ - СЛОВАРИ. Полный список понятий словаря
приведен ниже.
КОММЕНТАРИЙ
- текстовое поле для хранения информации, уточняющей действия пользователя (количество
отобранных в запросе объектов, строчная запись запроса, форма выдачи отобранной информации и
т.д.)
Словарь №1 Регистрируемые работы с системой.
001 - Вход
002 - Выход
012 - Неправильный пароль пользователя
013 - Удаление объекта
Инструментальная система управления базами данных
103
003 - Подключение к банку
004 - Запрос
005 - Коррекция
006 - Удаление
007 - Загрузка
008 - Отключение банка
009 - Банк не подключен - неверный пароль
010 - Создание банка
011 - Неправильное имя пользователя
014 - Банк не подключен - блокирован с другой станции
015 - Слияние объектов
016 - Удаленный запрос
017 - Удаленная загрузка
018 - Выдача в виде текста
019 - Выдача в виде таблицы
020 - Распределение
021 - Статсводка
Словари №2 и №3 создаются и наполняются “Администратором” самостоятельно. Список словарей банка
“Системный журнал” может иметь вид:
№
1
2
3
Тип
кода
Ц
Ц
Т
Название словаря
Регистрируемые работы с системой
Абоненты
Станции
Примерный вид Словаря №2:
Длина
кода
3
9
18
Автошаг
1
1
Доп.
поиск
Число
понятий
21
8
6
Примерный вид Словаря №3:
1000 - Отдел №1
2000 - Отдел №2
3000 - Отдел №3
...
080298120000 - Администратор
080305180000 - Попов Ф.М.
080425810000 - Петров А.П.
080425890000 - Семенов Ф.П.
080426570000 - Рудин Д.И.
080435700000 - Иванов С.Ю.
...
“Администратор” вправе открывать доступ к банку “Системный журнал” другим зарегистрированным в системе
пользователям, используя режим АДМИНИСТРАТОР - СИСТЕМА ДОСТУПА - ПРАВА ПОЛЬЗОВАТЕЛЕЙ.
Коррекция описания банка, индексных массивов, а также режимы ПОСЛЕДОВАТЕЛЬНОЙ и МАССОВОЙ
КОРРЕКЦИИ в этом банке недоступны. Для удаления записей используйте режим КОРРЕКЦИЯ - УДАЛЕНИЯ ВСЕХ
ОТОБРАННЫХ.
При вызове режима АДМИНИСТРАТОР - СИСТЕМА ДОСТУПА - СИСТЕМНЫЙ ЖУРНАЛ на экран выдается
таблица:
Системный журнал
Глобальный журнал
Включен/Выключен
Журнал для текущего банка
Включен/Выключен
Регистрировать:
запросы
Да/Нет
коррекцию
Да/Нет
загрузку
Да/Нет
[Выполнить] [Отказ]
Глобальный журнал подключает фиксацию в банке данных “Системный журнал” следующих процессов:
- вход в систему;
- подключение и отключение каждого из существующих банков;
- попытки несанкционированного входа в систему в виде задания неверного пароля к банку или задание
несуществующего имени при идентификации пользователя.
При первичном подключении глобального журнала система автоматически создает новый банк с именем
“Системный журнал”, располагаемый в подкаталоге с именем SYSLOG системного каталога. При отключении
глобального журнала автоматическое наполнение банка “Системный журнал” прекращается.
Журнал для текущего банка подключает в банке “Системный журнал” фиксацию запросов и процедур коррекции и
загрузки информации, при условии их включения:
Системный журнал
Глобальный журнал
Включен
Журнал для текущего банка
Включен
Регистрировать:
запросы
Да
коррекцию
Да
загрузку
Да
[Выполнить] [Отказ]
Инструментальная система управления базами данных
104
ДИЗАЙН
Режим АДМИНИСТРАТОР-ДИЗАЙН (см.рис.7.1) служит для задания пользователем цветовых атрибутов пакета и
звукового сопровождения.
Обращаем Ваше внимание на то, что для мониторов CGA следует использовать левую часть
цветовой палитры, что позволяет избегать "мигания".
УДАЛЕНИЕ
Режим АДМИНИСТРАТОР-УДАЛЕНИЕ позволит Вам отключать и удалять банки, потребность в которых отпала, а
также очистить банк от данных.
УДАЛЕНИЕ ВСЕГО БАНКА используется для физического удаления текущего банка с диска. Впоследствии его
можно лишь восстановить с копии.
УДАЛЕНИЕ ТОЛЬКО ДАННЫХ очищает банк от информации, т.е. физически удаляет файлы данных и файлы
индексных массивов. Описание структуры, формы ввода/вывода, словари, таблицы трансляции,
библиотека запросов остаются при этом без изменений.
ОЧИСТКА БАНКА очищает файлы данных и индексных массивов. При выполнении данного режима файлы
данных и индексных массивов физически с диска не удаляются, а лишь очищаются. Результат
выполнения данного режима аналогичен последовательному выполнению удаления файлов данных
и индексных массивов с последующей инициализацией банка данных.
ОТКЛЮЧЕНИЕ БАНКА позволяет отключить банк от системы, физически не удаляя его с диска. Впоследствии
возможно его повторное подключение (см. пример раздела СОЗДАНИЯ БАНКА.)
П: Если я случайно удалю банк командой УДАЛЕНИЕ БАНКА ДАННЫХ, смогу ли я его после этого восстановить?
Р: Начнем с того, что “случайно” банки не удаляют. Но если все же это произошло - восстановите его с резервной копии. В
случае отсутствия резервной копии, остается Вам только посочувствовать, банк для Вас безвозвратно потерян.
Восстановить удаленный банк утилитами DOS типа UNERASE.EXE невозможно.
ОПТИМИЗАЦИЯ
Режим ОПТИМИЗАЦИИ применяется для уменьшения физических размеров файлов данных и индексов за
счет оптимального размещения записей в файлах, а также физического удаления из записей значений
характеристик, удаленных из описания баз. Это происходит при включенной опции ОПТИМИЗИРОВАТЬ ПОЛЯ В
ЗАПИСЯХ (Да). При отключении этой опции (Нет) - происходит лишь оптимизация банка на уровне записей в
файле данных.
Оптимизация банка данных
Оптимизировать поля в записях
Да/Нет
[Выполнить] [Сохранить] [Отказ]
Оптимизация может проводиться как для ВСЕГО БАНКА, так и для его ОТДЕЛЬНЫХ БАЗ. В результате
файлы данных и индексы принимают минимально возможный размер, что повышает скорость доступа к записям.
Для прерывания оптимизации - используйте Esc, при этом записи текущей базы оптимизированы не будут.
П: Как часто Вы рекомендуете делать оптимизацию банка?
Р: Оптимизацию следует проводить после процедур массовой коррекции с добавлением полей в записи, загрузки с идентификацией
объектов, слияния объектов при последовательной коррекции, обмена характеристик, т.е. после тех режимов работы
системы, которые вызывают фрагментацию записей в файлах данных.
Глава 8. МАКРО-команды
МАКРО-КОМАНДА (или МАКРОс) - проектируемая последовательность команд системы, используемая для
экономии времени при выполнении часто используемых процедур. Режим МАКРО позволит Вам часто повторяющиеся
в процессе работы операции запомнить и записать в библиотеку МАКРОсов, а затем по мере необходимости вызывать
на выполнение. В зависимости от Вашей фантазии МАКРОс может быть простым или очень сложным. Приведем
простой пример:
- провести полную ревизию банка;
- восстановить целостность баз, в которых обнаружены ошибки;
- восстановить индексы всего банка.
Вот несколько более сложный пример:
- отобрать объекты из базы по задаваемому критерию отбора;
- сохранить список отобранных системных номеров в файле;
- провести массовую коррекцию базы;
- отсортировать по задаваемому критерию;
Инструментальная система управления базами данных
105
- ответ выдать в файл;
- возвратиться в режим ВЫПОЛНЕНИЕ МАКРОсов.
Приведенные выше примеры помогут малоквалифицированным пользователям выполнять довольно сложные
процедуры обработки данных, используя лишь набор типовых процедур МАКРОсов, заранее спроектированных
администратором. При вызове команды МАКРО из головного меню системы на экране появятся два подрежима:
ВЫПОЛНЕНИЕ - режим, запускающий созданные МАКРОсы на выполнение или для отладки в пошаговом
режиме.
ПРОЕКТИРОВАНИЕ - создание МАКРОсов.
Для выполнения любого МАКРОса переместите курсор на строку его описания и нажмите ENTER. Для отладки и
коррекции МАКРОса Вы можете запустить его в пошаговом режиме, нажав F10, при этом для перехода на каждый
следующий шаг нажмите любую клавишу. В любой момент пошагового режима Вы имеете возможность прервать
режим ВЫПОЛНЕНИЯ и перейти в режим ПРОЕКТИРОВАНИЯ для коррекции МАКРОса с места остановки, для чего
нажмите Alt+G и подтвердите свое действие.
ПРОЕКТИРОВАНИЕ МАКРОсов
Для ПРОЕКТИРОВАНИЯ нового МАКРОса переместите курсор на первую свободную строку таблицы описания и
задайте номер и комментарий к МАКРОсу.
НОМЕР - уникальное в пределах одного банка целое число от 1 до 999. После создания МАКРОсы автоматически
упорядочиваются по возрастанию номеров.
КОММЕНТАРИЙ - это некоторый неформализованный текст, необязательный для заполнения, в котором Вы
отражаете суть выполняемой МАКРОсом работы.
После задания номера и комментария Вы попадаете непосредственно в режим ПРОЕКТИРОВАНИЯ МАКРОса, о
чем свидетельствует признак МАС в правом верхнем углу экрана. При этом любое результативное (т.е. вызывающее
реакцию системы) нажатие клавиш запоминается в МАКРОСе. Когда все требуемые процедуры описаны, для окончания
проектирования МАКРОса, нажмите Alt+Q, признак МАС при этом исчезает. Удобно завершать МАКРОс, находясь в
режиме МАКРО - ВЫПОЛНЕНИЕ, т.к. это позволит впоследствии пользователям работать только с этим режимом,
стартуя и возвращаясь в одно место.
Вы также имеете возможность запускать ЦЕПОЧКИ МАКРОсов, вызывая один из другого. При создании больших
по размеру МАКРОсов это позволит разбивать их на небольшие блоки, отлаживать их отдельно, а затем объединять в
цепочку.
Для коррекции МАКРОсов используйте описанный выше режим пошагового выполнения. Для удаления текущего
МАКРОСА или предварительно помеченных МАКРОсов используйте Del. Пометить МАКРОсы, подлежащие удалению,
Вы можете с помощью клавиш F2, плюс и минус (снимает пометку).
При проектировании МАКРОса имеется возможность задавать некоторые произвольные сообщения, которые будут
появляться на экране при его выполнении. Сообщения могут при необходимости пояснять работу МАКРОса или
указывать "что делать дальше". Для вставки в требуемом месте МАКРОса сообщения:
- нажмите комбинацию клавиш Alt+J, что вызовет появление на экране ПУСТОЙ РАМКИ для сообщения;
- для задания содержимого рамки нажмите Alt+T и опишите параметры сообщения, заполнив
соответствующие поля таблицы:
Инструментальная система управления базами данных
106
Текст
Заголовок
Пауза (сек)
Звук
Длина значения
Нет
[ Выполнить] [Движение] [Отказ]
ТЕКСТ - поле для задания текста сообщения. Для вызова редактора нажмите F2.
ЗАГОЛОВОК - поле для задания заголовка сообщения. Например,
Заголовок
Текст комментария
Поле для ввода значения
ПАУЗА - поле для задания интервала времени в секундах (не более 230), определяющее длительность нахождения
сообщения на экране. Если поле ПАУЗА не заполнено, то сообщение удаляется с экрана и
выполнение МАКРОса продолжается после нажатия любой клавиши.
ЗВУК - позволяет подключать (Да) или отключать (Нет) звуковой сигнал при высвечивании сообщения на экран,
при этом вид сигнала устанавливается в режиме АДМИНИСТРАТОР - ДИЗАЙН - ЗВУК.
ДЛИНА ЗНАЧЕНИЯ - количество символов (не более 70), задающих ширину высвечиваемого на экране ПОЛЯ
ДЛЯ ВВОДА ЗНАЧЕНИЯ. Это поле Вы можете использовать для ввода при выполнении
МАКРОса. После ввода и нажатия Enter выполнение МАКРОса будет продолжено.
ДВИЖЕНИЕ - даст Вам возможность перемещать созданное сообщение по экрану, используя клавиши управления.
Вы можете корректировать сообщения при выполнении МАКРОСа. Для этого во время выдачи сообщения Вам надо
успеть нажать Alt+T и выполнить коррекцию. Количество сообщений в одном МАКРОсе неограниченно.
И еще одно маленькое дополнение. При выполнении МАКРОСа иногда требуется приостанавливать его для
некоторых требуемых действий (поиск кода в словаре, выбор файла, ввод некоторого текста с клавиатуры, задание
переменного параметра в запросе по образцу - "действий" несколько шире, чем просто ввод значения). Для этого
используйте клавиши Alt+W. После нажатия этой комбинации во время проектирования, при выполнении МАКРОса в
этом месте Вы сможете выполнить некоторые действия, закончив их Enter или Esc.
Глава 9. ВЫХОД
Режим ВЫХОД используется для завершения работы с системой или перехода в другой банк данных и включает два
вида работ:
ВЫБОР БАНКА предлагается указать в общем списке созданных банков тот, который Вам необходим для работы.
КОНЕЦ РАБОТЫ служит для нормального завершения работы с системой. После выбора режима и
соответствующего подтверждения Вы заканчиваете работу и возвращаетесь в DOS.
Не отключайте компьютер и не осуществляйте перезагрузку, не выполнив выхода из системы! Это
может привести к потере информации и возникновению различных ошибок!
ПРИЛОЖЕНИЕ №1. ОПИСАНИЕ РЕЖИМА УДАЛЕННОЙ ОБРАБОТКИ
Режим УДАЛЕННАЯ ОБРАБОТКА позволяет связать два или несколько компьютеров между собой по телефонному каналу с
помощью модемов и обеспечивает выполнение режимов:
- удаленная обработка запросов;
- удаленная загрузка.
В качестве телекоммуникационного программного обеспечения удаленной обработки мы рекомендуем использовать программу
TELEMATE (ver 4.12). Допускается использование и других телекоммуникационных программ, в которых есть возможность описания
сценария обмена данными.
Из пары связанных компьютеров один назовем HOST (тот, на котором установлен банк и к которому направляется запрос или
загрузка), а второй REMOTE (с которого выполняется запрос или входные сообщения направляются на удаленную загрузку). В
качестве HOST компьютера может быть использована станция локальной сети. В общем случае, допускается один HOST и несколько
REMOTE. При этом, к одному HOST компьютеру может быть подключено несколько модемов, в частном случае и по выделенному
каналу. Необходимым условием работы HOST компьютера является наличие на нем Windows, так как режим удаленной обработки
возможен только в случае одновременной работы системы и модемной программы в фоновом режиме (для нескольких каналов модемная программа должна быть сконфигурирована и запущена несколько раз).
Инструментальная система управления базами данных
107
Использовать информацию HOST-компьютера может только зарегистрированный в качестве абонента пользователь. Регистрацию
пользователя производит администратор системы в системном журнале.
Регистрацию пользователей, имеющих доступ к информации HOST компьютера, производит администратор системы в словаре №
2 "Абоненты" банка "Системный журнал", расположенного на HOST компьютере. Для удаленных пользователей в качестве кода
должен быть использован серийный номер системы, установленной на REMOTE компьютере (Alt+V). В качестве понятия неформализованный текст с данными пользователя.
Если словарь №2 "Абоненты" отсутствует или пуст, любой удаленный пользователь будет иметь доступ к информации HOST
компьютера. Если в словаре зарегистрирован хотя бы один пользователь, то при обращении незарегистрированного пользователя к
HOST компьютеру на REMOTE компьютере появится сообщение: ВЫ НЕ ЗАРЕГИСТРИРОВАНЫ В КАЧЕСТВЕ АБОНЕНТА.
Выполнение запроса или загрузка информации при этом не производится.
При передаче запрос и ответ автоматически шифруется при отправке и дешифруется при приеме.
ПОРЯДОК УСТАНОВКИ
На HOST-компьютере в рабочем каталоге, создать подкаталог HOST, а в нем еще один подкаталог 1 (например,
С:\CROWORK\HOST\1\) и с дистрибутивной дискеты из каталога A:\HOST\*.* переписать в него файлы:11 HOST.BAT, HOST.TMS,
HOST.PIF, TM.CFG, TM.EXE, TM.FON, TM.OVL, TM.USE.
На REMOTE-компьютере в рабочем каталоге создать подкаталог REMOTE и переписать в него из каталога A:\REMOTE\*.* с
дистрибутивной дискеты файлы: REMOTE.BAT, REMOTE.TMS, TM.CFG, TM.EXE, TM.FON, TM.OVL, TM.USE.
Провести настройку программы TELEMATE на подключенный модем. Настройка TELEMATE должна быть одинаковой для обоих
компьютеров. Для этого запустить программу TM.EXE. После нажатия ALT+O раскрывается меню OPTIONS. Выбрать опцию
TERMINAL и включить в окне FLOW CONTROL опцию RTS/CTS.
Flow Control ............ [X] RTS/CTS
Выбрать опцию COMMUNICATION и установить параметры подключенных модемов:
- скорость модема (BAUD ROTE);
- порт к которому подключен модем (COM PORT).
Нажать OK. Для сохранения установленных параметров из меню OPTIONS выбрать SAVE OPTIONS. Для выхода из программы нажать ALT+X. Провести аналогичную операцию на другом компьютере.
Примечание.
Для определения параметров подключенного модема используйте программу TERM90. После запуска
TERM90.EXE нажмите Alt+F5. Выберите файл TESTMDM.SCX, в котором будут указаны требуемые параметры.
Если компьютер используется и как REMOTE и как HOST, то настройку программы TELEMATE провести и в директории
REMOTE и в директории HOST.
ПОРЯДОК ОБРАБОТКИ ЗАПРОСОВ
Перевести HOST-компьютер в режим ожидания для чего:
- запустить WINDOWS;
- выполнить из директория \HOST\1\ файл HOST.PIF ;
- запустить командный файл системы CR.BAT;
- войти в режим УДАЛЕННАЯ ОБРАБОТКА и установить параметры обработки:
Задайте параметры удаленной обработки:
Ограничение:
на время обработки в минутах
2
на число отобранных объектов
100
[Выполнить]
[Отказ]
ВРЕМЯ ОБРАБОТКИ не позволяет удаленным пользователям монополизировать доступ к серверу, путем задания сложных
и длительных по времени поиска запросов. Время задается в минутах, целым числом. Например, 10.
Это значит, что по прошествии 10 минут поиск информации будет прерван, а в ответ на запрос будет
направлена информация, отобранная за время обработки. Для снятия ограничений на время обработки
используйте 0.
ОГРАНИЧЕНИЕ НА ЧИСЛО ОТОБРАННЫХ в запросе корневых объектов не позволяет удаленному пользователю
монополизировать доступ к серверу путем задания быстро выполняемых запросов (например,
запросов по индексам или запросов без наложения поисковых ограничений, отбирающих все объекты
из базы). Отобранная информация может иметь значительный объем и загрузить канал передачи на
длительное время. Количество задается целым числом. Например, 1000. Это значит, что после
отбора первых 1000 объектов, поиск будет прерван и сформирован ответ лишь по отобранным
записям. Для снятия ограничений используйте 0.
После задания этих параметров выберите опцию ВЫПОЛНИТЬ и переведите систему в режим ожидания.
Примечание.
Если файл HOST.PIF не запускается:
- запустить WINDOWS;
- запустить MS-DOS (стандартная иконка в WINDOWS);
- выполнить из директория \HOST\1\ файл HOST.BAT (установить фоновый режим выполнения);
- запустить командный файл системы CR.bat;
- войти в режим УДАЛЕННАЯ ОБРАБОТКА, после чего на экране появится сообщение: РЕЖИМ ОЖИДАНИЯ.
При выходе из режима ОЖИДАНИЯ нажатием клавиши Esc происходит отключение программы TELEMATE. Для повторного
запуска программы описанные выше действия требуется повторить.
11
Телекоммуникационная программа TELEMATE в стандартную поставку не входит.
Инструментальная система управления базами данных
108
На REMOTE-компьютере:
- запустить систему командным файлом;
- сформировать запрос, используя режимы РАЗОВЫЙ ЗАПРОС и ЗАПРОСЫ по ОБРАЗЦУ;
- нажать Esc и выбрать команду УДАЛЕННАЯ ОБРАБОТКА.
Удаленная обработка запросов
Режим выдачи\обработки
Нумерация ответов
Номер телефона
Да/Нет
[Выполнить] [Форма выдачи] [Сохранить] [Отказ]
Режим ВЫДАЧИ\ОБРАБОТКИ и НУМЕРАЦИЯ ОТВЕТОВ задаются аналогично обычной обработке, которую мы разбирали
ранее.
Примечание. Удаленная обработка возможна только в том случае, если структуры банков данных на HOST и REMOTE
компьютерах совпадают или, что наиболее часто используется, на REMOTE компьютере установлена копия
банка данных без данных HOST компьютера.
НОМЕР ТЕЛЕФОНА модема НОST- компьютера при запросе "внутри города" задается в виде последовательности цифр
соответствующей длины без пробелов и разделителей (например, 1234567 или 456789).Для набора междугороднего номера после
цифры "8" установите разделитель ",W" и код города, заключенный в скобки (например, 8,W(095)1234567).
Если все параметры установлены, нажмите клавишу ENTER на слове ВЫПОЛНИТЬ, тем самым направляя запрос на выполнение.
Если попытки связаться с указанным номером неудачны, нажмите -> или <- и убедитесь правильно ли задан в поле Phone в таблице,
высвечиваемой на экране, номер телефона. Если номер не совпадает с тем, что Вы задавали, нажмите клавишу Esc и затем F6 и в поле
Phone задайте правильный номер. Нажмите ENTER. Попытки связаться будут продолжены.
После завершения выполнения запроса на REMOTE-компьютере появится сообщение:
ПОЛУЧЕН ОТВЕТ НА ЗАПРОС №___. БУДЕТЕ ПРОСМАТРИВАТЬ ОТВЕТ?
Полученные ответы размещаются в директории REMOTE. Нумерация запросов производится автоматически. Номер ответа
совпадает с номером запроса.
ПОРЯДОК УДАЛЕННОЙ ЗАГРУЗКИ ВХОДНЫХ СООБЩЕНИЙ
Установить HOST-компьютер в режим ОЖИДАНИЯ, аналогично тому как это было описано ранее.
На REMOTE-компьютере:
- запустить систему командным файлом;
- ввести входное сообщение;
- находясь в режиме НАКОПЛЕНИЕ-ВВОД ИНФОРМАЦИИ в таблице, содержащей
список записей входного файла нажать Alt+F9;
- выбрать сообщения для загрузки;
- задать номер телефона модема НОST- компьютера.
Удаленная обработка запросов
Номер телефона
[Выполнить] [Сохранить] [Отказ]
Нажмите клавишу ENTER на команде ВЫПОЛНИТЬ, тем самым направляя отобранные сообщения на удаленную загрузку. После
завершения загрузки на REMOTE-компьютере Вы получите сообщение:
ПОЛУЧЕН ОТВЕТ НА ЗАПРОС №____. БУДЕТЕ ПРОСМАТРИВАТЬ ОТВЕТ?
Полученные ответы размещаются в директории REMOTE. Файл ответа содержит диагностическое сообщение о результатах
загрузки для каждого загружаемого входного сообщения. Нумерация запросов производится автоматически. Номер ответа совпадает с
номером запроса. Например, OTV1. Кроме протокола удаленной загрузки Вы можете получать и данные о проверке на равенство или
похожесть данных банка загружаемым объектам. Для этого на HOST-компьютере в режиме ПРОЕКТИРОВАНИЕ - ЗАПРОСЫ ПО
ОБРАЗЦУ Вам потребуется создать запросы по образцу для каждой базы по которой требуется проводить проверку. Для этой цели
зарезервированы номера запросов по образцу с 900 по 920.
При формировании критерия отбора таких запросов должны выполняться следующие требования:
- допустимо использовать только два вида сравнения: РВ (равно) и ПХ (похожесть);
- в запросе нельзя использовать отсылки на связанные базы;
- поисковым характеристикам присвоить значение 1;
Например: ОТ ЛЦ01 02 РВ 1 И 03 РВ 1
или
ОТ РГ01 01 РВ 1 ИЛИ 02 ПХ 1
- при формировании внешнего вида запроса поисковым характеристикам установить статус НЗ (нет значения).
Выбрать требуемый вид обработки\выдачи информации. Если такие запросы по образцу созданы, то при удаленной загрузке
происходит следующее: входное сообщение загружается в банк, затем поочередно обрабатываются запросы по образцу (номера 900920) по тем объектам, которые присутствовали во входном сообщении. Поисковым характеристикам в критерии отбора вместо "1"
присваивается соответствующее значение из объекта входного сообщения. Запрос обрабатывается и результат в текстовом файле OTV
выдается на REMOTE-компьютере по указанной в запросе по образцу форме за диагностическим сообщением о загрузке.
Примечание. Во входном сообщении характеристики, которые будут использованы в критерии отбора при обработке запроса
на HOST-компьютере обязательно должны иметь значения.
Инструментальная система управления базами данных
109
П: Можно ли работать с системой на HOST-компьютере пока выполняется удаленный запрос?
Р: Нет.
П: Должны ли быть полностью одинаковые структуры?
Р: Структуры должны быть одинаковые или вложенные.
П: Что будет, если HOST-компьютер не в режиме ожидания или телефон занят?
Р: Будут продолжаться попытки связаться с HOST-компьютером пока не будет снят запрос на REMOTE-компьютере.
Для отказа от выполнения запроса нажать Esc.
П: Как быть, если запрашиваемый объем очень большой, а ограничения на количество объектов установлены не были.
Как прервать обработку?
Р:. На HOST-компьютере нажать Esc.
ПРИЛОЖЕНИЕ №2. ОПИСАНИЕ ФАЙЛОВОЙ СТРУКТУРЫ СИСТЕМЫ
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ системы составляют файлы, размещаемые в СИСТЕМНОМ каталоге жесткого диска при
установке. Их имена:
INTSERV.EXE; AREV.EXE; REV75000.LK; REV75000.OV; REV75001.LK; REV75001.OV; REV75005.LK;
REV75005.OV; REV75015.LK; REV75015.OV; REV75022.LK; REV75022.OV; REV75023.LK;
REV75023.OV;
REV75031.LK; REV75033.OV; REV75033.LK; REV75036.OV; REV75036.LK; REV75067.OV; REV75067.LK;
REVMEDIA.OV; REVMEDIA.LK; REVBOOT; REVERROR.000
. Тексты "ПОМОЩИ" хранятся в файлах с именами HLP.DAT и HLP.TAD, а тексты "МЕНЮ" соответственно - MENU.DAT и
MENU.TAD. Для хранения текстов "SETUP" отведены файлы с именами SYSTEM.DAT и SYSTEM.TAD. Все перечисленные выше
файлы зашифрованы. Дополнительные файлы: FNT0.LEX - загружаемые шрифты для матричных принтеров; LOADFONT.EXE программа загрузки шрифтов.
В РАБОЧЕМ каталоге как сетевой, так и однопользовательской версии будет сформирован файл с именем STATION,
имеющий атрибуты: READ ONLY и HIDDEN. В нем в сетевой версии будет храниться порядковый номер станции локальной сети,
в однопользовательской - 1. В случае удаления этого файла потребуется повторное снятие защиты. Кроме этого обязательного
файла в рабочем каталоге при установке системы формируется файл EDIT.BAT, в котором хранится вызов внешнего текстового
редакторы. Как его изменить для подключения используемого Вами редактора мы рассматривали в разделе “Интерфейс
пользователя”.
ВРЕМЕННЫЕ ФАЙЛЫ, формируемые при работе системы в рабочем каталоге, Вы можете удалять, не нарушив целостность
программного обеспечения.
При использовании режима ВВОДА нового объекта в режиме ПОСЛЕДОВАТЕЛЬНОЙ КОРРЕКЦИИ в рабочем каталоге
формируются файлы VVODTEMP.DAT и VVODTEMP.TAD, куда помещается вводимая информация. После загрузки данных в
банк эти файлы автоматически очищаются.
В рабочий каталог помещаются ответы на запросы (по умолчанию файл OTVET), формируемые автоматически при каждой
выдачи результатов поиска на экран дисплея или в файл. Эти файлы автоматически не удаляется.
При РЕВИЗИИ БАНКА номера ошибочных записей, выявленных ревизией, сохраняются в файле, имя которого задается в
поле СОХРАНЕНИЕ РЕЗУЛЬТАТОВ РЕВИЗИИ. В дальнейшем, используя режим ОБРАБОТКА - РЕЗУЛЬТАТ ПОИСКА, Вы
имеете возможность отобрать ошибочные записи для просмотра или коррекции. Для каждой базы формируется свой файл,
который состоит из двух частей:
<имя файла><N базы>.0 - строчная запись запроса для отбора ошибочных объектов;
<имя файла><N базы>.1 - список системных номеров ошибочных объектов.
Например, задав имя файла ERROR, в случае обнаружения в 3-й базе ошибок в рабочий каталог запишутся два файла
ERROR3.1 и ERROR3.0.
Результаты обработки запроса хранятся в файле, имя которого Вы задаете при выполнении команды ОТОБРАТЬ ЗАПОМНИТЬ. Файл состоит из двух частей:
<имя файла>.0 - строчная запись запроса, по которому проводился поиск;
<имя файла>.1 - список системных номеров объектов, удовлетворяющих поисковому ограничению.
ФАЙЛЫ БАНКА ДАННЫХ хранятся в каталоге, который является адресом банка, и составляют три группы: файлы данных,
файлы структуры банка и индексные файлы. Все эти файлы хранятся на диске в зашифрованном виде. В качестве алгоритма
криптования использован метод колонной замены.
ФАЙЛЫ ДАННЫХ формируются автоматически после завершения описания баз, входящих в банк, и выполнения процедуры
инициализации данных. Каждая база описывается двумя файлами:
B<N базы>.DAT - файл данных;
B<N базы>.TAD - файл адресного пространства записей,
где, <N базы> - номер базы в списке баз банка.
Например, В02.DAT и В02.ТAD - файлы данных и адресного пространства второй базы банка.
К файлам данных также относятся файлы предназначенные для хранения значений характеристик типа ФАЙЛ. Для них
зарезервированы имена:
FILES.DAT - файл данных;
FILES.TAD - файл адресного пространства,
Если различные базы, входящие в один банк, используют характеристики этого типа, их значения хранятся в этих двух
файлах, поэтому номер базы в имени файлов отсутствует.
Инструментальная система управления базами данных
110
ИНДЕКСНЫЕ ФАЙЛЫ, в случае их создания, формируются для каждой индексной характеристики и имеют имена:
В<N базы><N поля>.DAT - файл индексов;
В<N базы><N поля>.ТАD - файл адресного пространства индексов,
где, <N базы> - двузначный номер базы в списке баз банка;
<N поля> - трехзначный номер поля характеристики в базе (десятая графа таблицы описания
характеристик базы).
Например, В02009.DAT и В02009.ТAD - файл индекса и его адресного пространства для характеристики из второй
базы, у которой номер поля - девятый.
ФАЙЛЫ СТРУКТУРЫ БАНКА предназначены для хранения всех параметров описания банка (списка баз, состава
характеристик, описания форм ввода/вывода, таблиц экспорта-импорта, и т.д.) имеют имена SRTUCT.DAT и STRUCT.TAD.
Таким образом в каталоге банка данных могут присутствовать лишь эти 3 группы файлов. Файлы с другими именами
никакого отношения к банку не имеют и могут быть удалены.
СЛОВАРНЫЕ ФАЙЛЫ размещаются в каталоге, отведенном под словарную базу. Для каждого словаря при его создании
резервируются 2 файла:
SL<N словаря>.DAT - файл данных словаря;
SL<N словаря>.TAD - файл адресного пространства словаря.
где, <N словаря> - номер словаря в списке.
Список словарей хранится в файлах SL000.DAT и SL000.TAD.
ФАЙЛЫ ВХОДНЫХ СООБЩЕНИЙ, формируемых в режиме ВВОД и образующих ФАЙЛ ВХОДНЫХ СООБЩЕНИЙ, имеют
имена:
INVVOD.DAT - для хранения входных данных;
INVVOD.TAD - файл адресного пространства файла INVVOD.DAT.
Download