排他制御
複数の人がデータベースを使うと、整合性が保てない場合があります。そこで、排他制御が用意されています。この機能により、データの一貫性が保たれます。

トランザクション管理
 トランザクションとはデータベースの処理における、一連の動作のことです。トランザクションでは処理では、データの整合性を保つためにACIDと言われる4つの特性が求められます。
 なぜ整合性を取る必要があるのでしょうか。たとえば、Webにて株を100株売却した場合を考えてください。保有する株数を減らすと同時に、売却して得た代金を増やす処理が必要です。もし、株数を減らす処理したあとに、システム障害が発生し、売却した代金が増えなかったら困りますよね。また、複数人が同時に異なるデータを書き込んだ場合に、データの不整合が起きる可能性があります。
aa
応用情報技術者試験のシラバスでは、「(3)トランザクション管理」として、「データベースは複数の利用者が同時にアクセスするので,トランザクション処理にはACID特性が求められること,四つの特性の意味を理解する。」とあります。

ACIDとは、原子性、一貫性、独立性、耐久性の4つです。
※参考ですが、シラバスにはこれら4つの項目の記載や解説はなく、ACIDという言葉だけの記載です。

 では、ACID特性の4つの内容を確認しましょう。
A:原子性(atomicity)
トランザクションが終了したときの状態は,処理済みか未処理のどちらかしかないという性質
C:一貫性(Consistency)
同一データベースに対する同一処理は,何度実行しても結果は同じであるという性質
I:独立性(Isolation)
一つのトランザクションの処理結果は,他のトランザクション処理の影響を受けないという性質。
D:耐久性(Durability)
トランザクション完了後にハードウェア障害が発生しても,更新されたデータベースの内容は保証されるという性質

H25春AP午前(H23特別AP午前 問32と同じ)
問30 トランザクションの原子性(atomicity)の説明として,適切なものはどれか。
ア データの物理的格納場所やアプリケーションプログラムの実行場所を意識することなくトランザクション処理が行える。
イ トランザクションが終了したときの状態は,処理済みか未処理のどちらかしかない。
ウ トランザクション処理においてデータベースの一貫性が保てる。
エ 複数のトランザクションを同時に処理した場合でも,個々の処理結果は正しい。
正解は、イです。

インデックス
応用情報技術者試験のシラバスでは、「(4)データベースの性能向上」として、「データベースへのアクセス効率向上のために,インデックスを有効に活用する考え方を理解する。」とあります。

過去問(H27春AP)
問29“部品”表のメーカコード列に対し,B゛木インデックスを作成した。これによって,“部品”表の検索の性能改善が最も期待できる操作はどれか。ここで,部品及びメーカのデータ件数は十分に多く,メーカコードの値は均一に分散されているものとする。
  また,“部品”表のごく少数の行には,メーカコード列にNULLが設定されている。
  ここで,実線の下線は主キーを,破線の下線は外部キーを表す。




部品(部品コード,部品名,メーカコード)
メーカ(メーカコード,メーカ名,住所)
メーカコードの値が1001以外の部品を検索する。
メーカコードの値が1001でも4001でもない部品を検索する。
メーカコードの値が4001以上,4003以下の部品を検索する。
メーカコードの値がNULL以外の部品を検索する。
ああ


スポンサードリンク