JSON形式で表現される図1、図2のような商品データを複数のWebサービスから取得し、商品データベースとして蓄積する際のデータの格納方法に関する記述のうち、適切なものはどれか。ここで、商品データの取得元となるWebサービスは随時変更され、項目数や内容は予測できない。したがって、商品データベースの検索時に使用するキーにはあらかじめ制限を設けない。
項目が定まらないJSONの蓄積にはドキュメント型DBが適する
![図1(A社WebサービスAの商品データ、JSON形式): { "_id":"AA09", "品名":"47型テレビ", "価格":"オープンプライス", "関連商品id": ["AA101", "BC06"] }。図2(B社Webサービスの商品データ、JSON形式): { "_id":"AA10", "商品名":"りんご", "生産地":"青森", "価格":100, "画像URL":"http://www.example.com/apple.jpg" }。両者は項目構成(キーの種類・数)が異なる商品データである点がポイント。](/data/sc/figures/sc-2019a-am2-21.jpg)
選択肢
- ア階層型データベースを使用し、項目名を上位階層とし、値を下位階層とした2階層でデータを格納する。
- イグラフ型データベースを使用し、商品データの項目名の集合から成るノードと値の集合から成るノードを作り、二つのノードを関係づけたグラフとしてデータを格納する。
- ウドキュメント型データベースを使用し、項目構成の違いを区別せず、商品データ単位にデータを格納する。
- エリレーショナルデータベースを使用し、商品データの各項目名を個別の列名とした表を定義してデータを格納する。
正解と解説
正解:ウ ドキュメント型データベースを使用し、項目構成の違いを区別せず、商品データ単位にデータを格納する。
項目構成が事前に定まらず、後から項目が増減し得るデータを蓄積するには、スキーマを固定しないドキュメント型データベースが適する。JSONのような構造をそのまま1件のドキュメントとして格納でき、ドキュメントごとに項目が違っても構わない。任意の項目をキーとした検索にも対応しやすい。
選択肢ごとの解説
- ア階層型データベースは構造を事前に固定する必要があり、項目が予測できないデータには向かない。
- イグラフ型は要素間の関連の探索に強みがあるが、項目名と値をノード化する設計は不自然で、この用途に適さない。
- ウ正しい。スキーマを固定しないドキュメント型データベースなら、項目構成の違うJSONをそのまま蓄積できる。
- エリレーショナルデータベースは列を定義する必要があり、項目が随時変わるデータには表定義の変更が頻発して不適である。
同じ分野の他の問題
- DBMSがトランザクションのコミット処理を完了するタイミングはどれか。2025年度 秋期 午前II 問21
- “従業員”表に対して、SQL文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表し、表中のNULLは値が存在…2025年度 春期 午前II 問21
- 関係モデルにおける外部キーに関する記述のうち,適切なものはどれか。2024年度 秋期 午前II 問21
- “人事”表に対して次のSQL文を実行したとき、結果として得られる社員番号はどれか。 [SQL文] SELECT 社員番号…2024年度 春期 午前II 問21
- DBMSのデータディクショナリはどれか。2023年度 秋期 午前II 問21
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。