本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成28年度 秋期 基本情報技術者試験問題と解説

問28

関係代数の演算のうち、関係R、Sの直積 (R×S) に対応する SELECT 文はどれか。 ここで、関係R、Sを表R、Sに対応させ、表R及びSにそれぞれ行の重複はないものとする。

ア SELECT * FROM R,S

イ SELECT * FROM R EXCEPT SELECT * FROM S

ウ SELECT * FROM R UNION SELECT * FROM S

エ SELECT * FROM R INTERSECT SELECT * FROM S


正解


解説

ア 正しい。直積は以下の2つの表R、Sがあったとすると、全ての組み合わせを選択する。
 ┌───┐┌───┐
 │表 R││表 S│
 ├─┬─┤├─┬─┤
 │あ│1││A│X│
 ├─┼─┤├─┼─┤
 │い│2││B│Y│
 ├─┼─┤└─┴─┘
 │う│3│
 └─┴─┘

 ┌───────┐
 │直積(R×S)│
 ├─┬─┬─┬─┤
 │あ│1│A│X│
 ├─┼─┼─┼─┤
 │あ│1│B│Y│
 ├─┼─┼─┼─┤
 │い│2│A│X│
 ├─┼─┼─┼─┤
 │い│2│B│Y│
 ├─┼─┼─┼─┤
 │う│3│A│X│
 ├─┼─┼─┼─┤
 │う│3│B│Y│
 └─┴─┴─┴─┘

イ R EXCEPT Sは、Rに存在しているが、Sには存在していない行を選択する。
 ┌───┐┌───┐
 │表 R││表 S│
 ├─┬─┤├─┬─┤
 │あ│1││あ│1│
 ├─┼─┤├─┼─┤
 │い│2││う│3│
 ├─┼─┤└─┴─┘
 │う│3│
 └─┴─┘
 ┌───┐
 │EXCEPT│
 ├─┬─┤
 │い│2│
 └─┴─┘

ウ R UNION Sは、和集合である。
 ┌───┐┌───┐
 │表 R││表 S│
 ├─┬─┤├─┬─┤
 │あ│1││う│3│
 ├─┼─┤├─┼─┤
 │い│2││え│4│
 ├─┼─┤└─┴─┘
 │う│3│
 └─┴─┘
 ┌───┐
 │UNION │
 ├─┬─┤
 │あ│1│
 ├─┼─┤
 │い│2│
 ├─┼─┤
 │う│3│
 ├─┼─┤
 │え│4│
 ├─┼─┤
 │お│5│
 └─┴─┘

エ R INTERSECT S は、共通する行を選択する。
 ┌───┐┌───┐
 │表 R││表 S│
 ├─┬─┤├─┬─┤
 │あ│1││あ│1│
 ├─┼─┤├─┼─┤
 │い│2││う│3│
 ├─┼─┤└─┴─┘
 │う│3│
 └─┴─┘
 ┌───┐
 │EXCEPT│
 ├─┬─┤
 │あ│1│
 ├─┼─┤
 │う│3│
 └─┴─┘

問27 目次 問29