| ア |
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行目のレコードが区別を付けることができなくなり、ユニーク制約に違反します。 |