ウカマル応用情報技術者ログイン

平成29年度 秋期 応用情報技術者 問28

テクノロジ系

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

T

IDABC
001a1b1c1
002a1b1c2
003a1b2c1
004a2b1c2
005a2b2c2
〔SQL 文〕
SELECT a A, C FROM T
選択肢
正解と解説

正解 イ

関係の射影は重複する行を除くので、SQLではSELECTにDISTINCTを付けると同じ結果になります。

関係代数の射影は、指定した属性だけを取り出し、重複する組を1つにまとめます。表TのA、Cを取り出すと(a1,c1)、(a1,c2)、(a1,c1)、(a2,c2)、(a2,c2)の5行です。重複を除くと(a1,c1)、(a1,c2)、(a2,c2)の3行になり、これが射影の結果です。SQLのSELECTは、何も指定しないと重複行を残します。そのため、SELECT DISTINCT A, C FROM Tとすると射影と同じ3行が得られます。

ア:ALLは、重複する行も残してすべて出力する指定です。結果は5行になり、射影と一致しません。

ウ:ORDER BYは、結果の並び順を指定する句です。FROM句の後に書くもので、重複は除きません。

エ:REFERENCESは、CREATE TABLE文などで外部キーの参照先を指定する字句です。SELECT文で重複を除く働きはありません。

出典:平成29年度 秋期 応用情報技術者試験 問28

全年度から出題。10問で実力を判定します。登録不要。

出典:平成29年度 秋期 応用情報技術者試験 問28(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方