未分類
春期
データベーススペシャリスト 2010年 春期 問3
3 / 25
表Rに,(A,B)の2列でユニークにする制約(UNIQUE 制約)が定義されている とき、表Rに対する SQL文でこの制約の違反となるものはどれか。ここで、表Rに は主キーの定義がなく、また、すべての列は値が決まっていない場合(NULL)もあ るものとする。 R A B D C AA01 BB01 CCO1 DDO1 AA01 BB02 CCO2 NULL DD03 AA02 BB01 NULL AA02 BB03 NULL NULL
正解と解説
表示する
正解 エ
UPDATE R SET A = 'AA02" WHERE A = 'AA01'
(A,B)のUNIQUE制約では、両方がNULLでない同一の組が重複すると違反です。UPDATEでA=AA01の行をAA02に変えると、(AA02,BB01)が既存行と重複し違反するため、エが正解です。NULLを含む組は一般に重複とみなされず、DELETEや該当しないINSERTは違反になりません。