令和元年秋期試験問題 午前Ⅱ 問21

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

  • 階層型データベースを使用し,項目名を上位階層とし,値を下位階層とした2階層でデータを格納する。
  • グラフ型データベースを使用し,商品データの項目名の集合から成るノードと値の集合から成るノードを作り,二つのノードを関係づけたグラフとしてデータを格納する。
  • ドキュメント型データベースを使用し,項目構成の違いを区別せず,商品データ単位にデータを格納する。
  • リレーショナルデータベースを使用し,商品データの各項目名を個別の列名とした表を定義してデータを格納する。
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:データベース方式
解説
  • 階層型データベースは、会社の組織図のようにデータをツリー構造(親子関係)で管理するデータベースです。項目名と値は親子関係に当たらないため不適切です。
  • グラフ型データベースは、グラフ理論に基づき、「ノード」「エッジ」「プロパティ」の3要素でデータ間の関係性を表現するデータベースです。もし、グラフ型データベースで実装するなら、商品ごとにノードを作成し、項目名と値をキーバリューストア形式で格納し、商品同士の関連をエッジで表現します。
    しかし、この設問では商品を一意に特定する"_id"も含め、Webサービス同士で値が重複したり、将来変更されたりする可能性があるため不適切です。
  • 正しい。ドキュメント型データベースは、XMLやJSONなどの構造でデータを格納するデータベースです。保存するデータ形式が自由なので、複雑なデータ構造をもつデータを扱うときに用いられます。1つのXMLやJSONごとに1件のデータとして保存されます。
    本問では、どちらもJSON形式のデータであり、入れ子構造を含む複雑な形式であること、項目数や内容が変化する可能性があることから、スキーマレスのドキュメント型データベースが適しています。
  • リレーショナルデータベースは2次元の表形式でデータを管理するデータベースです。商品データは、項目数、項目名及び値のドメインが統一されていないこと、将来項目数や内容が変化する可能性があることから適していません。

Pagetop