|
こんにちわ はじめて掲示板に質問する者です。 板違いなら申し訳ございません。 データベースでのトランザクション処理というものに得意になるにはどうしればいいのでしょうか? マイクロソフトのアクセスは使用したことはあるのですが、トランザクションの原始性、一貫性、論理とか試験に出題されるので強烈に勉強したいのですが、いまいちイメージがつかなくて、こまっていました。 本当によろしくご教授おねがいしますm |
No.350 2006/08/15(Tue) 14:00:22
|
|
プチリンゴさん、初めまして。
データベースのトランザクション処理ですか。 試験勉強では全て言葉の上の説明で、実感が伴わないものですよね。 アクセスの経験でも十分だと思うので、試験の言葉をできる限り実体験に結びつけるようにして憶えたらいいのかと思います。
原子性については僕は以下のように実例を想像していました。 例えばアクセスで個人情報を管理するテーブル「顧客テーブル」があったとして、そこには氏名、年齢、都道府県、趣味というカラムがあったとします。 そこには僕の情報が氏名=ukkyo、年齢=31、都道府県=京都、趣味=プロ道、などと入っているわけですよね。
ある時期で僕は32歳になりますし、またその時には引越しして住所が東京になっていたと仮定しましょう。 顧客テーブルの年齢と都道府県を更新する必要が出たわけです。 ここで
1.年齢を「32」に変更する処理 2.都道府県を「東京」に変更する処理
の2つの処理を1つのトランザクションとして実行します。 ここで、年齢だけを変更した瞬間に停電でPCの電源が切れてしまったとしましょう。
そのとき僕のデータが年齢=32、都道府県=京都となってしまっては困るわけです。32歳の僕は東京にいるわけですから。この矛盾を起こさないよう、途中で失敗したのなら完全に最初に戻る、というのが原子性なのです。 僕のデータは年齢=31、都道府県=京都というデータに戻される必要があるのです。 全ての処理が完全に行われるか、それとも全く最初の状態か、です。 原子がそれ以上分割できないように、中途半端に途中まで実行された状態になってしまっては困るような処理がトランザクションというものです。
この解釈は僕がトランザクションの勉強をしていたときに、自分の経験などから多分そういうことだろう、と想像して考えた解釈です。
こんな風に、最初は無理やりでもいいんで、なんとか自分の経験や勘と照らし合わせて、できる限り具体例を頭で考えた方がいいと思います。
何か参考になればいいのですが、、、 試験、ぜひ頑張ってください。 |
No.351 2006/08/16(Wed) 03:26:24
|
|
|
ukkyoさんすごく助かりました。 ありがとうございます。 最後に聞きたいのですが、トランザクションというものに慣れるにはどういう職業の方なんでしょう?データベース業務で日々バックアップとかしているひとなのか、 それともどういったエンジニアの方がトランザクション処理をしているのでしょうか? それともシステム開発の段階でしかトランザクション処理というものはしないんですか? なんかむずかしくなってしまいましたが、何卒よろしくおねがいします。 |
No.352 2006/08/16(Wed) 10:28:05
|
|
|
すいません、出張でバタバタしておりました。
トランザクション処理に慣れるには、やはり開発に携わるプログラマやSEがいいのではないでしょうか。 もちろん開発にも色々あって、データベースを使用する開発でないといけないとは思いますが。
データベースエンジニアは少し違う気がします。 |
No.353 2006/08/19(Sat) 07:33:20
|
|
|
はい、返事くださるだけでありがたくおもいます。 ありがとうございます |
No.356 2006/08/20(Sun) 16:58:00
|
|