36291

Понятие транзакции

Доклад

Информатика, кибернетика и программирование

Понятие транзакции. Транзакции несколько операторов языка SQL которые либо все выполняются по очереди либо все не выполняются. Согласованность гарантия что по мере выполнения транзакции данные переходят из одного согласованного состояния в другое.

Русский

2013-09-21

38.5 KB

6 чел.

  1.  Понятие транзакции

Транзакции.

Понятие транзакции.

Транзакции – несколько операторов языка SQL, которые либо все выполняются (по очереди), либо все не выполняются.

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

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

Транзакция характеризуется четырьмя основными свойствами:

  1.  Атомарность – выражается в том, что транзакция должна быть выполнена целиком или не выполнена вообще.
  2.  Согласованность – гарантия, что по мере выполнения транзакции данные переходят из одного согласованного состояния в другое.
  3.  Изолированность. Означает, что конкурирующие за доступ к БД транзакции физически обрабатываются последовательно, изолированно друг от друга. Пока не закончится выполнение одной, не начнется выполнение другой. Однако, для пользователя это выглядит так, как будто они выполняются параллельно. Причем промежуточные результаты незавершенной транзакции не должны быть доступны другим транзакциям.
  4.  Долговечность. Означает, что если транзакция завершена успешно, то те изменения, которые были произведены в данных, не могут быть потеряны в виде каких-либо обстоятельств.

Транзакции и целостность БД.

Возможны 2 варианта завершения транзакции. Если все операторы успешно выполнены и в процессе выполнения транзакции не было сбоев АО или ПО, транзакция фиксируется. В противном случае БД не будет изменена. Все изменения данных будут аннулированы.

Фиксация транзакций COMMIT.

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

В языке SQL определены такие функции, как COMMIT  и ROLLBACK. COMMIT означает фиксацию транзакции, а ROLLBACK – ее откат. Язык SQL предполагает, что транзакция начинается с первого SQL-оператора, инициируемого пользователем или содержащегося в программе. Также транзакция может начинаться с любого SQL-оператора., следующего за COMMIT или ROLLBACK. Если же работа была прервана сбоем, то транзакция не фиксируется.

          А)                                   Б)                                      В)                                       Г)  

Пояснения к рисунку.

  1.  – транзакция заканчивается принудительно функцией COMMIT, т.е. происходит фиксация изменений в БД.
  2.  – транзакция заканчивается принудительно функцией ROLLBACK. При этом происходит откат транзакции. Все изменения, внесенные данной транзакцией, аннулируются. БД на диске остается без изменений.
  3.  – программа завершается без сбоев, что означает фиксацию транзакции. Т.е. все изменения заносятся в БД.
  4.   – программа прервана из-за сбоя. Откат транзакции, БД не изменяется. Все выполненные в рамках транзакции изменения потеряны.

Ограничения целостности могут немедленно проверяться или откладываемые.

К немедленно проверяемым относятся относятся такие, которые бессмысленны и невозможно откладывать. Например, возраст <150 лет. Эти ограничения относятся к отдельным операторам языка. При их нарушении производится не откат транзакции, а лишь невыполнение данного оператора.

Откладываемые ограничения – это ограничения на саму БД. Они проверяются в конце транзакции. В случае их нарушения COMMIT автоматически заменяется на ROLLBACK.

Возможности отката и фиксации транзакции обеспечиваются благодаря журнализации -  ведению журнала транзакции (см. далее).

Параллельное выполнение транзакции.

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

Исходя из теории, все транзакции должны обладать свойствами изолированности, т.е. работать так, как если бы с БД работал только один пользователь. При этом возникают  следующие проблемы:

  1.  Пропавшие изменения.

Предположим, на складе есть 40 мониторов. 2 оператора одновременно работают с клиентами. Первый получил заказ на 30 мониторов. Он выставляет счет на 30 мониторов и оформляет покупку. При этом обновляется запись о количестве товаров на складе и остается 10 штук. В это же время второй оператор оформляет покупку на 20 мониторов. Т.к. на момент  его запроса первая покупка еще не была оформлена, то он также оформляет покупку. Таким образом, продается 50 мониторов вместо реально существующих 40. БД находится в несогласованном состоянии.

  1.  Проблема промежуточных данных.
  2.  Проблемы несогласованных данных.
  3.  Проблема строк-призраков.

Предположим, что надо приготовить 2 отчета за организованный период – стандартный и расширенный. В то время, как формируется для печати первый отчет, оператор получает еще один заказ, укладывающийся в данный период. Во втором отчете новая покупка будет зафиксирована, а в первом нет.


БД

Д

БД

БД

БД

БД

