ア |
DELETE FROM R WHERE A = 'AA01' AND B = 'BB02'
A |
B |
C |
D |
|
AA01 |
BB01 |
CC01 |
DD01 |
AA02 |
BB01 |
NULL |
DD03 |
AA02 |
BB03 |
NULL |
NULL |
2行目のレコードが削除されますが、ユニーク制約は保たれています。 |
イ |
INSERT INTO R VALUES ( 'AA01', NULL, 'DD01', 'EE01' )
A |
B |
C |
D |
|
AA01 |
BB01 |
CC01 |
DD01 |
AA01 |
BB02 |
CC02 |
NULL |
AA02 |
BB01 |
NULL |
DD03 |
AA02 |
BB03 |
NULL |
NULL |
AA01 |
NULL |
DD01 |
EE01 |
最後のレコードが追加されますが、ユニーク制約は保たれています。 |
ウ |
INSERT INTO R VALUES ( NULL, NULL, 'AA01', 'BB02' )
A |
B |
C |
D |
|
AA01 |
BB01 |
CC01 |
DD01 |
AA01 |
BB02 |
CC02 |
NULL |
AA02 |
BB01 |
NULL |
DD03 |
AA02 |
BB03 |
NULL |
NULL |
NULL |
NULL |
AA01 |
BB02 |
最後のレコードが追加されますが、ユニーク制約は保たれています。 |
エ |
UPDATE R SET A = 'AA02' WHERE A = 'AA01'
A |
B |
C |
D |
|
AA02 |
BB01 |
CC01 |
DD01 |
AA02 |
BB02 |
CC02 |
NULL |
AA02 |
BB01 |
NULL |
DD03 |
AA02 |
BB03 |
NULL |
NULL |
1行目と2行目もレコードの“AA01”が“AA02”に変更され、1行目と3行目のレコードが区別を付けることができなくなり、ユニーク制約に違反します。 |