Введение в базы данных Ограничения, присущие файловым системам



Download 0,92 Mb.
bet5/44
Sana08.06.2022
Hajmi0,92 Mb.
#642978
TuriЛекция
1   2   3   4   5   6   7   8   9   ...   44
Bog'liq
Лекция 1

Транзакция - это, неделимая с точки зрения воздействия на БД, последовательность элементарных операций манипулирования над данными, рассматриваемая СУБД как единое целое, такая, что либо результаты всех операторов, входящих в транзакцию отображаются в БД, либо воздействие всех этих операторов полностью отсутствует. 
Поддержание механизма транзакций является обязательным условием даже однопользовательских СУБД. Но понятие транзакции гораздо более важно в многопользовательских СУБД. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает удобным использование понятия транзакции как единицы активности пользователя по отношению к БД.
Система, поддерживающая процесс транзакции, гарантирует, что если во время выполнения неких обновлений произошла ошибка любой природы, то все эти обновления будут аннулированы. Транзакция или выполняется полностью, или полностью отменяется.
Существует два способа завершения транзакций: фиксация и откат. Фиксация транзакции — действие, обеспечивающее запись на диск изменений в БД, которые были сделаны в процессе выполнения транзакции. До тех пор пока транзакция не зафиксирована, еще возможно аннулирование изменений и восстановление БД в состояние, предшествующее началу выполнения транзакции. В результате фиксации транзакции все изменения в БД становятся постоянными. Если в процессе выполнения транзакции возникает исключительная ситуация, которая делает невозможным нормальное завершение данной транзакции, база данных должна быть возвращена в исходное состояние. Откат транзакции — это действие, аннулирующее все изменения данных, которые были выполнены операторами SQL в теле текущей незавершенной транзакции.
С управлением транзакциями в многопользовательской СУБД связаны такие понятия как сериализация транзакций и сериальный план выполнения смеси транзакций. Под сериализаций параллельно выполняющихся транзакций понимается такой порядок планирования их работы, при котором суммарный эффект смеси транзакций эквивалентен эффекту их некоторого последовательного выполнения. Сериальный план выполнения смеси транзакций - это такой план, который приводит к сериализации транзакций.
Журнализация.
Одним из основных требований к СУБД является требование надежного хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Примерами программных сбоев могут быть: аварийное завершение работы СУБД (по причине ошибки в программе или в результате некоторого аппаратного сбоя) или аварийное завершение пользовательской программы, в результате чего некоторая транзакция остается незавершенной.
В любом случае для восстановления БД нужно располагать некоторой дополнительной информацией. Наиболее распространенным методом поддержания такой избыточной информации является ведение журнала изменений БД.
Журнал - это особая часть БД, недоступная пользователям СУБД (иногда поддерживаются две копии журнала, располагаемые на разных физических носителях), в которую поступают записи обо всех изменениях основной части БД. При работе с журналом придерживаются стратегии "упреждающей" записи в журнал (протокол Write Ahead Log - WAL). Эта стратегия заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД.
При мягком сбое во внешней памяти основной части БД могут находиться объекты, модифицированные транзакциями, не закончившимися к моменту сбоя, и могут отсутствовать объекты, модифицированные транзакциями, которые к моменту сбоя успешно завершились (по причине использования буферов оперативной памяти, содержимое которых при мягком сбое пропадает). Целью процесса восстановления после мягкого сбоя является состояние внешней памяти основной части БД, которое возникло бы при фиксации во внешней памяти изменений всех завершившихся транзакций и которое не содержало бы никаких следов незаконченных транзакций. Для того, чтобы этого добиться, сначала производят откат незавершенных транзакций, который производится путем выполнения обратных операций, следуя от конца записи транзакции к началу, а потом повторно воспроизводят те операции завершенных транзакций, результаты которых не отображены во внешней памяти.
Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД. Архивная копия - это полная копия БД к моменту начала заполнения журнала. Для нормального восстановления БД после жесткого сбоя необходимо, чтобы журнал не пропал. Тогда восстановление БД состоит в том, что, исходя из архивной копии, по журналу воспроизводится работа всех транзакций, которые закончились к моменту сбоя. В принципе, можно даже воспроизвести работу незавершенных транзакций и продолжить их работу после завершения восстановления.
Поддержка языков БД.
Для работы с базами данных используются специальные языки, называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка - язык определения схемы БД (SDL - Schema Definition Language - высокоуровневый непроцедурный язык декларатив­ного типа, предназначенный для описания логической структуры данных) и язык манипулирования данными (DML - Data Manipulation Language - совокупность конструкций, обеспечиваю­щих выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам). В современных СУБД поддерживаются два стандартизованных языка:
 QBE (Query By Example) - язык зап­росов по образцу;
 SQL (Structured Query Language) - структурированный язык зап­росов.
QBE в основном обладает свойствами языка манипулирования данными.
SQL - интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Основные возможности SQL:
 позволяет определять схему реляционной БД и манипулировать данными;
 содержит специальные средства определения ограничений целостности БД. Ограничения целостности хранятся в специальных таблицах-каталогах;
 специальные операторы языка позволяют определять так называемые представления БД, фактически являющиеся хранимыми в БД запросами с именованными столбцами;
 авторизация доступа к объектам БД производится также на основе специального набора операторов SQL. Полномочия пользователей описываются в специальных таблицах-каталогах, контроль полномочий поддерживается на языковом уровне.


Download 0,92 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   44




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish