Таблицы со справочниками

Одним из способов устранения этого недостатка является метод

справочников. Основная таблица содержит записи в произвольном по-

рядке. В дополнение к основной строится справочная или индексная

таблица, записи которой состоят всего из двух полей: ключа и ад-

реса в основной таблице. Поиск по ключу производится в справочной

таблице. Если справочная таблица является таблицей прямого досту-

па, то потери памяти на пустые записи уменьшаются. Однако, оче-

видно, что в случае ключа-фамилии справочная таблица нас не

спасет. Поэтому, обычно справочные таблицы содержат только факти-

ческие ключи и к ним применяются методы сортировки и поиска, опи-

санные выше. При сортировке справочных таблиц, конечно, достига-

ется некоторая экономия на пересылках, но в целом применение

справочников было бы нецелесообразно, если бы не два их важных

свойства:

- во-первых, если основная таблица расположена на внешней

памяти, то справочная таблица (или значительная часть ее) может

быть размещена в оперативной памяти и поиск ключа, таким образом,

будет выполняться в оперативной памяти, что гораздо быстрее;

- во-вторых, для одной основной таблицы могут быть построены

несколько справочников, обеспечивающих использование в качестве

ключа разных полей записи основной таблицы.

Заметим, что для таблиц прямого доступа и для таблиц со

справочниками нет необходимости хранить ключ в составе записи ос-

новной таблицы, так как ключ может быть восстановлен по адресу

записи либо по справочнику.