データベース トランザクションの 4 つの特性は次のとおりです: 1. 原子性、トランザクションはデータベースの論理的な作業単位であり、トランザクション内のすべての操作は完了するか完了しないかのどちらかです; 2. 一貫性、トランザクションの前後3. 分離 4. 耐久性 トランザクションが送信されると、データベース内のデータに対する変更は永続的になる必要があります。
(推奨チュートリアル: mysql ビデオ チュートリアル)
データベースがトランザクション操作をサポートしていると主張する場合、そのデータベースは次の 4 つの特性を持つ必要があります:
1. アトミック性
アトミック性とは、トランザクションに含まれるすべての操作がすべて成功するかすべて失敗することを意味します。前の 2 つのブログで紹介したトランザクションの機能と同じ概念であるため、トランザクション操作が成功した場合はデータベースに完全に適用する必要があり、操作が失敗した場合はデータベースに影響を与えることはできません。
2. 一貫性
一貫性とは、トランザクションがデータベースをある一貫性状態から別の一貫性状態に変換する必要があること、つまり、トランザクションが次の状態にある必要があることを意味します。実行前と実行後の両方で一貫した状態。
送金を例に挙げると、ユーザー A とユーザー B の合計金額が 5,000 であると仮定すると、A と B の間で送金がどのように行われたか、または送金が何回完了したかに関係なく、トランザクションの完了後、2 人のユーザーは同じになります。合計は最大 5000 になり、これがトランザクションの一貫性を表します。
3. 分離
分離とは、同じテーブルを操作する場合など、複数のユーザーがデータベースに同時にアクセスする場合であり、データベースはユーザーごとに開かれます。他のトランザクションの操作によって干渉されるため、複数の同時トランザクションを互いに分離する必要があります。
このような効果を実現するには: 2 つの同時トランザクション T1 と T2 の場合、トランザクション T1 の観点から見ると、T2 は T1 が開始される前に終了するか、T1 が終了した後に開始されます。そのため、各トランザクションは他のトランザクションが実行されていることを認識しません。同時実行中。
トランザクション分離に関しては、データベースには複数の分離レベルが用意されています。これについては後で紹介します。
4. 耐久性
耐久性とは、トランザクションが送信されると、たとえトランザクションのコミット操作が行われなくても、データベース内のデータへの変更が永続的であることを意味します。データベース システムに障害が発生した場合でも、データは失われます。
たとえば、JDBC を使用してデータベースを操作する場合、トランザクション メソッドを送信した後、ユーザーにトランザクション操作が完了したことを示すプロンプトが表示されます。プロンプトが表示されるまでプログラムの実行が完了すると、それを識別できます。問題が発生した場合は、トランザクションを完全に実行する必要があります。そうでないと、トランザクションの完了を促す重大なエラーが表示されますが、データベースはトランザクションを実行しませんでした。失敗のため。
以上がデータベース トランザクションの 4 つの特徴は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。