Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции О_о DataBase.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
8.68 Mб
Скачать
  1. Внутренние структуры хранения

    1. Структурная схема обработки запроса

Важными особенностями реляционной СУБД, влияющими на организацию хранения данных во внешней памяти, являются следующие:

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

  • поддержка отношений-каталогов,

  • регулярность структуры данных.

Наличие двух уровней

Рассмотрим структурную схему обработки запроса (Рис. 7.1):

Рис. 7.1. Структурная схема обработки запроса

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

Поддержка отношений-каталогов

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

Регулярность структуры данных

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

Для этого во внешней памяти должны поддерживаться дополнительные управляющие структуры – индексы.

Отсюда, возникают следующие разновидности объектов базы данных, размещаемых во внешней памяти:

  • строка отношения (строка таблицы) – основная часть базы данных, большей частью непосредственно видимая пользователем;

  • индексы – объекты, создаваемые по инициативе пользователя или верхнего уровня системы из соображений повышения эффективности выполнения запросов;

  • управляющая (служебная) информация, поддерживаемая для удовлетворения внутренних потребностей нижнего уровня системы (например, информация о свободной памяти).

Это и определяет структуру файлов базы данных.

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

Тем не менее, имеются общие принципы представления во внешней памяти основных объектов базы данных – таблиц и индексов.

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

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

  • последовательная выборка данных, позволяющая получить совокупность всех строк таблицы, возможно, упорядоченных по каким-либо атрибутам; такую выборку характеризует следующее предложение:

SELECT * FROM таблица

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

SELECT * FROM таблица WHERE первичный_ключ = значение

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

Обычно рассматриваются два метода доступа к данным:

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

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

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

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

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