DBデータベーススペシャリスト試験 午前Ⅱ

令和2年度10月 データベーススペシャリスト 午前Ⅱ 問13

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

ハッシュ方式によるデータ格納方法の説明はどれか。

選択肢

  1. ア
    レコードの特定のデータ項目の値が論理的に関連したレコードを,同一ブロック又はできる限り隣接したブロックに格納する。
  2. イ
    レコードの特定のデータ項目の値に対応した子レコード同士を,ポインタで鎖状に連結して格納する。
  3. ウ
    レコードの特定のデータ項目の値の順序を保持して,中間ノードとリーフノードの平衡木構造のブロックを作り,リーフブロックにレコード格納位置へのポインタを格納する。
  4. エ
    レコードの特定のデータ項目の値を引数とした関数の結果に従って決められたレコード格納場所に格納する。
解き方のヒントを見る

データ配置を考える視点

ハッシュを使う格納方法を学ぶときは、データをどのような基準で配置先へ結び付け、分布の偏りやデータ量の変化にどう向き合う設計かという観点に集中しましょう。

この問題で問われていること

選択肢を読む際は、格納先の決まり方と、利用するデータの偏りや増減が配置の均一さや扱いやすさに与える影響を比較することだけを確認してください。

視点

方式の名称や細かな実装を暗記するより、入力の特徴から配置が偏る可能性を考え、その偏りが運用上の扱いやすさにどう関係するかを整理します。

確認ポイント

  • 各選択肢が想定する配置の基準を読み取る
  • データの分布が配置の偏りに影響しうるか考える
  • 配置の結果が利用時の扱いやすさと整合するか確認する
正解と解説を見る

正解

エ

解説

ハッシュ方式は、レコード中の特定のデータ項目の値を関数に与え、その結果に基づいてレコードを格納する場所を決定する方式です。値の順序や木構造は必須ではありません。

理由

ハッシュ方式では、検索対象となるデータ項目の値をハッシュ関数などに入力し、得られた結果から格納先を決めます。したがって、値と格納場所を関数で対応付ける説明が適切です。

比較

関連するレコードを近接配置する説明はクラスタリング、ポインタで鎖状に連結する説明はチェイン構造、順序を保った平衡木を作る説明はB木などの索引構造に該当します。

選択肢ア

これは不正解だよ。論理的に関連したレコードを同一ブロックや隣接ブロックに格納するのは、関連データの物理的な近接配置を重視する方法です。特定の値を関数に与え、その結果で格納場所を決めるハッシュ方式の説明ではありません。

選択肢イ

これは不正解だよ。子レコード同士をポインタで鎖状に連結して格納する説明は、レコード間のリンクを利用する方式を示しています。ハッシュ方式の中心は値を関数で変換して格納場所を決めることであり、ポインタによる連結ではありません。

選択肢ウ

これは不正解だよ。値の順序を保持し、中間ノードとリーフノードから平衡木を構成するのは、木構造の索引を用いる方式の説明です。ハッシュ方式では値の大小順を保持する平衡木を作ることは基本的な要件ではありません。

選択肢エ(正解)

これは正解だよ。ハッシュ方式では、レコードの特定のデータ項目の値を関数の引数として扱い、その関数の結果に応じて格納場所を決定します。値から格納先を対応付けるというハッシュ方式の基本的な特徴を正しく説明しています。

学習のポイント

ハッシュ方式と、クラスタリング、連結、平衡木による格納方式の違いを整理しましょう。

出典:独立行政法人 情報処理推進機構(IPA)令和2年度10月 データベーススペシャリスト試験 午前Ⅱ 問13(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針