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

- ALL
- DISTINCT
- ORDER BY
- REFERENCES
広告
射影は、関係演算の1つで表の中から特定の列だけを取り出す操作です。
SQLでは1つの表に同じ内容が2回以上出現することを許容しますが、数学の集合論に基づく関係モデルでは要素の重複が許されません。すなわち厳格に言えば、射影は「列の取り出し→重複の排除」を組み合わせた操作だということになります。
これを踏まえると、設問の関係TのA,Cの射影演算の結果は次のようになります。
これと同じ結果セットをSQLで得るには、SELECT A, Cで列を取り出した後にDISTINCTで重複を取り除くことになります。したがってaにはDISTINCTが入ります。
SQLでは1つの表に同じ内容が2回以上出現することを許容しますが、数学の集合論に基づく関係モデルでは要素の重複が許されません。すなわち厳格に言えば、射影は「列の取り出し→重複の排除」を組み合わせた操作だということになります。
これを踏まえると、設問の関係TのA,Cの射影演算の結果は次のようになります。

広告