
- •Лекция 8 (написать в журнале: Базы данных и субд. Функции субд) Типовая организация субд
- •Ядро субд
- •Процессор запросов
- •Утилиты
- •Менеджер памяти
- •Менеджер транзакций
- •Размеры блокируемых элементов
- •Блокировка
- •Регистрация
- •Завершение транзакции
- •Физическая и логическая независимость. (Архитектура базы данных.)
- •Процесс прохождения пользовательского запроса
- •Пользователи банков данных
- •Основные функции группы администратора бд
Лекция 8 (написать в журнале: Базы данных и субд. Функции субд) Типовая организация субд
Организация типичной СУБД и состав ее компонентов соответствует рассмотренному нами набору функций (рис. 2.3).
Рис. 2.3. Главные компоненты СУБД
В базе данных хранятся не только данные, но и метаданные — информация о структуре данных. В частности, если это реляционная СУБД, метаданные включают в себя имена отношений, имена атрибутов этих отношений и типы данных для этих атрибутов (например, число или строку длиной в 20 символов).
На вход поступают три типа обращения к СУБД:
1. Запросы — вопросы по поводу данных, которые генерируются двумя способами:
a) с помощью общего интерфейса запросов; например, реляционная СУБД позволяет печатать запросы SQL, передаваемые процессору запросов, и получать на них ответы;
b) с помощью интерфейсов прикладных программ. Типичная СУБД позволяет писать прикладные программы, которые через вызовы СУБД запрашивают БД. Например, агент, применяющий систему резервирования авиабилетов, запускает программу, запрашивающую БД о наличии свободных мест на рейсы. Запросы передаются через специальный интерфейс, который может содержать окна, заполняемые названиями городов, указаниями времени и т.д. Через этот интерфейс нельзя посылать произвольные запросы, но все же проще отправить подходящий запрос через такой интерфейс, чем писать его непосредственно в SQL.
2. Модификации данных — это операции по изменению данных. Подобно запросам, они могут выполняться с помощью общего интерфейса или интерфейса прикладной программы.
3. Модификации схемы данных — это команды, которые обычно даются авторизованным персоналом, администраторами БД, имеющими право изменять схему БД или создавать новую БД. Например, если требуется от банков отчет о выплатах процентов с номерами страховых полисов всех клиентов, банку может потребоваться новый атрибут (socialSecurityNo) для отношения, хранящего информацию о клиентах.
Логически в современной реляционной СУБД можно выделить наиболее внутреннюю часть - ядро СУБД (часто его называют Data Base Engine), процессор запросов (компилятор языка БД (обычно SQL)), подсистему поддержки (времени) выполнения, набор утилит. В некоторых системах эти части выделяются явно, в других - нет, но логически такое разделение можно провести во всех СУБД.
Ядро субд
Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. Соответственно, можно выделить такие компоненты ядра (по крайней мере, логически, хотя в некоторых системах эти компоненты выделяются явно), как менеджер памяти, включающий менеджер файлов (данных) и менеджер буферов, менеджер транзакций и менеджер журнала. Функции этих компонентов взаимосвязаны, и для обеспечения корректной работы СУБД все эти компоненты должны взаимодействовать по тщательно продуманным и проверенным протоколам. Ядро СУБД обладает собственным интерфейсом, не доступным пользователям напрямую и используемым в программах, производимых компилятором SQL (или в подсистеме поддержки выполнения таких программ) и утилитах БД. Ядро СУБД является основной резидентной частью СУБД. При использовании архитектуры "клиент-сервер" ядро является основной составляющей серверной части системы.