- ベストアンサー
トランザクション
データベースに置いてトランザクションは 多くのプログラミング言語の関数みたいなものですか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
RDBMSでのTransactionとは、ROLLBACK可能な処理単位のことです。 RDBMSではテーブルへのinsert、delete、updateと更新の処理が幾つかありますが、更新を進めていったなかで全てキャンセルしたい自称が発生することがあります。 その時、Transactionを使わないとバックアップからの復旧くらいしか手段がないことになりますが、Transactionを利用すると更新処理をキャンセルしてトランザクション処理開始前の状態に戻すことが可能となります。 クライアント側やサーバープロセスのプログラムでbegin transactionなどの宣言で開始することもあれば、ストアードプロシージャ内で宣言することもあります。 勿論、大規模な処理の場合はメモリ搭載量や表領域などシステム要件に依存することもあるのでシステ家設計のときにある程度考慮させないと後々破綻して混乱を招くだけになりますから… ということで、関数ではなくRDBMS特有の処理単位となります。 私はOracleで学んだのでMySQLとは言葉の使い方が違うかもしれませんが、そこは読み手側で読み替えてください。
その他の回答 (1)
- maiko0333
- ベストアンサー率19% (839/4401)
少し違うかな。 トランザクションとは1つのまとまった処理という意味では関数と同じですが、 トランザクションはやりかけたモノを元に戻す事ができます。 銀行で1万円引き出した時、通帳から1万円引き、機械から1万円を出すという 処理があります。何処かでエラーが生じて機械から1万円が出せなくなったら 通帳から引いた1万円をもとに戻すことができます。 関数では1万円は戻りません。
お礼
回答ありがとうございます!
お礼
回答ありがとうございます!