一意索引が自動的に作成される制約はどれですか。(複数選択)
一意索引が自動的に作成される制約はどれですか。(複数選択)
ANOT NULL制約
BCHECK制約
CUNIQUE制約✓
DPRIMARY KEY制約✓
EFOREIGN KEY制約
解説正答:C・D
一意性を保証する制約 が作成されたとき、Oracle Database は内部的に一意索引を自動作成します。
| 制約名 | 一意性を保証するか | 一意索引の自動作成 |
|---|---|---|
| NOT NULL制約 | × | × |
| CHECK制約 | × | × |
| UNIQUE制約 | ○ | ○ |
| PRIMARY KEY制約 | ○(かつNOT NULL) | ○ |
| FOREIGN KEY制約 | ×(参照側の一意性に依存) | × |
ポイント:
- UNIQUE制約とPRIMARY KEY制約はどちらも値の一意性を保証するため、一意索引によって高速な検索とユニークチェックを実現します。
- FOREIGN KEY制約自体は索引を作成しません。参照整合性のために外部キー列にも索引を作成することが推奨されています(DELETE/UPDATE時のロック範囲を狭めるため)が、それは自動ではなく開発者の責任です。
したがって、C,Dが正解となります。