トランザクション
仕事を完結させるための最小単位。

つまり、勇者が攻撃して敵にダメージを与える場合
①勇者が攻撃対象を選ぶ
②勇者が与えるダメージを決める
③勇者の攻撃がヒットするか決める
④ヒットした場合、敵にダメージを与える

これを全部合わせて完結する。

これの途中で③でエラーが起きて④に行かないと
一生敵を倒せないくそげーになる。

データーベースは
トランザクションが完了したかを認識するため、
COMMITというコマンドがあるらしい。
これで初めてデータベースの変更が確定される。
まるでSVN(サブバージョン管理システム)

また処理を途中で取り消してしまった場合、
トランザクションの処理の変更を取り消す必要がある。
これをROLLBACKといってトランザクション開始前の状態に
戻るらしい。
ちなみにこれらはDCL(データ制御言語)とよばれるらしい。

データベースはデータの共有がしたい場合がある。
でもデータを誰もが変えられると問題がある。
経理部同士で給料データを同時に更新したりとかしてエラーになる可能性がある。

その防ぐ仕組みがロック。
ロックされている間は他はアクセスできない。
処理が終わるとロックが解除される。
まるでスレッドのシンクロナイズド(詳しくはJAVAのスレッドで参考してみてください)

セキュリティ機能もある。

認証、アクセス制御(権限)監査、暗号化
ようは必要な人しかアクセスできないようにする。
銀行のキャッシュカードがだれでも使えて、データ書き換えられたら
やばいよね。

監査はアクセス履歴を記録に残すみたい。
データベースはデータを暗号化することで盗聴の仕組みを防ぐ。
暗号化いつか勉強したいな。

……犯罪のためじゃないからね!

ぶっちゃけこのブログ見るよりオラクルの公式入門サイトを見ることをおすすめします。