Имя: Пароль:
1C
1С v8
Педагогический вопрос. Как объяснить что такое транзакция?
0 quest
 
15.06.12
01:32
Сабж собственно.
1 mistеr
 
15.06.12
01:41
2 SeraFim
 
15.06.12
02:25
Надо дать взятку 3 чиновникам (совершить 3 операции)
Первому дал - он взял (первая операция завершена успешно)
Второму дал - он взял (вторая операция завершена успешно)
Третьему дал - а он не взял (в третьей операции ошибка)
Если есть транзакция, то ты бы мог вернуть все деньги, отданные первому и второму чиновнику (можно будет отменить первую и вторую операции)
а если нет, то денежки останутся у них (изменения, которые делали первая и вторая операции останутся в силе)
3 ptrtss
 
15.06.12
05:49
(2) Жизненно. Прям за душу берет
4 ШтушаКутуша
 
15.06.12
05:56
групповая операция, исполняемая по принципу:"исполняется все или ничего".
Так пойдет? :)
если нет, тогда зафиндилю это в пятничную ветку
5 ptrtss
 
15.06.12
06:00
(0) По сабжу, лучше показать на примере. А лучше - на двух: последовательность операций с транзакцией и без, с демонстрацией кривизны возникающей при ошибках в середине выполнения.
6 Vika_Vika
 
15.06.12
07:20
Возьмем операцию перемещения товара со склада на склад. Грубо говоря, здесь ясно видны два этапа. Товар ушел с одного склада, товар пришел за другой склад. Допустим, во время прихода товара на другой склад возникла ошибка. Если у нас нету транзакции, то получилось, что товар ушел и никуда не пришел. Это плохо. Если есть транзакция, то будет отменен 1 этап и товар останется на том складе, где и был сначала. Учет не пострадал.
Пример понятен?
7 dva1c
 
15.06.12
07:36
(0) На работе весь мозг "проели", употребляя это где надо и где не надо. Я даже распечатал из (1) и зачитываю вслух тем, кто говорит: "транзакция не прошла" или "проги сделали транзакцию с ошибкой" и т.п.
(2)+1 Отличное объяснение для "непонятливых"
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший