令和7年度65テクノロジ系

ITパスポート 令和7年度 問65:databaseに関する問題

DBMSにおいて,データの検索を高速に行う目的で,必要に応じて設定して利用する情報はどれか。

  • aインデックス正答
  • b外部キー
  • c主キー
  • dスキーマ
正答:Aインデックス

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは a「インデックス」 です。

インデックスは「本の巻末さくいん」と同じです。分厚い本から特定の言葉を探すとき、最初のページから全部めくるのは大変。でも巻末のさくいんを見れば「○○は△ページ」とすぐ分かりますよね。

データベースでも、このさくいんを用意しておくと、目当てのデータを高速に見つけられます。必要に応じて作る“検索を速くするための仕掛け”です。

👉 覚え方:インデックス=本のさくいん=探すのを速くする

ほかの選択肢:b 外部キー・c 主キー=データのつながりや見分けに使う役割/d スキーマ=データベース全体の設計図。どれも「検索を速くする道具」ではありません。

標準試験対策の基準レベル

なぜこれが正解か

正解は a インデックス(索引)。インデックスは、DBMSでデータ検索を高速化する目的で、必要に応じて列に設定する情報。本の巻末索引のように、値とその格納位置を対応付けておくことで、全件走査せずに目的の行へ素早く到達できる。

各選択肢の解説

  • b 外部キー:別の表の主キーを参照し、表どうしの関連付け・参照整合性を保つための列。検索高速化が主目的ではない。
  • c 主キー:表内の各行を一意に識別する列。識別が役割(結果的に索引が作られるが、目的は一意性の保証)。
  • d スキーマ:データベースの構造・定義(表・項目・関係)の全体設計。検索を速くする仕組みではない。

覚え方・ひっかけ注意

「検索を速くする=インデックス(索引)」で一発。主キーは「一意に識別」、外部キーは「表をつなぐ」、スキーマは「設計図」と役割で区別。インデックスは検索を速くする反面、追加・更新時の負荷が増えるトレードオフも頻出。

上級誤答論破・背景理論まで深掘り

理論的背景

データベースのインデックス(索引)はデータ検索を高速化するためのデータ構造であり、DBMSが「必要に応じて設定して利用する」オプション的なオブジェクトである。正解はaのインデックスである。

インデックスの最も広く採用される実装はB-Tree(Balanced Tree:平衡木)構造である。B-Treeはルートノード・中間ノード・葉ノードの階層で構成され、全ての葉ノードが同じ深さにあるように自動的にバランスを保つ。検索時の計算量はO(log N)となり、インデックスなしの全件スキャン(フルテーブルスキャン:O(N))と比較して大幅に高速化できる。1,000万件のデータでも約23回(log₂(10,000,000)≒23.25)の比較でレコードを特定できる。

他のインデックス種別も整理しておく。ハッシュインデックス:等値検索(WHERE id = 5)でO(1)の超高速検索だが、範囲検索には使えない。ビットマップインデックス:カーディナリティ(値の種類数)が少ない列(性別・ステータス等)に有効で、DWH(データウェアハウス)でよく使われる。全文検索インデックス(転置インデックス):テキストデータの部分文字列検索を高速化し、Elasticsearch等の検索エンジンの基盤となる。

実務での使われ方

インデックス設計はデータベースパフォーマンスチューニングの最重要課題の一つであり、適切なインデックス設計が実行計画を劇的に改善する。実務での典型的なインデックス設計パターンを整理する。

主キー(Primary Key)には自動的にインデックスが作成される(これが選択肢cの主キーとインデックスの違いである)。外部キーには明示的なインデックス設定が必要な場合が多く、設定漏れは結合クエリのパフォーマンスを著しく低下させる。WHERE句の条件列・ORDER BY/GROUP BY句で使われる列・JOIN条件に使われる列が主なインデックス設定対象となる。

インデックスの注意点:更新(INSERT/UPDATE/DELETE)時にインデックスの再構築が必要なため、書き込み頻度の高いテーブルへの過剰なインデックス設定は逆にパフォーマンスを低下させる。また「低選択率(カーディナリティが低い)」の列へのインデックスはフルスキャンより遅くなる場合がある。

試験での位置づけ

インデックスはITパスポートのデータベース分野で必須の用語であり、主キー・外部キー・スキーマとの区別を問う形式で出題される。本問の選択肢はDBMSの重要概念を4つ並べており、それぞれの機能を正確に識別できるかを問う構造になっている。インデックスの定義「検索高速化のためにオプションとして設定するデータ構造」を正確に記憶することが正答の鍵である。

基本情報技術者試験ではインデックスの種類(クラスタードインデックス・ノンクラスタードインデックス)・B-Tree構造の検索計算量・複合インデックスの列順序の重要性(左端一致の原則)・カバリングインデックス(クエリに必要な全列がインデックスに含まれる)まで踏み込んだ知識が求められる。データベーススペシャリスト試験では実行計画の読み方・統計情報の更新・インデックスヒントまで出題される。

選択肢の発展補足

選択肢bの外部キー(Foreign Key)はテーブル間の参照整合性制約を定義するものであり、「子テーブルの列値は必ず親テーブルの対応列に存在しなければならない」というルールを強制する。外部キー制約を設定すると、存在しない親レコードへの参照は拒否され、参照されている親レコードの削除も(ON DELETE CASCADE等のオプションなしでは)拒否される。選択肢cの主キー(Primary Key)は各行を一意に識別する列(または列の組み合わせ)であり、NULL不可・重複不可の制約を持つ。主キーには自動的にユニークインデックスが作成されるため「主キー=インデックス付き」だが、インデックス自体は主キー以外の検索最適化目的で任意に設定できるオブジェクトである。選択肢dのスキーマは「データベースの論理的な構造定義(テーブル・列・型・制約・インデックスの定義の集合)」を指し、概念スキーマ・内部スキーマ・外部スキーマの3層構造(3層スキーマアーキテクチャ)として定義されることが多い。

出典・引用について

出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和7年度65/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

55
security
56
database
57
database
58
technology_element
59
network

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビならITパスポートの過去問を解きながら学べます。