Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
42
Добавлен:
10.05.2014
Размер:
181.78 Кб
Скачать

Внутренние структуры хранения

Хэш индексы

Для произвольного доступа к данным

Строится на уникальных атрибутах

Хэш функция отображает индекс в

физический адрес хранения

соответствующей строки таблицы

Принцип отображения – m : 1

Внутренние структуры хранения

Хэш индексы

0

1

. . .

N - 1

 

 

 

 

 

 

 

 

 

 

 

 

Бакеты (buckets)

Внутренние структуры хранения

Хэш индексы

Ключи

Первичная

Область

область

переполнения

 

hash

бакет бакет

Внутренние структуры хранения

Хэш индексы. Принципы построения

1.Адрес, получаемый в результате, должен попасть в диапазон адресов, соответствующий выделенному пространству. Пространство под таблицу резервируется при создании таблицы, и в хэш-функции часто используется операция % (остаток от деления на размер таблицы).

2.Хэш-функция должна давать достаточно однородные значения хэш-индексов, чтобы не было скопления синонимов (или коллизий), требующих специальных методов обработки.

Правила построения хэш-функции:

1.первичный ключ обязательно входит в атрибуты, на которых строится хэш-индекс

2.хэш-функция должна использовать значения всех атрибутов первичного ключа.

Внутренние структуры хранения

Хэш индексы

Для k1 ≠ k2 hash(k1) = hash(k2) k1, k2 – синонимы Разрешение коллизий:

выявление свободного пространства в бакете

обработка переполнения бакета

Внутренние структуры хранения

Хэш индексы. Обработка переполнения. Метод открытой адресации.

Первичная область + область переполнения

Бакет А

Бакет В

бакет

Внутренние структуры хранения

Хэш индексы. Обработка переполнения. Метод срастающихся цепочек.

Указатель на свободное пространство

Бакет В

Бакет А

Внутренние структуры хранения

Хэш индексы. Обработка переполнения. Метод раздельных цепочек.

Бакет В

Область переполнения

 

Бакет А

Первичная область

Внутренние структуры хранения

Хэш индексы.Сравнение методов индексирования.

В+ деревья

Хеш индексы

представляются

не представляются

 

объектами базы данных

 

объектами базы данных

не влияют на

влияют на представление

 

представление таблицы

 

таблицы

упорядоченное хранение

упорядоченность строк

 

строк таблицы

 

отсутствует

определены и операции <

определены только

 

и > для сравнения ключей

 

операции = и ≠ для

 

 

 

ключей

Внутренние структуры хранения

Хэш индексы. Рекомендации.

Если размер таблицы сильно изменяется – не хэш таблица

Если часто организуется поиск по

критериям < > – не хэш таблица

• Если используются справочники (мало изменяемые таблицы, поиск в них по =) – хэш таблицы

Соседние файлы в папке Презентации БД (ВФ)