エが正解となるのは、UNIQUE制約の定義とSQLのUPDATE文の挙動に基づいています。UNIQUE制約は、指定された列の組み合わせに対して重複する値を許容しません。UPDATE文でA列の値を変更する際、もし変更後の値 'AA02' が既にRテーブルに存在し、かつB列の値も同じであれば、UNIQUE制約に違反します。問題文では「すべての列は値が決まっていない場合(NULL)もある」とありますが、UNIQUE制約においては、NULL値の扱いはデータベースシステムに依存することが一般的です。しかし、たとえNULLが許容されるとしても、'AA02' と対応するBの値の組み合わせが既に存在する場合は違反となります。
読み込み中...