Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
db_lectures / 01.Знакомство с СУБД.docx
Скачиваний:
42
Добавлен:
21.05.2015
Размер:
30.24 Кб
Скачать

Субд. PgAdmin Понятие субд

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

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

Основные функции СУБД

  • управление данными во внешней памяти (на дисках);

  • управление данными в оперативной памяти с использованием дискового кэша;

  • журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

  • поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

  • ядро, которое отвечает за управление данными во внешней и оперативной памяти, и журнализацию,

  • процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,

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

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

Транзакционность

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

Пример: необходимо перевести с банковского счёта номер 5 на счёт номер 7 сумму в 10 денежных единиц. Этого можно достичь, к примеру, приведённой последовательностью действий:

  • Начать транзакцию

  • прочесть баланс на счету номер 5

  • уменьшить баланс на 10 денежных единиц

  • сохранить новый баланс счёта номер 5

  • прочесть баланс на счету номер 7

  • увеличить баланс на 10 денежных единиц

  • сохранить новый баланс счёта номер 7

  • Окончить транзакцию

Эти действия представляют собой логическую единицу работы «перевод суммы между счетами», и таким образом, являются транзакцией. Если прервать данную транзакцию, к примеру, в середине, и не аннулировать все изменения, легко оставить владельца счёта номер 5 без 10 единиц, тогда как владелец счета номер 7 их не получит.

Свойства транзакций

Одним из наиболее распространённых наборов требований к транзакциям и транзакционным системам является набор ACID.

  • Atomicity — Атомарность: никакая транзакция не будет зафиксирована в системе частично

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

  • Isolation — Изолированность: во время выполнения транзакции другие процессы не должны видеть данные в промежуточном состоянии.

  • Durability — Долговечность: изменения, сделанные успешно завершённой транзакцией, должны остаться сохранёнными после возвращения системы в работу не взирая на сбои системы.

Вместе с тем, существуют специализированные системы с ослабленными транзакционными свойствами.