Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
536 Кб
Скачать
☆

46.Неплотный индекс. Технология поиска записей в основном файле внешней памяти с использованием неплотного индекса.

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

Неплотный индекс строится именно для упорядоченных файлов. Для этих файлов используется принцип внутреннего упорядочения для уменьшения количества хранимых индексов. Структура записи индекса для таких файлов имеет следующий вид:

Значение ключа первой записи блока

Номер блока с этой записью

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

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

47.Плотный индекс. Технология поиска записей базы данных в основном файле внешней памяти с использованием плотного индекса.

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

Плотная организация индексов применяется для создания и поддержки первичного ключа таблицы. Пары (Значения ключа, № записи) упорядочены в таком индексе по значению ключа – следовательно, можно применить бинарный поиск для доступа к записи с необходимым значением ключа. При такой организации индекса важно не количество записей, а количество дисковых блоков, которые надо прочитать и проанализировать.

Для хранения индексов требуется выделить блоки в расчете на расширение данных.

При добавлении записи происходит запись в конец области данных. В индексной области необходимо записать новый элемент в конкретное место, чтобы не нарушить упорядоченности. Эта область разбивается на блоки и при начальном заполнении каждый блок имеет резерв свободного места. После определения блока, в который надо занести элемент, он копируется в ОЗУ, модифицируется, и записывается на диск. Резерв постоянно уменьшается. Когда он исчерпывается, надо либо перестроить всю индексную область, либо выделить область переполнения.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]