平成25年度秋期 応用情報技術者試験 午前 問31

分野:データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計)|実際に出題されたIPA過去問題

地域別に分かれている同じ構造の三つの商品表、"東京商品"、"名古屋商品"、"大阪商品"がある。次のSQL文と同等の結果が得られる関係代数式はどれか。ここで、三つの商品表の主キーは"商品番号"である。 SELECT * FROM 大阪商品 WHERE 商品番号 NOT IN(SELECT 商品番号 FROM 東京商品)UNION SELECT * FROM 名古屋商品 WHERE 商品番号 NOT IN(SELECT 商品番号 FROM 東京商品)

  1.  (大阪商品 ∩ 名古屋商品)- 東京商品
  2.  (大阪商品 ∪ 名古屋商品)- 東京商品
  3.  東京商品 -(大阪商品 ∩ 名古屋商品)
  4.  東京商品 -(大阪商品 ∪ 名古屋商品)
解答・解説を見る

正解:イ

AI解説

各SELECT文は「東京商品に存在する商品番号を除いた大阪商品」「同じく除いた名古屋商品」であり、それぞれ差演算(大阪−東京)、(名古屋−東京)に対応する。UNIONは和演算なので全体は(大阪−東京)∪(名古屋−東京)となり、集合の分配法則から(大阪∪名古屋)−東京と等しい。よってイ。 ア: 共通集合(∩)を使うと大阪と名古屋の両方にある商品に限定されてしまい、UNIONの結果と一致しない。 イ: 正しい。(大阪∪名古屋)−東京は(大阪−東京)∪(名古屋−東京)と同値である。 ウ: 東京商品を基準に共通集合を引く式で、対象の向きが逆である。 エ: 東京商品から大阪・名古屋の和を引く式で、SQLの意味と逆である。 💡 「NOT IN(副問合せ)=差演算」「UNION=和演算」の対応と、分配法則(A−C)∪(B−C)=(A∪B)−Cを覚えておくと機械的に変換できる。

出典:平成25年度 秋期 応用情報技術者試験 午前 問31 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計))の過去問