平成29年秋期試験午前問題 午前Ⅰ 問9

午前Ⅰ 問9解説へ
関係R(ID,A,B,C)のA,Cへの射影の結果とSQL文で求めた結果が同じになるように,aに入れるべき字句はどれか。ここで,関係Rを表Tで実現し,表Tに各行を格納したものを次に示す。
am1/28.gif

  • ALL
  • DISTINCT
  • ORDER BY
  • REFERENCES
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:データ操作
射影は、関係演算の1つで表の中から特定の列だけを取り出す操作です。

SQLでは1つの表に同じ内容が2回以上出現することを許容しますが、数学の集合論に基づく関係モデルでは要素の重複が許されません。すなわち厳格に言えば、射影は「列の取り出し→重複の排除」を組み合わせた操作だということになります。

これを踏まえると、設問の関係TのA,Cの射影演算の結果は次のようになります。
am1/28a.gif
これと同じ結果セットをSQLで得るには、SELECT A, Cで列を取り出した後にDISTINCTで重複を取り除くことになります。したがってaにはDISTINCTが入ります。

Pagetop