Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_v2.doc
Скачиваний:
26
Добавлен:
26.08.2019
Размер:
231.42 Кб
Скачать
  1. Модели транзакций.

Транзакция – последовательность операций, производимых над базой данных и переводящих базу данных из одного непротиворечивого состояния в другое.

Типы транзакций:

  1. Плоские (классические)

  2. Цепочечные

  3. Вложенные

Плоские характеризуются четырьмя классическими свойствами.

  1. Атомарность (Atomicity)

  2. Согласованность (Consistency)

  3. Изолированность (Isolation)

  4. Долговечность (Durability)

Атомарность (Atomacity) выражается в том, что транзакция должна быть выполнена в целом или не выполнена вовсе.

Согласованность (Consistency) гарантирует, что по мере выполнения транзакций, данные переходят из одного согласованного состояния в другое. Транзакции не разрушает взаимной согласованности данных.

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

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

Возможны 2 варианта завершения транзакции:

  1. Фиксация – действие, обеспечивающее запись на диск изменений в базе данных, которые были сделаны в процессе выполнения транзакции. Это значит, что результаты выполнения транзакции станут видимы другим пользователям.

  2. Откат – действие, обеспечивающее аннулирование всех изменений данных, которые были сделаны операторами SQL в теле текущей незавершенной транзакции.

Модель транзакции:

Транзакция начинается с первого SQL оператора. Последующие составляют тело транзакции. Commit выполняется в случае успешного завершения обработки информации, объединенной в транзакцию. Его выполнение фиксирует изменения, внесенные в базу данных текущей транзакции. Roilback прерывает выполнение транзакции и осуществляет отмену изменений, проведенных в ходе выполнения транзакции.

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

  1. Файловые структуры, используемые для хранения информации в бд (файлы прямого и последовательного доступа, индексные файлы, инвертированные списки, b-деревья и т.Д.)

Классификация

Файлы:

  1. прямого доступа

  2. последовательного доступа

  3. индексные

    • плотный индекс (индексно-прямые)

    • В – деревья

    • Индексно-последовательные

  4. инвертированные списки

  5. взаимосвязанные файлы

  • с однонаправленными цепочками

  • с двунаправленными цепочками

Прямого доступа на устройствах прямого доступа. Имеют фиксированную длину записи, и обеспечивают более быстрый доступ. Адрес м.б. вычислен по номеру записи. Однако поиск по номеру неэффективен. Лучше искать по ключам, поэтому есть ф-я преобразования ключа в номер.(например – хеширование(рассказать))

С переменной длиной записи – последовательного доступа. Тогда конец записи отмечается специальным маркером, либо в начале каждой записи дана ее длина.

Плотный индекс: данные в области данных одинаковой длины. В индексной области все записи упорядочены по значению ключа.

Неплотный индекс – ключ указывает не на запись, а на страницу записей. Внутри страниц записи упорядочены.

Б деревья – построение индекса по индексу

Инвертированные списки: ведется поиск по вторичным ключам. Они м.б. одинаковыми. Инвертированный список – двухуровневая индексная структура. На первом уровне расположены значения вторичных ключей. На втором – блок указателей на записи с таким значением ключа. На третьем – собственно данные.

Деревья – ежику понятно.(LPTR,DATA,RPTR)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]