Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург "Корона-Принт" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных.


НазваниеУчебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург "Корона-Принт" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных.
страница14/26
ТипУчебное пособие
1   ...   10   11   12   13   14   15   16   17   ...   26

3.2. Индексирование


Как отмечалось выше, определение ключа для таблицы означает автоматическую сортировку записей, контроль отсутствия повторений значений в ключевых полях записей и повышение скорости выполнения операций поиска в таблице. Для реализации этих функций в СУБД применяют индексирование.

Термин “индекс” тесно связан с понятием “ключ”, хотя между ними есть и некоторое отличие.

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

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

Варианты решения проблемы организации физического доступа к информации зависят в основном от следующих факторов:

  • вида содержимого в поле ключа записей индексного файла;

  • типа используемых ссылок (указателей) на запись основной таблицы;

  • метода поиска нужных записей.

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

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

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

Проиллюстрируем организацию индексирования таблиц двумя схемами: одноуровневой и двухуровневой. При этом примем ряд предположений, обычно выполняемых в современных вычислительных системах. Пусть ОС поддерживает прямую организацию данных на магнитных дисках, основные таблицы и индексные файлы хранятся в отдельных файлах. Информация файлов хранится в виде совокупности блоков фиксированного размера, например, целого числа кластеров.

При одноуровневой схеме в индексном файле хранятся короткие записи, имеющие два поля: поле содержимого старшего ключа (хеш-кода ключа) адресуемого блока и поле адреса начала этого блока (Рис. 0 .20). В каждом блоке записи располагаются в порядке возрастания значения ключа или свертки. Старшим ключом каждого блока является ключ его последней записи.



Рис. 0.20. Одноуровневая схема индексации

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

1. Образование свертки значения ключевого поля искомой записи.

2. Поиск в индексном файле записи о блоке, значение первого поля которого больше полученной свертки (это гарантирует нахождение искомой свертки в этом блоке).

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

Основным недостатком одноуровневой схемы является то, что ключи (свертки) записей хранятся вместе с записями. Это приводит к увеличению времени поиска записей из-за большой длины просмотра (значения данных в записях приходится пропускать).

Двухуровневая схема в ряде случаев оказывается более рациональной, в ней ключи (свертки) записей отделены от содержимого записей (Рис. 0 .21). В этой схеме индекс основной таблицы распределен по совокупности файлов: одному файлу главного индекса и множеству файлов с блоками ключей.

Рис. 0.21. Двухуровневая схема индексации

На практике для создания индекса для некоторой таблицы БД пользователь указывает поле таблицы, которое требует индексации. Ключевые поля таблицы во многих СУБД как правило индексируются автоматически. Индексные файлы, создаваемые по ключевым полям таблицы, часто называются файлами первичных индексов.

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

Связь вторичного индекса с элементами данных базы может быть установлена различными способами. Один из них – использование вторичного индекса как входа для получения первичного ключа, по которому затем с использованием первичного индекса производится поиск необходимых записей (Рис. 0 .22).

Рис. 0.22. Способ использования вторичных индексов

Некоторыми СУБД, например Access, деление индексов на первичные и вторичные не производится. В этом случае используются автоматически создаваемые индексы и индексы, определяемые пользователем по любому из не ключевых полей.

Главная причина повышения скорости выполнения различных операций в индексированных таблицах состоит в том, что основная часть работы производится с небольшими индексными файлами, а не с самими таблицами. Наибольший эффект повышения производительности работы с индексированными таблицами достигается для значительных по объему таблиц. Индексирование требует небольшого дополнительного места на диске и незначительных затрат процессора на изменение индексов в процессе работы. Индексы в общем случае могут изменяться перед выполнением запросов к БД, после выполнения запросов к БД, по специальным командам пользователя или программным вызовам приложений.
1   ...   10   11   12   13   14   15   16   17   ...   26

Похожие:

Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург \"Корона-Принт\" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. iconУчебное пособие для студентов педиатрического факультета
Под общей редакцией д м н., профессора, зав кафедрой факультетской педиатрии гбоу впо оргму минздрава России, Заслуженного врача...

Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург \"Корона-Принт\" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. iconУчебно-методическое пособие Санкт-Петербург 2014 Авторы: Морозов...
Учебно-методическое пособие предназначено для повышения квалификации преподавательского состава умц по го чс и пб санкт-Петербурга...

Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург \"Корона-Принт\" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. iconУчебное пособие для бакалавров
Безопасность жизнедеятельности / Под редакцией д-ра экон наук, проф. С. Г. Плещица. Часть 1: Учебное пособие.– Спб.: Изд-во Спбгэу,...

Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург \"Корона-Принт\" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. iconМетодическое пособие Тверь 2011 г
Под редакцией зав кафедрой пропедевтики внутренних болезней профессора В. В. Аникина

Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург \"Корона-Принт\" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. iconГ. Санкт-Петербург, пл. Конституции, д. 7 – пс-20 «Чесменская»
«под ключ» (пир, смр, поставка волс) для организации каналов передачи данных телеметрической и служебной информации на участке: Лот...

Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург \"Корона-Принт\" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. icon1. Основания профильного обучения
Кривых С. В., Абдуллаева О. А., Алексашина И. Ю., Марковская Е. А. Теория и методика организации профильного обучения: Санкт-Петербургский...

Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург \"Корона-Принт\" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. iconУчебное пособие по экспериментальной физике составлено в соответствие...
Физический практикум. Волновая оптика. Квантовая физика [Текст] : учебное пособие / сост. Г. Н. Федюкина, Н. П. Исакова / под общей...

Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург \"Корона-Принт\" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. iconУчебное пособие издание второе, исправленное и дополненное москва...
Г75 Грачева Е. Ю., Соколова Э. Д. Финансовое право: Учебное пособие. 2-е изд., испр и доп. М.: Юриспруденция, 2000. 304 с

Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург \"Корона-Принт\" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. icon«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов
Учебный курс «Базы данных» читается в четвертом семестре и состоит из следующих видов учебной работы

Учебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург \"Корона-Принт\" 2000 Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. iconУчебное пособие Санкт-Петербург Издательство спбгэту «лэти»
Авторы: А. Б. Гуркин, В. В. Калашников, Р. В. Костюк, А. С. Пученков, И. В. Узлова

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск