Базой данных является представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины.
Система управления базами данных (СУБД) — специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных.
Основные функции СУБД:
- управление данными во внешней памяти (на дисках);
- буферами оперативной памяти;
- управление транзакциями;
- журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
- поддержка языков БД (язык определения данных, язык манипулирования данными).
Типовая организация современной СУБД содержит следующие компоненты:
- ядро, которое отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию,
|
|
- компилятор языка БД (обычно SQL), основной функцией которого является компиляция операторов языка БД в некоторую выполняемую программу
- подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД
- а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
Транзакции. Свойства ACID. Сериализация транзакций.
Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое.
Понятие транзакции необходимо для поддержания логической целостности БД.
Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.
Различают последовательные (обычные), параллельные и распределённые транзакции.
Одним из наиболее распространённых наборов требований к транзакциям и транзакционным системам является набор ACID (Atomicity, Consistency, Isolation, Durability):