付録B.1 ディクショナリ表の概要
ディクショナリ表には,表およびインデクスの定義情報や,DBエリアの情報が格納されています。
ディクショナリ表は,実表とビュー表の2種類があります。
-
ディクショナリ表(実表)
このマニュアルでは,ディクショナリ表の実表を,ディクショナリ表(実表)と表記しています。ディクショナリ表(実表)のスキーマ名は,HADBになります。
-
ディクショナリ表(ビュー表)
このマニュアルでは,ディクショナリ表のビュー表を,ディクショナリ表と表記しています。ディクショナリ表のスキーマ名は,MASTERになります。
ディクショナリ表(実表)とディクショナリ表の関係を次の図に示します。
- [説明]
-
表およびインデクスの定義情報や,DBエリアの情報は,ディクショナリ表(実表)に格納されます。ディクショナリ表(実表)から検索用に作成されるビュー表が,ディクショナリ表になります。
HADBユーザは,ディクショナリ表を検索できます。しかし,ディクショナリ表(実表)は検索できません。
HADBユーザがSELECT文でディクショナリ表を検索すると,表およびインデクスの定義情報や,DBエリアの情報を確認できます。ディクショナリ表を検索する場合は,スキーマ名にMASTERを指定してください。
(1) ディクショナリ表の一覧
ディクショナリ表の一覧を次の表に示します。
項番 |
ディクショナリ表の名称 |
格納されている情報 |
ディクショナリ表に対応するディクショナリ表(実表)の表ID |
ビュー定義に含まれる副問合せの数※ |
外への参照の有無 |
---|---|---|---|---|---|
1 |
実表,ビュー表,ディクショナリ表(実表),システム表(実表),ディクショナリ表,およびシステム表の表定義情報が格納されています。1行に1表分の情報が格納されています。 |
0x00020001 |
1 |
○ |
|
2 |
実表,ビュー表,ディクショナリ表(実表),システム表(実表),ディクショナリ表,およびシステム表の列の定義情報が格納されています。1行に1列分の情報が格納されています。 |
0x00020002 |
1 |
○ |
|
3 |
実表,ディクショナリ表(実表),およびシステム表(実表)を格納しているDBエリアなどの情報が格納されています。1行に1表分の情報が格納されています。 |
0x00020004 |
1 |
○ |
|
4 |
実表のインデクスの定義情報が格納されています。また,ディクショナリ表(実表),およびシステム表(実表)のB-treeインデクスの定義情報も格納されています。1行に1インデクス分の情報が格納されています。 |
0x00020003 |
1 |
○ |
|
5 |
実表のインデクスが格納されているDBエリアなどの情報が格納されています。また,ディクショナリ表(実表),およびシステム表(実表)のB-treeインデクスが格納されているDBエリアなどの情報も格納されています。1行に1インデクス分の情報が格納されています。 |
0x00020005 |
1 |
○ |
|
6 |
DBエリアの定義情報が格納されています。1行に1DBエリア分の情報が格納されています。 |
0x00020006 |
0 |
× |
|
7 |
スキーマに関する定義情報が格納されています。1行に1スキーマ分の情報が格納されています。 |
0x00020007 |
1 |
○ |
|
8 |
ビュー表の定義情報が格納されています。1行に1ビュー表分が格納されています。 |
0x00020008 |
1 |
○ |
|
9 |
ビュー表の基表の情報が格納されています。1行に1基表分の情報が格納されています。 |
0x00020009 |
1 |
○ |
|
10 |
SQL_VIEW_OBJECT |
システムが使用する情報が格納されています。 なお,ディクショナリ表は存在しません。ディクショナリ表(実表)だけ存在します。 |
0x0002000A |
− |
− |
11 |
SQL文の情報が格納されています。1行に1SQLテキスト分の情報が格納されています。 |
0x0002000B |
2 |
○ |
|
12 |
ビュー定義時およびビュー定義変更時の環境情報が格納されています。1行に1つのビュー表の環境情報が格納されています。 |
0x0002000C |
2 |
○ |
|
13 |
HADBユーザの情報が格納されています。1行に1HADBユーザの情報が格納されています。 |
0x0002000D |
1 |
× |
|
14 |
実表の制約に関する情報が格納されています。1行に1制約分の情報が格納されています。 |
0x0002000E |
1 |
○ |
|
15 |
インデクス構成列に関する情報が格納されています。1行にインデクス構成列1列分の情報が格納されています。 |
0x0002000F |
1 |
○ |
|
16 |
主キーと外部キーの構成列に関する情報が格納されています。1行に主キーと外部キーの構成列1列分の情報が格納されています。 |
0x00020010 |
1 |
○ |
|
17 |
参照制約に関する情報が格納されています。1行に1参照制約分の情報が格納されています。 |
0x00020011 |
1 |
○ |
|
18 |
表に対するアクセス権限に関する情報が格納されています。1行に,ある権限付与者が与えた1認可識別子の1表分の情報が格納されています。 |
0x00020012 |
1 |
○ |
|
19 |
CREATE AUDIT文で定義した監査対象定義に関する情報が格納されています。1行に,1監査対象定義の情報が格納されています。 |
0x00020013 |
0 |
× |
- (凡例)
-
○:ディクショナリ表のビュー定義に,外への参照を行う副問合せを含みます。そのため,該当するディクショナリ表は,マルチ集合値式の副問合せに指定できません。
×:ディクショナリ表のビュー定義に,外への参照を行う副問合せを含みません。
−:該当しません。
- 注※
-
該当するディクショナリ表をSQL文の副問合せに指定した場合に,副問合せの入れ子の数として加算する必要がある数を示しています。
- メモ
-
-
ディクショナリ表中には,ディクショナリ表の表定義情報およびインデクス定義情報も格納されています。
-
ディクショナリ表のデータ型は,HADBのSQLの仕様に従っています。
-
(2) ディクショナリ表が作成されるタイミング
ディクショナリ表は,次に示すタイミングで自動的に作成されます。
-
データベースの初期設定が完了したあとに,初めてHADBサーバを開始したとき
-
HADBサーバをバージョンアップしたとき
(3) HADBユーザが参照できるディクショナリ表の範囲
HADBユーザがディクショナリ表を参照する際,持っている権限によって参照できる情報が異なります。HADBユーザが参照できるディクショナリ表の情報を次の表に示します。
なお,ディクショナリ表を基表に指定したビュー表の場合も,持っている権限によって参照できる情報が異なります。そのため,同じビュー表を検索しても,ビュー表を定義したHADBユーザと,ビュー表に対するアクセス権限を付与されたHADBユーザでは,参照できる情報が異なることがあります。
ディクショナリ表の名称 |
参照対象の情報 |
ディクショナリ表を参照するHADBユーザが持っている権限 |
|||
---|---|---|---|---|---|
DBA権限 |
監査管理権限 |
アクセス権限 |
CONNECT権限 |
||
SQL_TABLES |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
○ |
△※1 |
× |
|
MASTER |
○ |
○ |
○ |
○ |
|
SQL_COLUMNS |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
× |
△※1 |
× |
|
MASTER |
○ |
○ |
○ |
○ |
|
SQL_DIV_TABLE |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
× |
△※1 |
× |
|
MASTER |
- |
- |
- |
- |
|
SQL_INDEXES |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
○ |
△※1 |
× |
|
MASTER |
○ |
○ |
○ |
○ |
|
SQL_DIV_INDEX |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
× |
△※1 |
× |
|
MASTER |
- |
- |
- |
- |
|
SQL_DBAREAS |
- |
○ |
○ |
○ |
○ |
SQL_SCHEMATA |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
○ |
△※1 |
× |
|
MASTER |
○ |
○ |
○ |
○ |
|
SQL_VIEWS |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
× |
△※1,※3 |
× |
|
MASTER |
○ |
○ |
○ |
○ |
|
SQL_VIEW_TABLE_USAGE |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
○ |
△※1,※3 |
× |
|
MASTER |
○ |
○ |
○ |
○ |
|
SQL_DEFINE_SOURCE |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
× |
△※1,※3 |
× |
|
MASTER |
- |
- |
- |
- |
|
SQL_DEFINE_ENVIRONMENT |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
× |
△※1,※3 |
× |
|
MASTER |
○ |
○ |
○ |
○ |
|
SQL_USERS |
自分 |
○ |
○ |
- |
○ |
他ユーザ |
○ |
○ |
- |
× |
|
MASTER |
- |
- |
- |
- |
|
SQL_TABLE_CONSTRAINTS |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
× |
△※1 |
× |
|
MASTER |
- |
- |
- |
- |
|
SQL_INDEX_COLINF |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
× |
△※1 |
× |
|
MASTER |
- |
- |
- |
- |
|
SQL_KEY_COLUMN_USAGE |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
× |
△※1 |
× |
|
MASTER |
- |
- |
- |
- |
|
SQL_REFERENTIAL_CONSTRAINTS |
自分 |
○ |
○ |
○ |
○ |
他ユーザ |
○ |
× |
△※1 |
× |
|
MASTER |
- |
- |
- |
- |
|
SQL_TABLE_PRIVILEGES |
自分 |
△※2 |
△※2 |
△※2 |
△※2 |
他ユーザ |
△※2 |
× |
△※1,※2 |
× |
|
MASTER |
- |
- |
- |
- |
|
SQL_AUDITS |
自分 |
× |
○ |
× |
× |
他ユーザ |
× |
○ |
× |
× |
|
MASTER |
× |
○ |
× |
× |
- (凡例)
-
自分:自分が所有するスキーマおよびスキーマオブジェクトに関する情報(SQL_USERSの場合は自分のユーザ情報)
他ユーザ:ほかのHADBユーザが所有するスキーマおよびスキーマオブジェクトに関する情報(SQL_USERSの場合はほかのHADBユーザのユーザ情報)
MASTER:ディクショナリ表およびシステム表に関する情報
○:参照できます。
△:条件付きで参照できます。
×:参照できません。
-:該当しません。
- 注※1
-
アクセス権限を持っているスキーマオブジェクトに関する情報と,そのスキーマに関する情報については参照できます。
- 注※2
-
対象のスキーマオブジェクトがビュー表で,かつそのビュー表が無効化されている場合,無効化されているビュー表に対するアクセス権限についての情報は,SQL_TABLE_PRIVILEGESから検索することはできません。
- 注※3
-
対象のスキーマオブジェクトがビュー表で,かつそのビュー表が無効化されている場合,無効化されているビュー表に関する定義情報を参照することはできません。