トランザクションは 「複数の更新が同時に成功 or 全部やり直し」を保証する仕組みでした。 ここで重要なのは、「どこからどこまでをトランザクションで囲むか」に唯一の正解はなく、要件によって変わるということ。 QA としては、「この要件ならどう囲うのが妥当か/提案された境界に抜けがないか」を判断できると、設計レビュー・障害分析で大きく役立ちます。
❓ EC サイトで以下の処理を実装するとき、あなたの想定する要件ではどの組み合わせを 1 トランザクションにまとめるかを、 理由とセットで 2〜3 行で書いてみてください(正解は 1 つではありません)。
「商品を1つ注文する」処理: ① orders に新規行を INSERT ② products の在庫を 1 減らす UPDATE ③ users.last_ordered_at を現在時刻に UPDATE ④ ログ用の access_log に INSERT
①〜④ のうち、あなたの要件ではどれを 1 トランザクションにまとめる? 理由とセットで 2〜3 行で。
📝 1文字以上書くと「解答例を見る」が押せます