Функции СУБД
1.Управление данными во внешней памяти;
2.управление буферами во внешней памяти:
буферизация состоит в том, чтобы сгладить разно скоростную работу между внешней и внутренней памятью.
При работе с БД СУБД может установить большую или меньшую актуальность каких-то данных. Наиболее актуальные данные могут всё время храниться в буфере. Эта функция повышает эффективность обработки данных.
3. управление транзакциями(transactions):
транзакция – последовательность операций над данными из БД, которая рассматривается СУБД как логическое единое целое. Под логическим единым целым понимается то, что СУБД фиксирует начало набора операций и его конец. Эта функция необходима, чтобы поддерживать целостность и логическую непротиворечивость данных, а также безопасное управление данными. Транзакция должна закончиться либо фиксацией нового состояния(commit), либо восстановлением предыдущего состояния(rollback). Существует возможность параллельного выполнения нескольких транзакций (но иногда это невозможно).
Сериальное выполнение транзакций – выполнение в соответствии с так называемым сериальным планом. Сериальный план – план выполнения транзакций, при котором эффект смеси транзакций эквивалентен их последовательному выполнению. Алгоритмы сериализации основаны на сериальных (синхронизационных) захватах. Цель таких захватов: построение сериального плана.
4. журнализация – ведение каких-то журналов:
существует два вида сбоев:
– мягкий, связанный с пропаданием питания, аварийной остановкой работы машины, сбоем ОС;
– жёсткий – характеризуется потерей информации на внешних носителях (авария HD).
При любом виде сбоев необходимо предусматривать восстановление информации. Это подразумевает хранение избыточной дополнительной информации. Такая информация, необходимая для восстановления, хранится в журналах. Журнал – это часть СУБД, которая недоступна пользователю, и которая поддерживается с особой тщательностью. Журнал хранится либо в нескольких копиях, либо на нескольких носителях. Журнал используется, чтобы фиксировать к нём все изменения, которые производятся над данными. С этой точки зрения можно рассмотреть две версии журнала:
– журнал локальных изменений – фиксирует отдельные операции, связанные с изменением страниц внешней памяти;
– журнал глобальных изменений – фиксирует результаты транзакций или транзакционных наборов.
При пользовании журналом используется стратегия упреждающей записи WAL(Write Ahead Log). Смысл этой стратегии состоит в том, чтобы сделать запись об изменениях прежде самих изменений.
При жёстком сбое нужна копия журнала и архивная копия БД, при этом архивная копия и журнал должны быть согласованы – это важная задача БД.
5. поддержка языков данных(Data Language)
существует две задачи информационных систем:
– описание структуры данных;
– манипулирование этими данными.
Раньше эти задачи решались с помощью языковых средств. Т.е. поддерживался язык описания данных SDL(Schema Definition Language) и язык манипулирования данными DML(Data Manipulation Language). В задачу SDL входило предоставление средств для именования объектов БД, типизации отдельных элементов и описания связей между элементами данных. DML поддерживает описание действий по изменению тех объектов, которые описаны на SDL.
В современных СУБД функции этих языков объединяются в структурированный язык запросов SQL(Structured Queried Language). Компилятор SQL производит преобразование описаний и запросов во внутреннее представление данных. Благодаря этому центральная управляющая часть СУБД работает только с внутренними представлениями, что обеспечивает эффективную работу.
SQL содержит:
– средства для описания ограничений целостности;
– средства для авторизации доступа к разным объектам:
суть состоит в том, что с каждым объектом связывается набор допустимых действий и круг пользователей, обладающих разными полномочиями. Полномочия и действия описываются в разных таблицах. Языковое средство позволяет контролировать это.
Дата добавления: 2014-12-20; просмотров: 659;