応用情報に戻る
主キー難易度: 2012年度

応用情報技術者 過去問主キー 2012年度 第28問

問題

R 表に、(A、B) の 2 列を一意にする制約(UNIQUE 制約)が定義されているとき、R 表に対する SQL 文のうち、この制約に違反するものはどれか。ここで、R 表に主キーの定義がなく、また、全ての列は値が決まっていない場合(NULL)もあるものとする。 R A/B/C/D AA01/BB01/CC01/DD01 AA01/BB02/CC02/NULL AA02/BB01/NULL/DD03 AA02/BB03/NULL/NULL

選択肢

  1. 1DELETE FROM R WHERE A = 'AA01' AND B = 'BB02'
  2. 2INSERT INTO R(A, B, C, D) VALUES ('AA01', NULL, 'DD01', 'EE01')
  3. 3INSERT INTO R(A, B, C, D) VALUES (NULL, NULL, 'AA01', 'BB02')
  4. 4UPDATE R SET A = 'AA02' WHERE A = 'AA01'

正解

4. UPDATE R SET A = 'AA02' WHERE A = 'AA01'

詳しい解説を見る

解説

UNIQUE制約は(A,B)の組合せの重複を禁止する。選択肢エのUPDATE文は A='AA01' の2行を全て A='AA02' に変更するが、変更後 (AA02,BB01) が既存行と重複し、UNIQUE制約に違反する。NULLを含むINSERTは一般にUNIQUE制約に違反しないとみなされる。(出典: 平成24年度 秋期 応用情報技術者試験 午前 問28)

一問一答

全400問を繰り返し学習

同じ年度の過去問

この調子で演習を続けよう

スキマ資格では応用情報の全3360問を分野別・難易度別に体系的に学習できます。応用情報技術者試験(AP)は IPA が実施する情報処理技術者試験のレベル3。2026年度からCBT方式へ移行し、科目A(四肢択一80問)・科目B(記述11問中5問選択)の2部構成で、それぞれ基準点以上が必要です。テクノロジ・マネジメント・ストラテジの全分野から出題されます。