Классификация методов доступа
Поиск по первичному ключу
Последовательные методы. Возможна при люб. организации внеш. памяти. Остальные методы доступа возможны только при прямой организации внеш. памяти. Различаются:
физический
Достоинства:
Возможность упорядочивания записей по значению первичного ключа. Такое упорядочивание позволяет применить алгоритмы ускоренного поиска.
Недостатки:
Необходимо заранее выбрать область максимального размера во внешней памяти.
Фрагментация - возникновение дыр (пустых областей) при последовательной организации. Общий объем мб большой, но записать туда ничего нельзя.
связный
Каждая хранимая запись вкл. хранимую запись файла.
Достоинства:
не треб.
отсутствие фрагментация на уровне файла.
простота удаления хранимых записей.
Недостаток:
практически невозможно упорядочить записи по ключу.
Последовательные методы доступа как правило используется для выборки всех или большинства записей таблиц.
Прямые:
Хеширование (построение хеш-функций).
h(k) = p
Хеш-функция переводит значение первичного ключа в номер или адрес (p) соответствующего участка, где хранятся записи.
Основная проблема хеширования - возникновение синонимов, т.е. когда записи с различными ключами отображаются в один участок. Очевидное требование к эффективности поиска - равномерное распределение записей по участкам. В этом случае записи будут находится примерно за одно время.
#
Индексные:
Полный индекс. Используется, когда основной файл создан и больше не модифицируется.
Неполный индекс (индексно-последовательный).
Элемент индекса содержит значение максимального или минимального ключа соответствующего блока.
Алгоритм поиска требуемой записи:
в индексе ищется строка со значением ключа, ближайшем к требуемому
в соответствующем блоке производится последовательный просмотр записи
Основные проблемы с использованием данного метода возникают, если в основной файл добавляются новые записи, поэтому при добавлении новых записей они формируются в области переполнения, т.е. в области переполнения строится ссылочная структура.
Достоинство - быстрота поиска, простота алгоритма
Недостаток - сложность модификации основного файла введения в область переполнения.
Преимуществом данного метода по сравнению с методом полного индекса явл. построение области переполнения.
В-дерево - основной вид доступа, поддерживаемый метод поиска по первичному ключу. Если первич. ключ простой, не составной, то СУБД строит В-дерево автоматически для данной табл. Если индекс очень большой, то учитывая, что значение ключа в записях упорядочено, можно построить индекс второго уровня и т.д. В рез-те такого процесса можно построить дерево, в основании которого находится 1 блок записей.
"B" означает сбалансированное дерево.
Элемент индекса хранит: ключ соответствующей записи и ссылку на блок.
При поиске записи сначала рассм. индекс и определяется нужный блок, а в блоке поиск записей осуществляется последовательным просмотром. Для ускорения поиска ключи в индексе упорядочены.
Недостаток - необходимость перестройки индекса при появлении новых или удалении старых записей.
Поиск по неключевым атрибутам
по индексу:
Инвертированные файлы
Индекс 1го уровня содержит имена атрибутов (может быть включает первичный ключ).
Каждый индекс 2го уровня вкл. значения соотв. атрибута, встречаемого в записях файла.
Список указателей: каждый указатель содержит ссылки на записи, в кот. имеется значение соответствующего атрибута.
Битовые шкалы.
Достоинство - легко строятся логические отношения. Д/этого к строкам битовой шкалы стоит применить операции конъюнкции или дизъюнкции.
Недостаток - кортежи нельзя переставлять местами в исходном отношении, поскольку разрушается битовая шкала.
Лекция 13
16 мая 2012 г.
14:34