Cтраница 3
Работая с индексно-последовательным файлом, программист прямо не касается внутреннего строения файла, а манипулирует записями и ключами. Когда логическая запись переносится в файл, ей назначается ключ. Этот же ключ указывается, если требуется получить запись из файла. Как упоминалось выше, файл может просматриваться последовательно, начиная с первой записи или с другой, ключевой признак которой назначается отдельной командой. В последнем случае для получения записи не требуется называть ее ключ, так как он вместе с записью считывается в оперативную память. Значение ключа может анализироваться программой. [31]
Записи в индексно-последовательном файле могут быть сблокированными при условии, что поле ключа также содержится в поле данных. [32]
Записи в индексно-последовательном файле не могут быть переменной длины. Предполагаются фиксированные максимального размера. [33]
Если индексный или индексно-последовательный файл ( ключевой файл) состоит из записей, ключ файла специфицируется в его определении. У файлов, состоящих из данных простых типов и строк, ключом является значение соответствующего типа. Данные других типов компонентами ключевых файлов быть не могут. [34]
![]() |
Положение ключей в записях постоянной длины ин-дексно-последовательных файлов. [35] |
В поле записи индексно-последовательного файла, когда записи не сблокированы, ключ вообще может отсутствовать: он помещается в физическую ключевую область носителя. [36]
Режим используется для индексно-последовательных файлов при блокировании записей. [37]
Заполняется только для индексно-последовательных файлов. В графе указывается значение А, если к индексно-последовательному файлу добавляются новые записи. В противном случае графа не заполняется. [38]
![]() |
Описание файлов и вводных данных для получения отчета Сведения о сотрудниках. [39] |
При обработке частей индексно-последовательного файла на бланке описания файлов требуется описать оба файла: файл адресов и индексно-последовательный. Индексно-последовательный файл описывается так же, как и для последовательной обработки. Дополнительно в графе Метод обработки указывается L - признак того, что требуется обрабатывать части файла. [40]
Рассмотрим пример создания индексно-последовательного файла на диске. [41]
При первоначальной загрузке индексно-последовательного файла записи, как правило, блокируются. [42]
Для работы с индексно-последовательным файлом можно использовать два режима обработки: ) последовательную обработку, при которой записи обрабатываются в последовательности их размещения ка внешнем запоминающем устройстве, и 2) произвольную обработку, при которой записи обрабатываются в произвольной последовательности, не связанной с физической организацией записей на внешнем устройстве. В зависимости от того, какой режим обработки записей преобладает, выбирают ту или иную разновидность индексио-последователь-ной организации. Одни файлы используются в основном в режиме последовательной обработки записей, и только в редких случаях требуется произвольная обработка. Для других файлов может преобладать режим произвольной обработки. Преобладание одного из режимов обработки отражается в используемых методах организации файлов. Для первого типа файлов записи организованы последовательно и имеется дополнительный индекс, позволяющий обращаться к записям в произвольном порядке. [43]
Поиск записей в индексно-последовательном файле основан на этом же принципе: по индексу цилиндра находят цилиндр, на котором следует искать запись, далее по индексу дорожки - дорожку, а потом ее ключ сравнивается с ключом первой из записей индекса дорожки, относящихся к этой дорожке. Это сравнение показывает, где искать запись: непосредственно на дорожке или на дорожке переполнения. В первом случае делается просмотр ключей всех записей на дорожке, а во втором - поиск идет по адресу, указываемому полем данных второй дорожки нужной пары. Если по этому адресу искомой записи нет, то там имеется адрес записи, вытесненной ранее, по которому мы за некоторое число шагов дойдем либо до искомой записи, либо до записи с нулевым адресом. Это означает, что искомой записи в файле нет. [44]
![]() |
Индексно-последовательная адресация. Возможны несколько уровней индекса ( рис,. [45] |