• ベストアンサー

トランザクションってなんでしょうか?

情報処理の言葉でトランザクションってのはどういうものなんでしょうか? 私は大学でハードウェアの勉強をしているので、どうも情報の基本用語がわからないのです。いいサイトがあれば教えて、本でもいいんで。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • coolguys
  • ベストアンサー率18% (351/1917)
回答No.3

「transaction」は「処理」という意味で、コンピュータ関連では、主にデータベース処理で使用される用語で、データベースへの接続、レコードの検索、レコード内のデータの更新、接続の切断、などといった一連の手続きを指す。複数のクライアントから同時にアクセスされるデータベースシステムでは、あるトランザクションによるデータ操作が完了するまで、他のトランザクションによってそのデータが更新されてしまわないようにするなどのしくみが必要になる。 と、参考URLで調べてみました。 結構、役に立つと思います。

参考URL:
http://www.ascii.co.jp/ghelp/

その他の回答 (4)

  • coolguys
  • ベストアンサー率18% (351/1917)
回答No.5

まだ、分からないのでしょうか? 連する複数の処理を一つの処理単位にまとめて管理する処理方式。 複数の作業を連結した処理単位を「トランザクション」という。 トランザクションとして管理された処理は「すべて成功」か「すべて失敗」のいずれかであることが保証される。 例えば、資金移動システムをコンピュータで処理する場合、出金処理と入金処理は 「どちらも成功」か「どちらも失敗」のどちらかであることが要求される。 「出金に成功して入金に失敗」すると、出金された資金が宙に浮いてしまうからである。 このような場合に、出金と入金をまとめて1つのトランザクションとして管理し、 どちらか一方が失敗したらもう片方も失敗させ、 どちらも成功したときに初めて全体を成功と評価するのがTPである。 TPを実現するシステムをTPモニタという。

  • Himao
  • ベストアンサー率29% (5/17)
回答No.4

基本的には「処理・更新」ということでしょう。 試験では、「オンライン・トランザクション」などという言葉で、出てくることが多いかも。 実際には、「トランザクションでの障害発生時に、データベースをどう修復するか?」というふうに、問題が出たりします。 ですから、その修復・復旧方法なども一緒に覚えるといいのかもしれません。

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.2

複数の処理を一つの処理単位としてまとめたもの。 その処理一連のことをトランザクション処理と言います。

参考URL:
http://search.zdnet.co.jp/help/howto/win/win2000/0010netdesign/01/02.html
  • kj_
  • ベストアンサー率39% (9/23)
回答No.1

参考URLをみてください!

参考URL:
http://www.e-words.ne.jp/

