Вторая таблица с транзакциями
This commit is contained in:
BIN
report/img/transaction2_1.png
Normal file
BIN
report/img/transaction2_1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.1 KiB |
BIN
report/img/transaction2_2.png
Normal file
BIN
report/img/transaction2_2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.8 KiB |
BIN
report/img/transaction2_3.png
Normal file
BIN
report/img/transaction2_3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.4 KiB |
@@ -750,4 +750,71 @@ $$;
|
||||
\end{table}
|
||||
|
||||
|
||||
В таблице~\ref{tbl:unrepeatable_read} представлены транзакции, на примере которых демонстрируется наличие артефакта <<Неповторяемое чтение>>.
|
||||
|
||||
\begin{table}[h!]
|
||||
\centering
|
||||
% \addtocounter{table}{-1}
|
||||
\caption{Транзакции для демонстрации наличия артефакта <<Неповторяемое чтение>>.}
|
||||
\label{tbl:unrepeatable_read}
|
||||
\footnotesize
|
||||
\begin{tabularx}{\textwidth}{|c|X|X|}
|
||||
\hline
|
||||
t & Транзакция 1 & Транзакция 2 \\
|
||||
\hline
|
||||
|
||||
\multirow{3}{*}{} & \multicolumn{2}{c|}{
|
||||
\specialcell{
|
||||
В первой транзакции происходит чтение записи из таблицы \texttt{judge}. После чего эта же \\ запись обновляется во второй транзакции, изменения фиксируются и вторая транзакция \\ успешно завершается. Затем первая транзакция повторно считывает эту запись и получает \\обновлённые данные, а не исходные, из-за наличия артефакта <<Неповторяемое чтение>>.
|
||||
}
|
||||
}\\
|
||||
\cline{2-3}
|
||||
|
||||
& \multicolumn{2}{c|}{Тут что-то ещё. }\\
|
||||
\cline{2-3}
|
||||
|
||||
& \specialcell{Запуск транзакции 1 \\ \texttt{begin;}} & \specialcell{Запуск транзакции 2 \\ \texttt{begin;}}\\
|
||||
\hline
|
||||
|
||||
$t_1$ &
|
||||
\specialcell{
|
||||
Получение имени судьи с \texttt{id\_judge = 201}\\ \\
|
||||
\texttt{select id\_judge, name from judge}\\
|
||||
\texttt{where id\_judge = 201;}\\
|
||||
}
|
||||
\includegraphics[width=1\linewidth]{img/transaction2_1.png}
|
||||
&
|
||||
\\
|
||||
\hline
|
||||
|
||||
$t_2$ &
|
||||
&
|
||||
\specialcell{
|
||||
Изменение имени судьи с \texttt{id\_judge = 201} \\
|
||||
и фиксация транзакции\\ \\
|
||||
\texttt{update judge set name = 'Софа'}\\
|
||||
\texttt{where id\_judge = 201;}\\
|
||||
\texttt{commit;}\\
|
||||
}
|
||||
\includegraphics[width=1\linewidth]{img/transaction2_2.png}
|
||||
\\
|
||||
\hline
|
||||
|
||||
$t_3$ &
|
||||
\specialcell{
|
||||
Получение имени судьи с \texttt{id\_judge = 201}\\
|
||||
и фиксация транзакции \\ \\
|
||||
\texttt{select id\_judge, name from judge}\\
|
||||
\texttt{where id\_judge = 201;}\\
|
||||
\texttt{commit;}\\
|
||||
}
|
||||
\includegraphics[width=1\linewidth]{img/transaction2_3.png}
|
||||
&
|
||||
\\
|
||||
\hline
|
||||
\end{tabularx}
|
||||
\end{table}
|
||||
|
||||
|
||||
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user