Информационное обеспечение систем управления

       

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


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

Инвертированный файл
, упорядоченный либо неупорядоченный по значениям вторичного ключа
Инвертированный файл
. Строится дополнительный файл
Инвертированный файл
 по правилу [17]:

1) записи файла

Инвертированный файл
 имеют формат
Инвертированный файл
где
Инвертированный файл
 - поле, принимающее значение вторичного ключа
Инвертированный файл
 записи основного файла;
Инвертированный файл
 – указатели на записи основного файла
Инвертированный файл
, имеющие данное значение вторичного ключа
Инвертированный файл
,

2) записи файла

Инвертированный файл
, упорядочены по полю
Инвертированный файл
.

Построенный дополнительный файл

Инвертированный файл
. называется инвертированным. В этом случае об основном файле
Инвертированный файл
говорят, что он инвертирован по полю
Инвертированный файл
. Количество записей в инвертированном файле
Инвертированный файл
 определяется количеством значений вторичного ключа
Инвертированный файл
 в записях основного файла
Инвертированный файл
. Пример инвертированного файла по полю
Инвертированный файл
 для основного файла
Инвертированный файл
 приведен на рис. 3.12.

Рассмотренный способ организации инвертированного файла предполагает использование записей переменной длины. Инвертированный файл можно организовать и с помощью записей фиксированной длины, если в каждой записи инвертированного файла выделять фиксированное число полей для указателей

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

Инвертированный файл
, то для поиска записей можно использовать любой из рассмотренных выше методов поиска в упорядоченном файле (например, бинарный поиск или В-дерево). Чтобы выполнить многоаспектный поиск по
Инвертированный файл
 ключам, необходимо построить
Инвертированный файл
 инвертированных файлов [17].




Содержание раздела