■例題2
列に付加されている索引を確認するためのデータディクショナリビューを選択してください。
a.USER_INDEXES
b.USER_TABLES
c.USER_IND_COLUMNS
d.USER_INDEX
■例題の範囲をおさらい
データディクショナリビューは数多く存在します。DICTIONARYを検索することによって、存在するディクショナリビューを確認できます。
SQL> DESC DICTIONARY 名前 NULL? 型 ----------------------- -------- ---------------- TABLE_NAME VARCHAR2(30) COMMENTS VARCHAR2(4000) SQL> SELECT * 2 FROM DICTIONARY 3 WHERE TABLE_NAME='USER_CONSTRAINTS'; TABLE_NAME COMMENTS -------------------- -------------------------------------------------- USER_CONSTRAINTS Constraint definitions on user's own tables
■正解
c
■解説
選択肢a:USER_INDEXESを検索することで、索引に関する情報を確認できます。しかし、どの表のどの列に索引があるのかなどの詳細を確認することはできません。
表構造を確認できるDESCRIBEコマンドを使用すると、どこにも列情報がないことが確認できます。
SQL> DESC USER_INDEXES 名前 NULL? 型 ----------------------- -------- ---------------- INDEX_NAME NOT NULL VARCHAR2(30) INDEX_TYPE VARCHAR2(27) TABLE_OWNER NOT NULL VARCHAR2(30) TABLE_NAME NOT NULL VARCHAR2(30) TABLE_TYPE VARCHAR2(11) ・ ・ ・
選択肢b:USER_TABLESを検索することで、表に関する情報を確認できますが、表にある索引まで確認することはできません。
選択肢c:USER_IND_COLUMNSを検索することで、索引がどの表のどの列に付加されているのかを確認することが可能です。
SQL> SELECT INDEX_NAME,TABLE_NAME,COLUMN_NAME 2 FROM USER_IND_COLUMNS; INDEX_NAME TABLE_NAME COLUMN_NAME -------------- ------------ ------------ EMP_EMAIL_UK EMPLOYEES EMAIL EMP_EMP_ID_PK EMPLOYEES EMPLOYEE_ID
選択肢d:USER_INDEXというデータディクショナリビューは存在しません。
よって、正解は選択肢cです。
■まとめ
次の内容をチェックしましょう。
データディクショナリビューは数多く存在します。試験に多く出題される内容ではありませんが、実運用では重要な部分です。よく使用するデータディクショナリビューについては、しっかり覚えておく必要があります。
今回で「間違いやすいポイントを追え! ORACLE MASTER Bronze SQL 基礎I講座」は終了です。間違いやすい点を再度見直し、ORACLE MASTER Bronze試験に臨んでください。
Copyright © ITmedia, Inc. All Rights Reserved.