関連するQ&A

  • ロングトランザクションについて

    お世話になります。 長時間トランザクション処理を行おうと思うのですが、 (3000万件のデータを2つのテーブル間でコピーします。  トランザクション処理中、継続して論理ログのバックアップを行います) ロングトランザクション(そのまま?)という用語があり、 長時間のトランザクション処理には問題があると聞きました。 ロングトランザクションの問題について、ご存知の方、教えてください。 よろしくお願い致します。

  • トランザクションの利用

    はじめて質問させていただきます。 PHP4.4 + MYSQL5でinnoDBを利用したトランザクション処理の勉強をしたいのですが、オープンソースやフリーのスクリプトで参考になるようなものはないでしょうか。いろいろ見たのですがMYISAMがほとんどで・・。 トランザクション処理の概念は分かるのですが、いざPHPでその動作を実現しようとしても、どうやれば良いのかがわかりません。 BEGINで始まりCOMMITで終わるのは分かるのですが、PHPでどのように書けば良いのでしょう。 参考になるスクリプトやサイトがあれば教えていただきたいです。

    • ベストアンサー
    • MySQL
  • トランザクション処理について

    トランザクション処理について、ちょっと疑問に思うことがあります。 トランザクション処理とは、クライアントの異常終了などで、中途半端な状態で終わったデータはロールバックされ、元の状態にもどされることですよね?では、サーバが突然フリーズした場合どうなるのでしょうか?トランザクション処理もできないため、中途半端な状態で終わったデータは手動で整合性を合わせる必要があるのでしょうか? かなり、基本的なことを聞いていますが、DBの知識がないためどなたか教えてください。

  • トランザクション処理システムについて

    現在大学で会計情報について学んでいるのですが トランザクション処理システムがよくわかりません。 プログラミングで行なわれるようなトランザクションについてはWebで調べてわかったつもり (inputとoutputの処理中に他からのinputがあった場合に整合性が取れなくなるので、それを回避するためにIPOを一連の動作とすることで変更があった場合に偽を返す) なのですが、それが会計システムでどのように使われるのか、また意味するのかがよくわかりません。 教えてください、よろしくお願いします

  • トランザクション名の付け方

    こんにちは。VB.NETの勉強をしている社会人です。 クリック時にトランザクション名が付されるようにコーディングしているのですが、誤りがあるようでうまく動作しません。「 sTrans = scn.BeginTransaction("トランザクション1")」の記述に問題があるようですが、記述はテキストのままです。 ※「sTrans = scn.BeginTransaction()」と、名前を付けなければトランザクションは実行されます。 どのようにすればトランザクションに名前が付けられるのか、教えていただけないでしょうか。 よろしくお願いいたします。 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sTrans As OleDb.OleDbTransaction Dim scn As OleDb.OleDbConnection = New OleDb.OleDbConnection( _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ & "C:\VB_DB\SampleDB2.mdb;Persist Security Info=False") scn.Open() 'トランザクションを開始する Try sTrans = scn.BeginTransaction("トランザクション1") MessageBox.Show("トランザクションを開始しました。", "処理経過") 'トランザクションを終了する sTrans.Commit() Catch ex As Exception MessageBox.Show("トランザクションを開始できませんでした。", "処理結果") End Try scn.Close() End Sub End Class

  • パソコンの用語辞典

    PCの用語辞典についてお尋ねします。 情報処理などの勉強を始めようと思っています。 その本に出てくる言葉がイマイチわからないので、 パソコン用語辞典を購入しようと思うのですが、良いものがあれば教えてください。 まったくの初心者と言うわけではなく、オフィス系のソフトなどは仕事で使用しています。 ただ、用語をきちんと覚えずにやってきたので、パソコン用語のサイトで調べてもその中に、 またわからない言葉がいくつもある状態です。 PCの仕組みや、ネットワークなども勉強していこうと思っています。 オススメの辞典またはサイトなどがあったら教えてください。 よろしくお願いします。

  • zend(phpフレームワーク)でトランザクション処理をしたいのですが

    zend(phpフレームワーク)でトランザクション処理をしたいのですが…。 いつもお世話になっております。 zendでトランザクション処理をしたいのですが O/Rマッパーを使用した方法がわかりません…。 どなたかご存知この方参考サイト等あれば御教示お願いします。

    • ベストアンサー
    • PHP
  • 同一ユーザーが同時アクセスした時のトランザクション

    PHPとMySQLでWEBアプリを作っています。 複数の人がログインしてデータの書き換えが発生するので、トランザクションを扱いたいと考えています。 サイトや書籍を見て基礎はとりあえず頭に入ったのですが、自分の作っているアプリで一般的にどうやればいいのかピンときていません。 そこでいくつか疑問があるのですが、今回的を一つに絞って質問します。 質問 「同じアカウントのユーザーが別々のブラウザから同時にアクセスしてきても問題が無いようにする一般的なトランザクション処理の方法が知りたい」 現在既に出来ているアプリの流れが以下です。(かなり簡略化しています) <?php  始めにMySQLでユーザー情報の読み込み  MySQLでいろんな情報の読み込み  phpでいろんな処理  MySQLでいろんな情報の書き込み  (上記の一連の処理は何回も出てくる)  最後にMySQLでユーザー情報の書き込み ?> 書籍やサイトに載っているトランザクションの例だと、読み込みと書き込みの一連の流れが連続しているので単純にSTART TRANSACTIONしてCOMMITしている場合が多いです。 しかしこのアプリの場合ユーザー情報の読み込みと書き込みに間が空いているので、この間をSTART TRANSACTIONとCOMMITで挟む、というのはかなりおかしい気もします。 このような場合に同一アカウントからの同時アクセスでも整合性を保つにはどうやるのが一般的なのでしょうか。 根本的にphpプログラムとしてデザインが間違っているのかもしれませんが、あくまでMySQLのトランザクション処理での解決を目指している(もうプログラムはほぼ完成している)ので、MySQLのカテゴリで質問しました。でもそういう指摘もしてもらえるとありがたいです。 (ちなみにこのようなことはあくまでそういうアクセスをしてくる人のまれな状況のための対処であり、頻度としては高くないと思っていますがまずは最初の疑問としてあげました)

    • ベストアンサー
    • MySQL
  • MySQLのトランザクションについて

    WEBアプリ上の、MySQLのトランザクションについて質問です。 トランザクションは、データの挿入に矛盾がない場合commitすることによって データの挿入等を確定する機構だとおもいますが、 この仕組みって、トランザクション中は作業対象のテーブルは実行中のクライアント以外 アクセスできなくなる(※つまりロック?がかかっている?)のでしょうか? そうじゃないと、意味がないですよね?やっぱり。。。 また仮にですが、例えばAというクライアントがWEBサイトにアクセス中に Bというクライアントが待ったく 同じ動作を同じタイミングでアクセスした場合ってどうなるのでしょうか? 実際、WEBアプリでそこまでの例外というか処理って行うものでしょうか? また、ちなみにMySQLの場合、 "START TRANSACTION" というSQL文だけでなく AUTOCOMMIT = 0 として、自動コミットをオフにしつつ beginという式で トランザクションを開始する方法があるようですが、実際はどちらの方が当たり前のほうほうなのでしょうか? 識者の方ご教授ください。

    • ベストアンサー
    • MySQL
  • JDBCでのトランザクション・排他制御

    初めまして。 まだ初心者の身なのですが質問させてもらいます。 サーブレット・jspでJDBCを使いデータベースとの処理を行って簡単なショッピングサイトのようなものを作っています。 まずsetAutocomit() = falseでトランザクションを開始し データベースのUPDATEを行って、最後に確定する場合comit キャンセルする場合rollbackとしています。 しかし1人のユーザーがトランザクションを行っている場合に他のユーザーからアクセスされた場合にデータベースのトランザクション中の値を取ってきたいのですが、どうしてもトランザクションでUPDATEされる前の値になってしまうのです。 これを防止するのが排他制御というものだというのは分かったのですが 実際のやり方については、結構調べたのですがあまり載っていませんでした。 データベースはMySQLを使っています。 よろしければJDBCでの排他制御についてのアドバイス、もしくは詳しく説明されているサイトなどございましたら是非教えてください。 よろしくお願いします。

専門家に質問してみよう