索引、シノニムおよび順序の管理複数選択39 / 50 問

索引に関して正しい記述はどれですか。

A表をDROPすると、その表に作成されていた索引も自動的に削除される✓
B表をTRUNCATEすると、その表の索引も削除される
C1つの表に対して複数の索引を作成できる✓
D同じ列・同じ順序の組み合わせで複数の索引を作成できる
E索引を削除すると、対応する表のデータも削除される
正解:A・C解説

索引は表に従属するオブジェクトです。表とのライフサイクルの関係を押さえるのがポイントです。
各選択肢の検討

  • A(正):DROP TABLEを実行すると、その表の索引・制約もまとめて削除されます。
  • B(誤):TRUNCATE TABLEは行を削除しますが構造は保持します。索引の定義は残り、空の状態になるだけです。
  • C(正):1つの表に複数の索引を作成できます(異なる列や列の組み合わせに対して)。
  • D(誤):まったく同じ列・同じ順序の組み合わせに対して、複数の索引は作成できません(ORA-01408: そのような列リストはすでに索引付けされています)。
  • E(誤):索引をDROPしても、表のデータには影響しません。索引は検索高速化のための補助構造にすぎません。

DROPとTRUNCATEの比較

操作行データ表構造索引
DROP TABLE削除削除削除
TRUNCATE TABLE削除保持保持

前後の問題