Индексация позволяет ускорить выборку отдельных записей или их групп, отсортировать данные по определенным значениям атрибутов. Для этих целей используется индекс – специальная структура данных, которая обязательно включает следующие поля:
· атрибут или совокупность атрибутов некоторого отношения, по которым ведется сортировка или ускоренный поиск – так называемое ключевое поле, или поле индексирования;
· ссылка на соответствующую запись в таблице БД.
В качестве ссылки может использоваться адрес записи в файле данных или идентификатор кортежа, который не изменяется за все время существования кортежа.
Значения индекса всегда упорядочены по полю индексирования. Если поле индексирования совпадает с первичным ключом, т. е. гарантированно содержит уникальные значения, то индекс называется первичным индексом. В противном случае индекс является вторичным.
Вторичные индексы подразделяются на кластерные и некластерные.
Некластерный индекс существует отдельно от данных, является самостоятельным объектом БД. Его можно сравнить с предметным указателем книги, который находится отдельно от самой информации, но связан с нею ссылками на соответствующие страницы. В одной книге может существовать несколько предметных указателей, один из которых может содержать список терминов, другой – фамилии, третий – программные продукты и т. д. Аналогично для одной таблицы могут быть определены несколько некластерных индексов, использующих разные поля кластеризации.
Кластерный индекс отличается тем, что он влияет на физическое упорядочение данных в таблице. Выигрыш от такого подхода заключается в сокращении поиска нужных строк по ссылке (все нужные строки сосредотачиваются в одном месте таблицы). Особенно заметен этот выигрыш при обработке запросов, содержащих оператор BETWEEN и операции сравнения. Так как в кластерном индексе данные упорядочены, то после нахождения первого элемента, удовлетворяющего условию, можно выбирать все значения подряд, не прибегая к поиску. Выборка продолжается до тех пор, пока очередное значение не выйдет за границы условия поиска. Для каждой таблицы может быть создан только один кластерный индекс.
Для хранения индексов используются структуры данных с поддержкой быстрого поиска, причем, как правило, используется поиск данных на постоянном (внешнем) запоминающем устройстве. К таким структурам относятся хеш-таблицы и разновидности B-деревьев. Именно они и нашли широкое применение в СУБД.
Общий вывод о логической архитектуре реляционных баз данных
Итак, в составе современных реляционных БД можно выделить три основные части, тесно взаимосвязанные между собой.
1. Схема данных – отражает структуру сущностей предметной области и взаимосвязи между ними. Схема данных включает все таблицы, а также те объекты-ограничения, которые предназначены непосредственно для реализации связей между сущностями, в том числе для поддержания нужного типа множественности и кардинальности связей.
2. Объекты ограничения – дополнительные ограничения целостности и триггеры, используемые для реализации ограничений предметной области.
3. Подпрограммы БД – представления, хранимые процедуры и функции, назначение которых – в реализации процессов предметной области.
Особняком можно поставить группу служебных объектов БД: это, прежде всего, индексы; к ним же можно отнести криптографические ключи, цифровые сертификаты и объекты «credentials», используемые в MS SQL Server для поддержки криптографических методов защиты информации.
3. Клиент-серверная архитектура современных реляционных СУБД и АИС
3.1. Технология и модели клиент-серверной архитектуры
Весь набор функций, выполняемых АИС, можно разбить на три группы:
· функции ввода и отображения данных;
· функции, реализующие бизнес-логику, или, иначе говоря, отражающие процессы предметной области;
· функции управления ресурсами (файловой системой, базой данных и т.д.).
В соответствии с этим можно выделить три больших компонента в структуре АИС:
· компонент представления данных;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.