INSERT

COMMIT

INSERT

ROLLBACK

INSERT

Программа завершена

INSERT

Программа прервана


 

А также другие работы, которые могут Вас заинтересовать

34081. Право государственной и муниципальной собственности на землю 36 KB
  Право государственной и муниципальной собственности на землю. Особенность субъектов государственной собственности в том что они обладают правом территориального верховенства. В соответствии с ГК в государственной собственности находятся все земли за исключением земель находящихся в муниципальной или частной собственности презумпция государственной собственности на землю. Порядок разграничения государственной собственности на землю определяется Земельным кодексом Законом âО введении в действие Земельного кодексаâ Закона âО...
34082. Право частной собственности на земельные участки: общая характеристика, субъекты права собственности 31.5 KB
  Право частной собственности на земельные участки: общая характеристика субъекты права собственности. Частная собственность на земельные участки. Исключения: иностранцы лица без гражданства а также российские юридические лица в уставном складочном которых доля иностранцев и лиц без гражданства более 50 могут использовать земли сельскохозяйственного назначения только на праве аренды ФЗ âОб обороте земель сельскохозяйственного назначенияâ; земельные участки расположенные на территории ЗАТО могут приобретать российские...
34083. Содержание права частной собственности на землю. Объект права частной собственности 30 KB
  Содержание права частной собственности на землю. Объект права частной собственности. Право собственности является наиболее обширным по объему правом на вещь. Римские юристы не оставили точного определения права собственности но упоминали об основных правомочиях собственника.
34084. Разграничение государственной собственности на землю 27.5 KB
  Разграничение государственной собственности на землю. 214 ГК РФ государственная собственность имущество принадлежащее на праве собственности Российской Федерации федеральная собственность и имущество принадлежащее на праве собственности субъектам Российской Федерации собственностьсубъектов Российской Федерации. Таким образом субъектами права государственной собственности являются Российская Федерация республики края области города федерального значения автономная область автономные округа.Поскольку объектами любых прав...
34085. Понятие и общая характеристика приватизации земель в Российской Федерации 25 KB
  Приватизация земельных участков может осуществляться одновременно с приватизацией расположенных на нем объектов недвижимости на основании положений Земельного кодекса РФ ФЗ от 21 декабря 2001 г. 3 ФЗ О введении в действие Земельного кодекса Российской Федерации. Приватизация земельных участков может производиться путем продажи их на аукционе или конкурсе продажи посредством публичного предложения или без объявления цены путем внесения земельного участка в качестве вклада в уставный капитал открытого акционерного общества. Цена выкупа...
34086. Пожизненное наследуемое владение земельным участком 24.5 KB
  Право пожизненного наследуемого владения. предоставление земельных участков на праве пожизненного земельного владения не допускается. Основаниями возникновения права пожизненного наследуемого владения являются: принятие наследства в состав которого входит пожизненное наследуемое владение на земельный участок. договор куплипродажи или иная сделка об отчуждении здания строения сооружения расположенные на земельном участке принадлежавшем бывшему собственнику зданий строений сооружений на праве пожизненного наследуемого владения;...
34087. Постоянное (бессрочное) пользование земельным участком 27.5 KB
  Юридические лица могут быть разделены на 3 группы по отношению к этому праву: юридические лица которым и после введения в действие Земельного Кодекса предоставляются земельный участки на данном праве и которые могут использовать земельные участки на праве постоянного бессрочного пользования органы государственной власти органы местного самоуправления государственные и муниципальные учреждения казенные предприятия центры исторического наследия президентов России прекративших исполнение своих полномочий; юридические лица...
34088. Основания возникновения и изменения прав на земельные участки 59 KB
  По договору кули продажи одна сторона продавец обязуется пережать другой стороне покупателю земельный участок за плату. договор дарения: По договору дарения одна сторона даритель безвозмездно передает или обязуется передать земельный участок другой стороне одаряемому в собственность. договор ренты: По договору ренты одна сторона получатель ренты передаёт другой стороне плательщику ренты земельный участок в собственность а плательщик ренты обязуется периодически выплачивать ренту. Рента обременяет земельный участок поэтому...
34089. Основания прекращения прав на земельные участки 38.5 KB
  Основания добровольного прекращения: ликвидация юридического лица; смерть гражданина и отсутствие соответствующих наследников; отчуждение земельного участка другим лицам в порядке установленном гражданским законодательством; добровольный отказ от прав на земельный участок. Процедура различна для собственников и лиц не являющихся собственниками Собственник земельного участка может отказаться от своего права путем подачи заявления в орган осуществляющий государственную регистрацию прав на недвижимое имущество и сделок с ним....