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

平成23年度特別 データベーススペシャリスト 午前Ⅱ 問10

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

問題

関係データモデルにおいて属性A,Bを考える。属性Aのドメイン(定義域)はm個の要素から成る集合であり,属性Bのドメインはn個の要素から成る集合であるとする。このとき,関係RをR(A,B)とすると,Rには最大何個のタプルがあるか。

選択肢

  1. ア
    2ᵐ2ⁿ
  2. イ
    (m+n)²
  3. ウ
    m+n
  4. エ
    mn
解き方のヒントを見る

定義と個数を分けて考える

関係データモデルの用語を、集合や構造を表す定義と、実際に含まれる要素の個数という観点に分け、両者の関係を落ち着いて確認しましょう。問題文の条件と照らし合わせ、用語そのものの意味と、条件から変化する量を混同しないよう整理することが大切です。

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

この問題では、対象を説明する概念上の定義と、そこに現れるデータの数え方を切り分けて読んでください。まず各用語が何を表すかを確認し、個数との関係を一般的な条件整理として検討しましょう。

視点

用語の定義と、データの集まりに関する数量的な見方を分離して整理する。定義から直接読み取れる内容と、問題の条件によって左右される内容を区別し、両者の対応関係を慎重に確認する。

確認ポイント

  • 用語が表す対象と、数えている対象を同じものとして扱っていないか確認する
  • 問題文の条件が、定義の説明なのか、個数に関する前提なのかを区別する
  • 定義から言えることと、追加条件がなければ判断できないことを分けて記録する
正解と解説を見る

正解

エ

解説

関係R(A、B)のタプルは、属性Aの値と属性Bの値を一つずつ組み合わせたものです。Aからm個、Bからn個の選択肢があるため、全ての組合せを登録したときの最大数はmn個になります。

理由

属性Aにはm個の値、属性Bにはn個の値があります。1タプルはAの値1個とBの値1個の組なので、Aの選択m個とBの選択n個を組み合わせます。したがって、m個×n個=mn個のタプルが最大数です。

比較

この問題では、ドメイン要素を合計したり、各ドメインを別々に集合として数えたりするのではなく、属性Aと属性Bの値の対応する組を数えます。同じ組を重複して登録できない関係の性質を踏まえると、全ての異なる組を含めた数が最大になります。

選択肢ア

これは不正解だよ。mとnはそれぞれ属性のドメインに含まれる要素数であり、指数として扱う条件はありません。また、タプルは各属性から値を一つずつ選ぶ組なので、二つの指数を掛ける表現は全ての属性値の組合せ数を表していません。

選択肢イ

これは不正解だよ。属性Aと属性Bのドメイン要素を先に足してから二乗する方法では、Aの値とBの値を別々の属性として組み合わせる構造を正しく数えられません。各タプルは二つの属性から一つずつ選んだ組であり、和の二乗にはなりません。

選択肢ウ

これは不正解だよ。m+nは属性Aと属性Bのドメイン要素を単純に合計した個数です。しかし、関係Rのタプルは要素そのものではなく、Aの値とBの値を組にしたものです。各Aの値が複数のBの値と組になるため、単純な和では不足します。

選択肢エ(正解)

これは正解だよ。属性Aから選べる値はm個、属性Bから選べる値はn個なので、各Aの値に対してBの値をn通り組み合わせられます。全ての組を含める最大数は、m個×n個=mn個のタプルです。

学習のポイント

関係の最大タプル数は、属性ごとのドメイン要素数の積で求めます。

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

関連する過去問一覧

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