Название: Организация работы с документами - Шмелев А.Г.

Жанр: Менеджмент

Рейтинг:

Просмотров: 802


5. Поддержание языков БД.

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

 

19.3. Типовая организация современной СУБД

 

Организация типичной СУБД и состав ее компонентов соответ­ствует набору функций. Логически в современной СУБД можно выделить внутреннюю часть — ядро СУБД (Data Base Engine), ком­пилятор языка БД (обычно SQL), подсистему поддержки времени выполнения, набор утилит.

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

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

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

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

 

19.4. Языковые средства систем управления

           базами данных

 

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

Реализация языковых средств интерфейсов может быть осуще­ствлена различными способами:

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

в других случаях функции языков могут быть доступны косвен­ным образом, когда они реализуются в форме различного рода меню, диалоговых сценариев или заполняемых пользователем таблиц. По таким входным данным интерфейсные средства формируют адекват­ные синтаксические конструкции языка интерфейса и передают их на исполнение или включают в генерируемый код языка приложе­ния. Интерфейсы с неявным использованием языка широко исполь­зуются в СУБД для персональных ЭВМ. В этом случае используется (для реляционных СУБД), например, табличный язык Query-By-Example (QBE), разработанный М.Злуфом.

Языковые средства используются для выполнения двух основ­ных функций:

для описания представления базы данных на управляемых уров­нях архитектуры системы;

для инициирования выполнения операций манипулирования данными.

Первая из этих функций обеспечивается языком описания данных (ЯОД, Shema Definision Language), Его часто называют языком опре­деления данных. Описание данных средствами ЯОД называют схе­мой базы данных. Оно включает описание логической структуры данных и налагаемых на нее ограничений целостности в рамках тех правил, которые регламентированы моделью данных используемой СУБД. Помимо указанных функций, ЯОД некоторых СУБД обеспе­чивает возможности задания ограничения доступа к данным или пол­номочий пользователей.

Кроме того, многие системы не имеют своих самостоятельных языков для спецификации многоуровневых отображений данных. В таких случаях определение способов отображения также описывает­ся средствами ЯОД одного из смежных архитектурных уровней. Они при этом включаются в схему базы данных.

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

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

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


Оцените книгу: 1 2 3 4 5