マナビング基本情報技術者

トランザクションの性質はどう見分ける?

基本情報技術者試験 平成29年度秋期 午前 問29 / データベース › トランザクション処理

過去問にチャレンジ

平成29年度秋期 午前 問29

RDBMSの機能によって実現されるトランザクションの性質はどれか。

  1. ア

    ACID特性

  2. イ

    関数従属性

  3. ウ

    候補キーの一意性

  4. エ

    データ独立性

会話形式の解説

講師講師
処理の実行と結果に関する性質か、表の設計などに関する性質かを見分けましょう。
受験者受験者
RDBMSに関係する言葉ばかりなので、どれがトランザクションの性質なのか迷います。
講師講師
トランザクションに求められる四つの性質をまとめた名前は何でしょうか。
受験者受験者
ACID特性です。四つの性質を確認したいです。
講師講師
原子性は処理をすべて実行するか、まったく実行しないか。一貫性は処理の前後でデータに矛盾を生じさせない性質です。
受験者受験者
残る二つは、同時に動く処理と、完了した結果に関係しますか。
講師講師
はい。独立性、つまり隔離性は並行するトランザクション同士が干渉しない性質です。耐久性は、完了した処理の結果が障害後も失われない性質です。
受験者受験者
では、データ独立性も、その独立性と同じ意味ですか。
講師講師
意味が違います。データ独立性は、データ構造を変更してもプログラムへの影響を抑えられる性質です。
受験者受験者
関数従属性と候補キーの一意性も、処理の実行とは別の話でしょうか。
講師講師
そうです。関数従属性は、ある属性の値が決まると別の属性の値も一意に定まる関係で、表の正規化やスキーマ設計に使います。候補キーの一意性は、その値で各行を区別できる性質です。
受験者受験者
処理を一つの単位として実行する際の性質を問うので、答えはACID特性ですね。
講師講師
そのとおりです。特に「独立性」という語だけで選ばず、トランザクション同士の干渉の話か、データ構造とプログラムの話かを確かめましょう。

まとめ

RDBMSが実現するトランザクションの性質は、ACID特性です。原子性・一貫性・独立性(隔離性)・耐久性の四つを指します。関数従属性と候補キーの一意性は表に関する概念で、データ独立性もACID特性の独立性とは意味が異なります。

解答・解説

正解はアです

この問題のテーマ

RDBMSがトランザクションに対して実現する性質を問う問題です。

解き方の考え方

各選択肢が、処理の実行とその結果を扱う概念か、データの設計を扱う概念かを見分けます。トランザクションに求められる性質をまとめたものを選びます。

選択肢ごとの解説

  1. ○ア  ACID特性
    アのACID特性は、トランザクションに求められる四つの性質の総称です。RDBMSによるトランザクション処理の性質を述べているので、正解です。
  2. ×イ  関数従属性
    イの関数従属性は、ある属性の値が決まると、別の属性の値も一意に定まるという関係です。表の正規化やスキーマ設計に使う概念であり、トランザクションの性質ではありません。
  3. ×ウ  候補キーの一意性
    ウの候補キーの一意性は、候補キーの値によって各行を区別できることを指します。行を識別するための性質であり、処理を一つの単位として実行する際の性質とは異なります。
  4. ×エ  データ独立性
    エのデータ独立性は、データ構造を変更してもプログラムへの影響を抑えられる性質です。ACID特性に含まれる、並行して動くトランザクション同士の独立性とは意味が違います。

POINT

  • 原子性は、トランザクション内の処理をすべて実行するか、まったく実行しないかのどちらかにします。
  • 一貫性は、処理の前後でデータに矛盾を生じさせない性質です。
  • 独立性(隔離性)は、並行実行するトランザクション同士が干渉しない性質です。
  • 耐久性(永続性)は、完了した処理の結果が障害後も失われない性質です。

※出典:平成29年度秋期 基本情報技術者試験 午前 問29