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

選択肢
ア:階層型データベースを使用し、項目名を上位階層とし、値を下位階層とした2階層でデータを格納する。
イ:グラフデータベースを使用し、商品データの項目名の集合から成るノードと値の集合から成るノードを作り、二つのノードを関係付けたグラフとしてデータを格納する。
ウ:ドキュメントデータベースを使用し、項目構成の違いを区別せず、商品データ単位にデータを格納する。(正解)
エ:関係データベースを使用し、商品データの各項目名を個別の列名とした表を定義してデータを格納する。
JSON形式の商品データ格納方法【午前2 解説】
要点まとめ
- 結論:商品データの項目数や内容が予測できず、柔軟な構造が必要なためドキュメントデータベースが最適です。
- 根拠:ドキュメントデータベースはJSON形式のようなスキーマレスなデータをそのまま格納でき、項目の違いを気にせず扱えます。
- 差がつくポイント:関係データベースはスキーマ固定で拡張性が低く、階層型やグラフ型は用途が異なるため、問題文の条件に合致しません。
正解の理由
ウのドキュメントデータベースは、JSON形式のデータをそのまま格納でき、項目の有無や構造の違いを気にせず扱えます。商品データの取得元が随時変わり、項目数や内容が予測できない場合でも柔軟に対応可能です。これにより、検索時にキーの制限を設けずに多様なデータを効率的に管理できます。
よくある誤解
関係データベースは表形式で管理するため柔軟性が低いと知らず、すべてのデータに適用できると誤解しがちです。階層型やグラフ型は特定の用途に特化しており、JSONのような自由形式データには不向きです。
解法ステップ
- 問題文から「項目数や内容が予測できない」「キーに制限を設けない」条件を確認する。
- JSON形式のデータをそのまま格納できるデータベースの種類を思い出す。
- 各選択肢の特徴を比較し、スキーマレスで柔軟なドキュメントデータベースを選択する。
- 関係データベースや階層型、グラフ型の用途と問題条件の不一致を確認する。
- 正解はドキュメントデータベースであることを確定する。
選択肢別の誤答解説
- ア: 階層型データベースは木構造で固定的な階層関係を持つため、項目の自由度が低く、JSONの多様な構造に対応しにくいです。
- イ: グラフデータベースはノードとエッジで関係性を表現しますが、項目の多様性やスキーマレス性を重視する用途には適しません。
- ウ: 正解。ドキュメントデータベースはJSON形式のデータをそのまま格納し、項目の違いを気にせず扱えます。
- エ: 関係データベースはスキーマが固定されており、項目の追加や変更に柔軟に対応できず、今回の条件には不適切です。
補足コラム
ドキュメントデータベースはMongoDBやCouchDBなどが代表例で、JSONやBSON形式のドキュメントを格納します。スキーマレスのため、異なる構造のデータを同じコレクションに保存可能で、Webサービスからの多様な商品データを扱うのに適しています。検索時も柔軟なクエリが可能で、NoSQLデータベースの一種として注目されています。
FAQ
Q: ドキュメントデータベースと関係データベースの最大の違いは何ですか?
A: ドキュメントデータベースはスキーマレスでJSON形式のデータをそのまま格納できるのに対し、関係データベースは固定スキーマの表形式で管理します。
A: ドキュメントデータベースはスキーマレスでJSON形式のデータをそのまま格納できるのに対し、関係データベースは固定スキーマの表形式で管理します。
Q: グラフデータベースはどんな場合に使うのが適切ですか?
A: 複雑な関係性やネットワーク構造を表現・解析する場合に適しており、商品データの多様な項目管理には向きません。
A: 複雑な関係性やネットワーク構造を表現・解析する場合に適しており、商品データの多様な項目管理には向きません。
関連キーワード: JSON, ドキュメントデータベース、スキーマレス、NoSQL, 商品データ管理、柔軟なデータ格納

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

