Индексирование базы данных. Основные типы индексов. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Индексирование базы данных. Основные типы индексов.



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

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

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

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

Columnstore Индекс, основанный на вертикальном секционировании данных, хранящихся в виде больших объектов (LOB), по столбцам.

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

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

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

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

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

ОРГАНИЗАЦИЯ ЗАПРОСОВ.

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

Назначение и виды запросов

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

С помощью запроса можно выполнить следующие виды обработки данных:

· выбрать записи, удовлетворяющие условиям отбора;

· включить в результирующую таблицу запроса заданные пользователем поля;

· произвести вычисления в каждой из полученных записей;

· сгруппировать записи с одинаковыми значениями в одном или нескольких полях в одну запись с одновременным выполнением над другими полями групповых функций;

· произвести обновление полей в выбранном подмножестве записей;

· создать новую таблицу базы данных, используя данные из существующих таблиц;

· удалить выбранное подмножество записей из таблицы базы данных; добавить выбранное подмножество записей в другую таблицу.

Многотабличный запрос позволяет сформировать записи результата путем объединения взаимосвязанных записей из таблиц БД и включения нужных полей из нескольких таблиц. В частности, при объединении двух нормализованных связанных одно-многозначными отношениями таблиц результирующая запись образуется на основе записи подчиненной таблицы, в которую добавляются поля из связанной записи в главной таблице. Заметим, что подобное объединение формирует новую таблицу, которая не является нормализованной. Выбранный тип объединения таблиц задается при установлении связи между таблицами и определяет способ формирования записей запроса. По умолчанию связи устанавливаются с параметром объединения первого типа: объединение только тех записей, в которых значения связанных полей обеих таблиц совпадают.

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



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 360; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.6.75 (0.005 с.)