Cтраница 2
При построении вторичного индекса SURGINDX АБД может написать служебную программу для проверки поля SURGERY-FLAG ( ИНДИКАТОР ОПЕРАЦИИ) в сегменте НАЗНАЧЕНИЕ. Если это поле показывает, что для пациента не запланирована операция, то сегмент-указатель для данного сегмента может быть удален из вторичного индекса. [16]
![]() |
Повторный ввод избыточной ассоциации ( сегмент - сегмент. [17] |
В осуществляется через вторичный индекс или когда логическая связь с В реализована без участия сегмента А. [18]
![]() |
Спецификация сегмента переменной длины НАЗНАЧЕНИЕ. [19] |
По существу, вторичный индекс - это маленькая, замкнутая база данных, хранящая совокупность индексных сегментов, которые указывают на сегменты в индексируемой базе данных. Вторичный индекс позволяет обрабатывать сегменты в порядке, отличном от ключевой последовательности. Каждый вторичный индекс имеет свое собственное DBD. Связь базы данных вторичных индексов с основной базой данных определяется специальными параметрами DBDGEN. Вопросы спецификации DBDGEN здесь не рассматриваются. [20]
Термин поисковый ключ означает вторичный индекс. Допускается декларация нескольких поисковых ключей для ти1 - л записи-члена с тем, чтобы обеспечить эффективный поиск записей-членов в экземпляре набора. [21]
На рисунке показан также вторичный индекс пг iio ii В. [22]
![]() |
PSB, использующий вторичный индекс 128. [23] |
Существуют два способа использования программой вторичного индекса. Каждый из них требует применения PSB, который будет ссылаться на имя DBD вторичного индекса. Первый способ состоит в упорядочении сегментов в базе данных в соответствии со вторичным индексом. При этом каждое предложение РСВ в вашем PSB может содержать параметр PROCSEQ для именования одного вторичного индекса. Ваша программа может также использовать имя индексного поля в SSA. Второй способ предполагает обычную последовательность обработки базы данных, но программе разрешается использовать имя индексного поля в SSA. В этом случае каждое предложение SENSEG для целевого сегмента индекса может содержать параметр INDICES с целью указания имени одного или нескольких DBD вторичных индексов. [24]
Типичным примером информационной системы с вторичными индексами является система, выдающая информацию о сбыте товаров фирмы. [25]
![]() |
Использование оператора независимое И. [26] |
На рис. 9.26 показана база данных БОЛЬНИЦА с двумя вторичными индексами, индексирующими ее. Предположим, что в сегменте НАЗНАЧЕНИЕ определяется дополнительное поисковое поле. Оно не было определено в качестве поискового в первоначальном примере базы данных. Вторичный индекс SURGINDX ( ИНДЕКС ОПЕРАЦИИ) упорядочивается по полю SURGDATE, которое показывает, на какое число запланирована операция для каждого пациента. Вторичный индекс, упорядоченный по дате операции и имеющий в качестве целевого сегмента ПАЦИЕНТ, позволит нам найти всех пациентов, которым на определенный день запланирована операция. [27]
Часто бывает желательно, чтобы каждому сегменту-указателю в базе данных вторичного индекса соответствовало уникальное значение ключевого поля. АБД может специфицировать поля дополнительного упорядочения, для того чтобы сделать ключевые значения уникальными. Например, база данных БОЛЬНИЦА может содержать более одного сегмента ПАЦИЕНТ с одинаковым значением ИМЯ ПАЦИЕНТА. Если мы поместили в сегмент-указатель только значение ИМЯ ПАЦИЕНТА, то более одного сегмента-указателя может содержать одно и то же значение ключа. Это снижает эффективность функционирования базы данных вторичного индекса. [28]
Для уменьшения времени поиска по длинным цепочкам подобных сегментов рекомендуется использовать вторичные индексы или же разбивать подобные сегменты на группы, определив в структуре каждой группы сегменты-индексы в качестве исходных сегментов. [29]
При использовании второго варианта записи главного файла не закрепляются указателями из вторичного индекса. [30]