トランザクションは、データベース(DB)を操作するための一連の操作であり、1つのアトミックバンドルに結合されます。
(データベースが何であるかを知っていることを前提としています。しかし、少し後に「それは何ですか」という記事へのリンクがあります)
トランザクションデータベース(トランザクションを介して機能するデータベース)は、データのセキュリティを確保するACID要件に準拠しています。財務データを含む=)したがって、開発者はそれらを選択します。
トランザクションとは何かについてお話します。開く方法と閉じる方法。そして、なぜトランザクションを閉じることが重要なのですか。そして、データベースにクエリを書き込むときに、内部で何が起こっているのか、更新後にこの必須のコミットが必要な理由を意識的に理解できます。
コンテンツ
トランザクションとは
トランザクションは、データベースへのクエリのアーカイブです。それはあなたのデータをオールオアナッシングベースで保護します。
メッセンジャーで友達に10個のファイルを送信することにしたと想像してください。オプションは何ですか:
各ファイルを個別にスローします。
それらをアーカイブに入れて、アーカイブを送信します。
あまり違いはないようです。しかし、何かがうまくいかない場合はどうなりますか?接続が途中で切断されるか、サーバーが再起動するか、単にエラーが発生します...
最初のケースでは、友達は9つのファイルを受け取りますが、1つは受け取りません。
. . , . , . , « ».
, , ? ? ? , . ? , . , ! , , !
, :
— ?
— 10
— ? 9... , .
, . 100 2 ? « 1», « 2» , «hfdslafebx63542437457822nfhgeopjgrev0000444666589.xml» ... ! , .
! — . «, ». , , .
, . "" :
delete from 1 where = 1
insert into 2 values ('')
« » . , 1 , 2 ... ...
. 1!
-, — , . — , - . , « », , .
, . ( . connection, ). — , .
, . :
.
.
.
, . , .
, , . . . — , .
, . — .
. (, ), , -.
. Oracle , . MySql «start transaction».
2 :
COMMIT — ;
ROLLBACK — ;
, «», . , , .
, :
insert into clients (name, surname) values ('', '');
-- «» «»
, ! , select , , — ! .
! , . sql developer ( , ) select — .
, , :
insert into clients (name, surname) values ('', '');
commit;
. . . sql developer, , .
, : « » , ! ? .
. , . , . :
= «»
= «»
...
. select count — . 100 ! , . .
, - ! «» «», - . ... . rollback.
— ROLLBACK? . , . . .
. :
, «»;
495 499;
....
, . select , . «, , ? , ». .
- . . 3 , . 10 — , . , ...
. !
— , .
, (, insert , ...).
, . . ( connection) — , . — , , .
, . . :
COMMIT — ;
ROLLBACK — ;
, -, . . - . rollback, . ? - . , , .
() . — , (update, delete…) , commit /rollback — .
PS-より有用な記事については、「有用」というタグの下にある私のブログを見てください。そして、便利なビデオは私のyoutubeチャンネルにあります