- 12.1 データディクショナリ
データディクショナリ表とデータディクショナリビューから構成される。
- SYSユーザーが所有する。
- Oracleによって管理される。
【データディクショナリ表】
◆データベースの管理情報が格納される。
【データディクショナリビュー】
◆ユーザーはデータディクショナリビューを使い情報を検索する。
◆データベースの管理情報が格納される。
【データディクショナリビュー】
◆ユーザーはデータディクショナリビューを使い情報を検索する。
- 12.2 データディクショナリビュー
4種類があり、接頭語で区別される。
- USER_xxx・・・ユーザーが所有する各種オブジェクトまたはユーザー自体に関する情報
- ALL_xxx・・・ユーザーがアクセスできる各種オブジェクト、または参照できる情報
- DBA_xxx・・・データベースの中の全てのオブジェクトに関する情報。特別な権限を持つユーザーのみアクセス可能
- V$xxx・・・Oracleサーバーの各種統計情報
- 12.5 データディクショナリビュー各種
- USER_OBJECTS:作成日、最終変更日、状態などを確認できる。
- ALL_TABLES:表の表名、記憶域の情報などの定義情報
- CAT:所有するオブジェクトの名前(TABLE_NAME列)とタイプ(OBJECT_TYPE)の2つの簡略化された情報
- 12.6 USER_TAB_COLUMNS
所有する表の列の情報が格納されている。
DESCRIBE実行時に表示される情報とほぼ同じもの。
DESCRIBE実行時に表示される情報とほぼ同じもの。
- 12.7 制約を確認するデータディクショナリビュー
- USER_CONSTRAINTS:制約名、制約のタイプなどの情報
- USER_CONS_COLUMNS:制約が定義されている列の情報
- 12.8 制約のタイプの意味
USER_CONSTRAINTSデータディクショナリビューで表示される制約のタイプの意味は以下のとおり。
- P・・・主キー制約
- U・・・一意制約
- C・・・NOT NULL制約とチェック制約
- R・・・外部キー制約
- V・・・WITH CHECK OPTIONのビュー
- O・・・WITH READ ONLYのビュー
- 12.10 USER_VIEWSデータディクショナリビュー
- USER_VIEWS :ビューの定義情報などを確認する。
USER_TABLES:表の定義情報などを確認する。
- 12.11 ビューのテキスト
USER_VIEWSのTEXT列でビューのテキストを確認できる。
◆TEXT列のデータ型はLONG型
◆iSQL*Plus(およびSQL*Plus)がLONG列データを読み込むサイズは、デフォルトでは80バイトになっている。
◆TEXT列のデータ型はLONG型
◆iSQL*Plus(およびSQL*Plus)がLONG列データを読み込むサイズは、デフォルトでは80バイトになっている。
→SET LONGコマンドでサイズを大きくしてからUSER_VIEWSを検索する。
- 12.12 順序の確認
順序の確認にはUSER_SEQUENCESとUSER_OBJECTSの2つのデータディクショナリビューを使う。
- USER_SEQUENCE・・・順序名を含む順序の定義情報を確認できる。
◆LAST_NUMBER列は、次にキャッシュする先頭の番号を示す。メモリにキャッシュ済みの番号が全て使われ、新たな番号の生成を要求されたときにキャッシュする。NOCACHE指定時のLAST_NUMBER列値は、次に生成される順序番号を示す。
- USER_OBJECTS・・・・オブジェクト名(順序名)、作成日などの情報を確認できる。
- 12.17 索引定義情報の確認
- USER_INDEXES・・・索引の名前、一意性などを確認できる。
- USER_IND_COLUMNS・・・索引が定義されている列を確認できる。
- 12.20 COMMENT文
- 表、列、ビュー、スナップショットにコメントを追加できる。
- 最大4000バイトまで追加できる。
- コメントはデータディクショナリに格納される。
★索引にはコメントを追加することはできない
- 12.22 COMMENT文の基本構文{ }内は選択
COMMENT ON {TABLE 表名 | COLUMN 表名.列名} IS 'コメント';
- 12.23 コメントの削除方法
コメントに空の文字列('')を指定する。
(例)COMMENT ON EMP IS ''
(例)COMMENT ON EMP IS ''