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

Министерство образования и науки РК

Некоммерческое акционерное общество

Алматинский университет энергетики и связи

Кафедра Инженерной кибернетики

СРО №1

По дисциплине: «Система управления базами данных»

На тему: Индексные файлы

Специальность: 5В070200-Автоматизация и управление

Выполнил: Ешмуханбетов Н.Е.

Группа: АИС-13-1

Проверила: доцент Сауанова К.Т.

«_____»________2015 г.

Алматы, 2015 г

Введение

В данной самостоятельной работе мы рассмотрим , что такое индексы , а также какую функцию они выполняют при работе с СУБД . Рассмотрим тип каждого индекса и их определении, узнаем что такое сбалансированное дерево и их правила. Представлена также структура индексного файла и его виды , а также определение. Более широкое применения индекса и индексных файлов на языке MS SQL

Индексы и их использования

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

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

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

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

На практике для создания индекса для некоторой таблицы БД пользователь указывает поле таблицы , которое требует индексации.

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

Если индексирование организовано на основе ключевого поля, то индекс называется первичным. Ключевые поля , как правило, индексируются автоматически.

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

На практике индексы можно использовать двумя разными способами:

1)последовательного доступа к индексированному файлу, т.е. в последовательности, заданной значениями индексного поля.

2)прямого доступа к отдельным записям индексированного файла на основе заданного значения индексного поля.

Типы индексов

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

Основные из них перечислены ниже.

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

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

Вторичный индекс - это индекс, который определен на поле файла данных, отличном от поля, по которому выполняется упорядочение.

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

Индексно-последовательные файлы

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

  • первичная область хранения;

  • отдельный индекс или несколько индексов;

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

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

Вторичные индексы

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

  • Создание плотного вторичного индекса, который соответствует всем записям файла данных, но при этом в нем допускается наличие дубликатов.

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

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

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

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