平成24年度 秋期
応用情報技術者試験問題と解答
問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│
 └──┴──┴──┴──┘

 ア DELETE FROM R WHERE A = ‘AA01’ AND B = ‘BB02’
 イ INSERT INTO R(A, B, C, D) VALUES (‘AA01’, NULL, ‘DD01’, ‘EE01’)
 ウ INSERT INTO R(A, B, C, D) VALUES (NULL, NULL, ‘AA01’, ‘BB02’)
 エ UPDATE R SET A = ‘AA02’ WHERE A = ‘AA01’



【正解】 エ

ア A = ‘AA01’ AND B = ‘BB02’ のレコード、つまりR表の2行目が削除される。
イ A = ‘AA01’ AND B = NULL のレコードが挿入される。
ウ A = NULL AND B = NULL のレコードが挿入される。
エ 正しい。
 A = ‘AA01’のレコード、つまりR表の1行目と、2行目の行のAの値が AA02 に
 更新される。 これによって、R表の1行目と、3行目がともに、
 A = ‘AA02’ B = ‘BB01’となり、UNIQUE制約に違反することになる。

EXCEL VBAのご相談なら ファーストマクロ 



問27 目次 問29
ファーストマクロ TOPページ