Индексное поле - Большая Энциклопедия Нефти и Газа, статья, страница 3
Девиз Канадского Билли Джонса: позволять недотепам оставаться при своих деньгах - аморально. Законы Мерфи (еще...)

Индексное поле

Cтраница 3


Каждая самостоятельно транслируемая программа ( программный модуль) в результате загрузки в память занимает одну или несколько областей. По назначению имеются следующие типы областей: основные, рабочие и общие. Кроме того, при использовании в программе индексных ячеек для них выделяется индексное поле. Каждая программа-модуль обязательно занимает хотя бы одну общую область, а также может иметь несколько рабочих и общих областей.  [31]

Напомним, что если ваше предложение РСВ содержит параметр PROCSEQ, идентифицирующий вторичный индекс, то вы всегда сможете задать имя индексного поля в SSA. Если же предложение РСВ не содержит параметра PROCSEQ, то предложение SENSEG для целевого сегмента индекса должно включать параметр INDICES, именующий DBD вторичного индекса. В том случае, когда ваш PSB не содержит ни одного из этих параметров, программа не имеет информации о вторичном индексе, и вы не можете сослаться на индексное поле в SSA, а значит, и пользоваться преимуществами, которые предоставляются вторичной последовательностью обработки. Таким образом ваш PSB управляет способом использования вторичного индекса.  [32]

33 Вторичный индекс JMAMEINDX. [33]

Это сегмент в индексируемой базе данных, который содержит индексное поле. Индексное поле представляет собой поле или комбинацию полей сегмента-источника индексов, по которому мы хотим упорядочить вторичный индекс. В данном случае индексным полем является поле ИМЯ ПАЦИЕНТА ( PATNAME) в сегменте ПАЦИЕНТ. Вторичный индекс будет упорядочен по этому полю. Индексное поле может быть составлено из нескольких ( от одного до пяти) полей сегмента-источника индекса.  [34]

35 Вторичный индекс JMAMEINDX. [35]

Индексное поле имеет особую значимость для прикладной программы. В действительности это новое поле, которое определяется в DBD базы данных при установлении вторичного индекса. Вы можете сослаться на индексное поле в SSA, если вам нужно, чтобы DL / 1 осуществил поиск сегмента с помощью вторичного индекса. В дальнейшем мы рассмотрим индексное поле более подробно.  [36]

Видоизменением метода служит индексирование массива. Вместо использования алгоритма для отыскания записей создается второй массив, который содержит только значения ключевых полей и соответствующие номера записей или их адреса. Этот подход полезен для небольших массивов, в которых значения ключевых полей весьма не регулярны. Если нужно выполнить последовательную обработку некоторого поля массива, то вместо создания отдельного индексного поля может оказаться более экономичным введение индекса в каждую запись. При этом запись содержит индексное указание на следующую запись в последовательности. Индексирование является основным методом, применяемым в операционных системах всех типов, содержащих библиотеки программ. Индексный массив, обычно называемый в этом случае указателем, содержит имя, адрес и размер каждого программного модуля.  [37]

38 PSB, использующий вторичный индекс 128. [38]

Для этого предложение РСВ должно идентифицировать DBD вторичного индекса, применяемого при создании вторичной упорядоченности обработки. На рис. 9.15 показан PSB для вторичного индекса NAMEINDX. Предполагается, что уже были выполнены процедуры DBDGEN, позволяющие определить вторичный индекс и индексное поле. Выражение PROCSEQ операнд специфицирует имя DBD вторичного индекса.  [39]

В предыдущем примере сегмент-источник индекса и сегмент-цель были представлены одним и тем же сегментом. Это не является обязательным требованием. В DL / 1 допускается, чтобы сегмент-источник был зависимым от целевого сегмента или совпадал с целевым сегментом. На рис. 9.22 приведен пример, когда сегментом-источником является сегмент ВРАЧ. На этот раз для создания индексного поля используется поле ИМЯ ВРАЧА.  [40]

Существуют два способа использования программой вторичного индекса. Каждый из них требует применения PSB, который будет ссылаться на имя DBD вторичного индекса. Первый способ состоит в упорядочении сегментов в базе данных в соответствии со вторичным индексом. При этом каждое предложение РСВ в вашем PSB может содержать параметр PROCSEQ для именования одного вторичного индекса. Ваша программа может также использовать имя индексного поля в SSA. Второй способ предполагает обычную последовательность обработки базы данных, но программе разрешается использовать имя индексного поля в SSA. В этом случае каждое предложение SENSEG для целевого сегмента индекса может содержать параметр INDICES с целью указания имени одного или нескольких DBD вторичных индексов.  [41]

При выполнении сегментированной программы участок памяти, отведенный для нее, занимается следующим образом. Эти ячейки будут расположены вплотную к полю областей, а положение их будет зафиксировано в указателе заполнения памяти. Очередной загружаемый сегмент располагается в памяти в соответствии с содержимым указателя. Ячейки индексов этого сегмента располагаются в индексном поле за ячейками индексов предыдущего сегмента. Основные, рабочие и общие области располагаются так же, как соответствующие области предыдущего сегмента, причем для общих областей с совпадающими наименованиями новое место в памяти не отводится. При загрузке сегмента автоматически корректируется указатель заполнения памяти. Если очередной сегмент вызывается на место предыдущего, то в программе должно быть предусмотрено предварительное освобождение памяти предыдущего сегмента. При освобождении памяти восстанавливается предыдущее состояние указателя.  [42]

В ячейку SUM перед началом работы помещается нуль. В конце цикла необходимо изменить содержимое индексной ячейки. И для того, чтобы при повторении цикла был использован адрес очередного слагаемого. Программа использует индексные ячейки, поэтому нельзя забывать о резервировании индексного поля и установке базиса индекса.  [43]

44 Вторичный индекс JMAMEINDX. [44]

Это сегмент в индексируемой базе данных, который содержит индексное поле. Индексное поле представляет собой поле или комбинацию полей сегмента-источника индексов, по которому мы хотим упорядочить вторичный индекс. В данном случае индексным полем является поле ИМЯ ПАЦИЕНТА ( PATNAME) в сегменте ПАЦИЕНТ. Вторичный индекс будет упорядочен по этому полю. Индексное поле может быть составлено из нескольких ( от одного до пяти) полей сегмента-источника индекса.  [45]



Страницы:      1    2    3    4