令和5年度 春期 応用情報技術者試験 午前 問26

テクノロジデータベース

この問題は2023(R5)春 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

JSON形式で表現される図1,図2のような商品データを複数のWebサービスから取得し,商品データベースとして蓄積する際のデータの格納方法に関する記述のうち,適切なものはどれか。ここで,商品データの取得元となるWebサービスは随時変更され,項目数や内容は予測できない。したがって,商品データベースの検索時に使用するキーにはあらかじめ制限を設けない。

図1 A社 Web サービスの商品データ
図の説明テキスト

JSON形式のデータ

{
  "_id":"AA09",
  "品名":"47型テレビ",
  "価格":"オープンプライス",
  "関連商品 id": [
    "AA101",
    "BC06"
  ]
}
図2 B社 Web サービスの商品データ
図の説明テキスト

JSON形式のデータ

{
  "_id":"AA10",
  "商品名":"りんご",
  "生産地":"青森",
  "価格":100,
  "画像 URL":"http://www.example.com/apple.jpg"
}

解答・解説を読む

正解: 選択肢

本設問は、様々な項目構成をもつJSONデータを蓄積するのに適したデータベースモデルを問う問題です。問題文において「取得元となるWebサービスは随時変更され、項目数や内容は予測できない」「検索時に使用するキーにはあらかじめ制限を設けない」とあることから、事前のスキーマ定義が不要(スキーマレス)で、JSONのような複雑な階層構造をもつデータをそのまま格納できるデータベースが適しています。このような要件に最も合致するのは、NoSQLの一つであるドキュメントデータベースです。

各選択肢の解説

  • : 階層型データベースは、データを木構造で管理する方式です。上位・下位の2階層に分けるといった固定的な構造では、動的に変化するJSONデータの柔軟な管理には適しません。
  • : グラフデータベースは、データ(ノード)間の関係性(エッジ)を表現することに特化したデータベースです。SNSのつながりや経路探索などには適していますが、JSONドキュメントそのものを格納・検索する目的には最適ではありません。
  • : 正解です。ドキュメントデータベースは、JSONやXMLなどの形式のデータを1つの「ドキュメント」として格納します。データごとに異なる構造を持たせることが可能であるため、項目構成が予測できないデータの蓄積に最適です。
  • : 関係データベース(RDB)は、あらかじめ表の構造(列名やデータ型などのスキーマ)を厳密に定義する必要があります。項目数や内容が予測できないケースでは、列の追加や変更が頻繁に発生し運用が困難になるため不適切です。