Организация данных и структуры данных
Метод обменной сортировки с выбором Метод турнирной сортировки Методом квадратичной сортировки Метод вставки Методы Замещения Слияние рассортированных подфайлов Осциллирующей сортировки Многофазная сортировка Сравнение методов внешней сортировки Генераторы программ сортировки слияния Информация и ее представление в вычислительных машинах Ассоциативная структура Последовательная структура Связанный список Простые операции над списками Иерархические структуры Древовидная структура Линейное представление древовидной структуры Преобразование арифметических выражений в списковые структуры Сетевая структура Системы управления базами данных Инвертированные файлы Пример инвертированного файла Поиск по нескольким ключам Элементы системы управления базой данных Работа системы управления базой данных Роль администратора базы данных Определения Организация в записи Компоненты записи Блоки Форматы блоков и записей Организация и методы доступа Последовательная организация Метод доступа с очередями Библиотечная организация Оглавление тома Метки оглавления тома Метки тома магнитной ленты Прямая организация Прямая адресация Методы рандомизации Сравнение методов рандомизации Индексно-последовательная организация Область основных данных Области переполнения Области индексов Произвольный поиск Режимы обработки Добавление новых записей Статистика Общее про методы сортировки Сортировка в основной памяти Метод сортировки посредством выбора |
Добавление новых записейМеханизм добавления новых записей в индексно-последовательный файл можно понять, обратившись к рис. 9.14. Первоначально область основных данных заполнена частично, что позволяет включать некоторые новые записи без использования области переполнения. Поэтому запись с ключом, равным 5, может быть размещена между существующими записями после определения ее местоположения и сдвига вправо всех записей данной дорожки, значения ключей которых больше 5. Следующая запись, которая должна быть добавлена, имеет ключ 16. Для нее нет свободного места в области основных данных. Для того чтобы получить место для записи с ключом, равным 2, все записи со значениями, ключей больше 2 сдвигаются вправо, и при этом запись с ключом 16 вытесняется в область переполнения, занимая там очередной пустой блок. Указатели цепочки б записях переполнения корректируются так, как это будет показано в разд. 9.6.4. Не происходит никакого перемещения Данных, когда запись логически должна быть размещена в области переполнения (см. ключ=20). При этом модифицируются только указатели связанного списка. Когда запись исключается из файла, место, которое она занимала, будет в дальнейшем доступным, если эта запись находилась в области основных данных. В большинстве систем повторное использование освободившихся блоков области переполнения оказывается возможным только после реорганизации файла. Исключенные из области переполнения записи специально маркируются, поэтому, физически оставаясь в файле, они темпе менее логически больше не принадлежат ему. Заметим, что пока файл существует, ключи, помещенные однажды в индекс, остаются неизменными. Поэтому, если запись с ключом В некоторых системах управления индексно-последовательным файлом при обработке в режиме обновления может возникнуть трудность, связанная с необходимостью добавления к файлу записи, значение ключа которой превосходит значение ключа логически последней записи файла. Для предотвращения такой ситуации целесообразно завести во время создания файла фиктивную запись с максимально возможным значением ключа. |