Скачиваний:
10
Добавлен:
01.03.2022
Размер:
380.31 Кб
Скачать

Способы адресации данных

Методы решения задачи поиска нужной

записи по ключу

5. Хэширование

Вданном методе поиска физический адрес определяется с точностью до блока.

Вчастном случае размер блока может быть равен размеру одной записи. Хэширование – от английского слова «hashing» (перемешивание, рандомизация).

При использовании хэширования ключ i-й записи i с помощью хэш-

функции f преобразуется в

псевдослучайное число Aблi,

являющееся физическим адресом блока, содержащего запись с

ключом i 11

Способы адресации данных

Методы решения задачи поиска нужной

записи по ключу Хэширование

При хэшировании выполняются следующие шаги:

1. ключ новой записи i

преобразуется в числовой вид ni;

2. на основании значения ni при

помощи хэш-функции f

вычисляется адрес блока Aблi, в

который следует внести новую запись;

3. если в этом блоке имеется свободное место, то запись заносится в блок;

4. при отсутствии свободного места запись помещается в область

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

12

 

Способы адресации данных

Методы решения задачи поиска нужной записи по ключу

Хэширование

Чтение данных при использовании хэширования производится примерно в том же порядке:

1.ключ искомой записи i преобразуется в числовой вид ni;

2.на основании значения ni при помощи хэш-функции f вычисляется адрес блока Aблi, из которого следует считать требуемую запись;

3.если эта запись находится в блоке, то производится ее считывание;

4.если искомой записи в блоке не оказалось, то ее поиск осуществляется в области переполнения.

(При поступлении новой книги по математике библиотекарь

 

пытается поставить ее на полку, отведенную под раздел

 

«Математика». Если полка занята, книга размещается на резервной

полке.)

13

2.Организация индексов

данных

Одним из эффективных способов ускорения поиска информации в БД является применение индексов. Индекс –

это специальная (как правило,

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

Типичный пример индекса – многоуровневые рубрикаторы в различных справочниках или библиотеках. 14

2.Организация индексов

данных

Пример. Допустим, у читателя возникла потребность в книге по интегральному исчислению. Для её отыскания в библиотечном фонде необходимо найти:

oраздел по естественным наукам (соответствующий библиотечный шкаф);

oподраздел по высшей математике (один из ящиков шкафа);

oрубрику «Интегральное исчисление» названного подраздела, под которой помещена искомая карточка;

oтребуемую книгу на полке, шифр местоположения которой указан в карточке.

(высокая сложность - минимальное время)

15

2.Организация индексов

данных

Электронный вариант каталога –

БД с индексно-последовательной

организацией данных: записи упорядочены

по значению первичного ключа и объединены в блоки. Индекс позволяет определять адрес искомой записи с точностью до блока.

Любой элемент индекса состоит из двух частей, каждая из которых содержит:

фрагмент ключа записи;

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

16

2.Организация индексов данных

Недостаток. При исчерпании памяти в блоках для устранения ее нехватки используется область переполнения.

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

Таким образом, в условиях интенсивной динамики изменения данных применение индексно-последовательной организации неэффективно.

18

2.Организация индексов

данных

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

организация.

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

После этих допущений электронный вариант

 

каталога может быть представлен в виде БД с

 

индексно-прямой организацией данных

19

 

Соседние файлы в папке 2018