情報セキュリティスペシャリスト平成29年秋期 午前T 問9

午前T 問9

関係R(ID,A,B,C)のA,Cへの射影の結果とSQL文で求めた結果が同じになるように,aに入れるべき字句はどれか。ここで,関係Rを表Tで実現し,表Tに各行を格納したものを次に示す。
am1/28.gif/image-size:383×163
  • [この問題の出題歴]
  • 応用情報技術者
    平成29年秋期 問28と同題

分類

テクノロジ系 » データベース » データ操作

正解

解説

射影は、関係演算の1つで表の中から特定の列だけを取り出す操作です。

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

これを踏まえると、設問の関係TのA,Cの射影演算の結果は次のようになります。
am1/28a.gif/image-size:495×161
これと同じ結果セットをSQLで得るには、SELECT A, Cで列を取り出した後にDISTINCTで重複を取り除くことになります。したがってaにはDISTINCTが入ります。
© 2014-2019 情報処理安全確保支援士ドットコム All Rights Reserved.

Pagetop