整合性のある状態や「厳密な」アトミック性が必要ない場合、データベーストランザクションをいつ使用するのかを理解しています。'consistent state'/'atomicityが不要な場合のデータベーストランザクション
私は、他のどこかで追加を相殺するためにある列の縮小を必要とする銀行業務スタイルの要件はありません。
私は原子性のいくつかの形を持っていますが、「使いやすさ」のためだけであり、dbトランザクションを使用するのに十分かどうか疑問です。
具体的には、テーブルA、B、Cにエントリを作成する必要があります。テーブルCはBに依存し、BはAに依存します。ブラウザでは、実際にすべてのデータを1つのフォームに表示し、バックエンドに送られ、テーブルAのエントリが試行され、続いてB(参照IDがAから作成されたばかりのもの)、C(参照IDがBから作成されたもの)が続きます。
Aに障害が発生した場合はAが成功したが、Bが故障した場合、ユーザーは& Bが成功した場合C. B &を追加するページにリダイレクトされている場合は、ユーザーがA. に関するエラーメッセージを表示してフォームをreshownされますCが失敗すると、ユーザーはCを追加するページにリダイレクトされます。
これはかなりのエラー処理と「すべて成功」または「何か失敗しました。何も作成されていません。同じページにユーザーを置いたり、成功すればリダイレクトすることができるので、最も簡単になります。また、B &のCの失敗の可能性は、私がクライアント側で検証を行うので非常に低いことに留意してください。
私はトランザクションアプローチとエラー処理アプローチを使用する必要があります。それほど厳格ではありません。トランザクション・アプローチまたは一連のインサート・アプローチを選択する前に、私が必要とするいくつかの考慮点は何か。