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



ЗНАЕТЕ ЛИ ВЫ?

Типовая организация СУБД и упрощенная схема работы

Поиск

Очевидно, что организация типичной СУБД и состав ее компонентов соответствует рассмотренному набору функций. Логически в современной реляционной СУБД можно выделить:

· внутреннюю часть – ядро СУБД (часто его называют DBE - Data Base Engine),

· компилятор языка БД (обычно, SQL),

· подсистему поддержки времени выполнения,

· набор утилит.

В некоторых системах эти части выделяются явно, в других - нет, но логически такое разделение можно провести во всех СУБД.

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

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

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

Обобщенную структуру СУБД можно представить схемой на рис. 18.

Упрощенно основные этапы реализации СУБД запроса приложения представлены на рис.19.

1. Прикладная программа выдает СУБД запрос на доступ к БД.

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

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

4. СУБД выдает ОС команды поиска и обработки хранимых записей.

5. ОС интерпретирует команды СУБД, взаимодействует с внешним запоминающим устройством, обнаруживая в БД требуемые записи.

 
 

 

 


Рис.18. Обобщенная структура СУБД

 

6. Отобранные записи передаются в системные буферы.

7. СУБД выделяет логические записи, которые необходимо передать приложению.

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

9. СУБД передает прикладной программе информацию о результатах обработки запроса.

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

 
 

 


Рис.19. Схема реализации запроса к СУБД

 

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

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

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

КОНТРОЛЬНЫЕ ВОПРОСЫ ПО ШЕСТОМУ РАЗДЕЛУ

1. Перечислите основные функции СУБД.

2. Опишите языковую компоненту СУБД.

3. Определите понятие транзакции. Назначение и суть механизма журнализации.

4. Какие основные аспекты сохранения целостности учитываются при функционировании СУБД.

5. Какие основные аспекты защиты данных должны учитываться при функционировании СУБД.

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

7. Приведите обобщенную схему СУБД.

8. Приведите упрощенную схему функционирования СУБД.

 
 

 


Рис.20 Взаимодействие компонентов информационной системы



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 937; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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