Cтраница 2
Просматривается указанная дорожка индекса цилиндров и определяется элемент, у которого значение ключа больше или равно значению искомой записи. Этот элемент в свою очередь указывает адрес дорожки на 11 - м цилиндре, где располагается индекс дорожек данного цилиндра. [16]
Естественно, мастер-индекс и индексы цилиндров располагаются в своих собственных областях на дисках. Соответствующая информация содержится в метке формата 2, которая привязывается к метке формата 1 для всех индексных наборов данных. Обе метки создаются при организации файла. Тогда же программист указывает количество дорожек, которые должны быть выделены для области переполнения, и может определить даже разделенный файл. В этих областях переполнения программа индексно-последовательного метода доступа будет хранить и искать любые записи, которые не поместятся в обычные области переполнения. Заметим, что из-за добавления к записям десятибайтового поля указателя получается только лишь по десять записей переполнения на 8 - й и 9 - й дорожках по сравнению с одиннадцатью записями на других дорожках. [17]
Пиид - количество записей индекса цилиндров, которое может поместиться на одной дорожке. [18]
ЭВМ считывает соответствующую дорожку индекса цилиндров. [19]
Записи главного индекса описывают дорожку индекса цилиндров и содержат в поле данных адрес этой дорожки, а в поле ключа - наибольший ключ записи на цилиндре. Он также строится на отдельном участке диска, который должен обязательно непосредственно предшествовать участку индекса цилиндров. [20]
Главные индексы сокращают время просмотра индекса цилиндров в больших наборах данных. [21]
![]() |
Структура индексно-последовательного набора данных. [22] |
Область индексов используется для размещения индексов цилиндров и главных индексов. Индекс цилиндров создается для каждого цилиндра основной области. Каждый элемент индекса цилиндров адресует один индекс дорожек соответствующего цилиндра основной области. [23]
При создании больших файлов, когда индекс цилиндров занимает более трех дорожек, на поиск цилиндра ( по индексам цилиндра), на котором располагается запись, затрачивается относительно много времени. Для ускорения этого поиска программист может предусмотреть создание главного индекса. Последний строится на отдельном участке диска, непосредственно предшествующем участку индекса цилиндров. [24]
В основной памяти может располагаться весь индекс цилиндров или его часть. [25]
Однако, если область, предназначенная индексу цилиндров недостаточ-но велика, ключи записей, подлежащих обработке, следует предварительно рассортировать так, чтобы резидентный индекс цилиндров использовался эффективно. [26]
Если набор данных так велик, что индекс цилиндров занимает много дорожек, программист имеет возможность сформировать уровень главного индекса. В соответствии со ступенчатой структурой индексов низшего уровня главный индекс может содержать элемент для каждой дорожки, на которой записаны элементы индекса цилиндров. Этот элемент дает адрес каждой дорожки индекса цилиндров и наибольший по величине номер детали, содержащийся на этой дорожке. Уровень главного индекса может также состоять из трех уровней индексов, если набор данных достаточно велик и программист полагает, что это необходимо. Каждый уровень главного индекса образует элементы для следующего, более высокого уровня этого индекса: число уровней не должно превышать трех. [27]
Рассчитаем количество дорожек, требуемое для области индекса цилиндров. [28]
Нахождение в главном индексе адреса той дорожки индекса цилиндров, на которой наибольший номер детали превышает 32967 или равен этому числу; поиск в главном индексе ведется от меньших значений к большим. [29]
Главные индексы помещаются в одну область с индексами цилиндров. [30]