Организуется общая резервная область переполнения для всех блоков.
Отводится дополнительная область переполнения каждому блоку
. . . .
Для дополнения записи в индексно-последовательном методе используются различные приемы. Например,
4.4 Индексно-произвольный метод доступа
Записи исходного файла могут быть размещены в произвольном порядке. Для реализации метода используется индексный файл. Отметим, что объем индексного файла такой же, как и у исходного.
Возможны два варианта:
а) индекс упорядочен по возрастанию ключа.
бл.1
Индекс
Адрес
3
2
1
бл.2
б) Индекс не упорядочен. Значения ключа располагаются в произвольном порядке. В этом случае помимо исходного и индексного файлов необходимо осуществить программу рандомизации или перемешивания. Эта программа необходима для того, чтобы вычислить по значению индексного ключа адрес блока. На практике широко применяются различные алгоритмы рандомизации. При осуществлении программ рандомизации обычно стремятся к равномерному заполнению блоков.
Выводы. 1. В индексно-произвольном методе эффективность хранения очень низкая, т.к. объем индексного файла равен объему исходного.
4.5 Инвертированный метод доступа
Этот метод служит для обеспечения быстрого поиска данных с использованием вторичных ключей. В примере раздела 4.3 это может быть разбивка рабочих по цехам. Для реализации метода создается инвертированный файл. Такой подход позволяет избежать просмотра всех записей файла.
Рассмотрим пример. Допустим необходимо найти всех рабочих 6 цеха.
Исходные файлы
Адрес блока
Инвертиро-ванный файл
Структура инвертированного файла сходна со структурой индексного файла, только здесь в качестве индексов берутся значения вторичного ключа. В блоках записываются значения первичных ключей, либо сразу адреса записей.
Выводы. 1. С увеличением объема исходного файл улучшается эффективность хранения.