Функции ядра субд. Поддержка языков БД. Принципы, используемые при проектировании современных языков субд, концепции развития языковых средств, классификация языков БД. 


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



ЗНАЕТЕ ЛИ ВЫ?

Функции ядра субд. Поддержка языков БД. Принципы, используемые при проектировании современных языков субд, концепции развития языковых средств, классификация языков БД.



 

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

Функции ядра СУБД

  • Управление данными во внешней памяти;
  • Управление буферами оперативной памяти;
  • Управление транзакциями;
  • Журнализация.

Компоненты ядра СУБД:

  • Менеджер данных,
  • Менеджер буферов,
  • Менеджер транзакций,
  • Менеджер журнала

Управление данными во внешней памяти

Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей. Например, для ускорения доступа к данным.

Способы работы с внешней памятью:

  • Использование возможностей существующих файловых систем.
  • Обращение к устройствам внешней памяти напрямую.

Управление буферами оперативной памяти

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

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

Управление транзакциями

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

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

Журнализация

Надежность хранения данных во внешней памяти — возможность СУБД восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя.

Виды аппаратных сбоев:

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

Виды программных сбоев:

  • Аварийное завершение работы СУБД (по причине ошибки в программе или в результате некоторого аппаратного сбоя).
  • Аварийное завершение пользовательской программы.

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

Возможные уровни журнализации:

  • Запись о логических операциях изменения БД.
  • Запись о минимальных внутренних операциях модификации страницы внешней памяти.
  • Смешанный подход.

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

 

Принципы, используемые при проектировании современных языков СУБД:

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

· Принцип минимума мастерства: работа должна быть так проста, как тольк это возможно; она не должна быть уделом избранных и быть понятной лишь посвященным.

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

· Принцип минимума времени. Язык должен позволить без существенной задержки реализовывать возникающие потребности в доступе к информации и ее обработке.

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

· Принцип минмума поддержки. Механизм языков должен позволить легко вносить изменения в имющиеся приложения.

· Принцип максимума резуьтата. Современные языки предоставляют пользователю мощный инструмент для решения разнообразных задач.

 

Можно выделить две концепции развития языковых средств: концепцию разделения и концепцию интеграции.

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

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

При использовании концепции разделения различают языки:

Классификация языков БД

1. Языки описания данных (ЯОД)

2. Языки манипулирования данных (ЯМД)

3. Процедурные (при пользовании процедурными языками надо указать, какие действия и над какими объектами надо выполнить, чтобы получить результат)

4. Непроцедурные (указывается, что надо получить, а не как этого достичь) SQL

5. Языки запросов(создание представлений)

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 776; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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