Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
базы данных - конспект лекций.doc
Скачиваний:
11
Добавлен:
23.11.2019
Размер:
801.79 Кб
Скачать

4.4 Индексно-произвольный метод доступа

Записи исходного файла могут быть размещены в произвольном порядке. Для реализации метода используется индексный файл. Отметим, что объем индексного файла такой же, как и у исходного.

Возможны два варианта:

а) индекс упорядочен по возрастанию ключа.

бл.1

Индекс

А дрес

4

1

2

3

4

5

6

7

8

3

2

3

1

1

3

2

2

5

бл.2

2

7

8

б) Индекс не упорядочен. Значения ключа располагаются в произвольном порядке. В этом случае помимо исходного и индексного файлов необходимо осуществить программу рандомизации или перемешивания. Эта программа необходима для того, чтобы вычислить по значению индексного ключа адрес блока. На практике широко применяются различные алгоритмы рандомизации. При осуществлении программ рандомизации обычно стремятся к равномерному заполнению блоков.

Выводы. 1. В индексно-произвольном методе эффективность хранения очень низкая, т.к. объем индексного файла равен объему исходного.

2. Эффективность доступа выше. Если индексный файл полностью помещается в оперативной памяти, эффективность доступа равна единице.

4.5 Инвертированный метод доступа

Этот метод служит для обеспечения быстрого поиска данных с использованием вторичных ключей. В примере раздела 4.3 это может быть разбивка рабочих по цехам. Для реализации метода создается инвертированный файл. Такой подход позволяет избежать просмотра всех записей файла.

Рассмотрим пример. Допустим необходимо найти всех рабочих 6 цеха.

Исходные файлы

0311

Адрес блока

0934

02

1

0802

04

2

06

3

0422

11

4

0422

0981

Инвертиро-ванный файл

1016

Структура инвертированного файла сходна со структурой индексного файла, только здесь в качестве индексов берутся значения вторичного ключа. В блоках записываются значения первичных ключей, либо сразу адреса записей.

Выводы. 1. С увеличением объема исходного файл улучшается эффективность хранения.

2. Эффективность доступа уменьшается с ростом базы данных, т.к. информация в блоках просматривается последовательно.

Примечание. Если исходный файл инвертирован по всем вторичным ключам, то он называется полностью инвертированным, если не по всем ключам, то частично инвертированным.