Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


付録B.1 ディクショナリ表の概要

ディクショナリ表には,表およびインデクスの定義情報や,DBエリアの情報が格納されています。

ディクショナリ表は,実表とビュー表の2種類があります。

ディクショナリ表(実表)とディクショナリ表の関係を次の図に示します。

図B‒1 ディクショナリ表(実表)とディクショナリ表の関係

[図データ]

[説明]

表およびインデクスの定義情報や,DBエリアの情報は,ディクショナリ表(実表)に格納されます。ディクショナリ表(実表)から検索用に作成されるビュー表が,ディクショナリ表になります。

HADBユーザは,ディクショナリ表を検索できます。しかし,ディクショナリ表(実表)は検索できません。

HADBユーザがSELECT文でディクショナリ表を検索すると,表およびインデクスの定義情報や,DBエリアの情報を確認できます。ディクショナリ表を検索する場合は,スキーマ名にMASTERを指定してください。

〈この項の構成〉

(1) ディクショナリ表の一覧

ディクショナリ表の一覧を次の表に示します。

表B‒1 ディクショナリ表の一覧

項番

ディクショナリ表の名称

格納されている情報

ディクショナリ表に対応するディクショナリ表(実表)の表ID

ビュー定義に含まれる副問合せの数

外への参照の有無

1

SQL_TABLES

実表,ビュー表,ディクショナリ表(実表),システム表(実表),ディクショナリ表,およびシステム表の表定義情報が格納されています。1行に1表分の情報が格納されています。

0x00020001

1

2

SQL_COLUMNS

実表,ビュー表,ディクショナリ表(実表),システム表(実表),ディクショナリ表,およびシステム表の列の定義情報が格納されています。1行に1列分の情報が格納されています。

0x00020002

1

3

SQL_DIV_TABLE

実表,ディクショナリ表(実表),およびシステム表(実表)を格納しているDBエリアなどの情報が格納されています。1行に1表分の情報が格納されています。

0x00020004

1

4

SQL_INDEXES

実表のインデクスの定義情報が格納されています。また,ディクショナリ表(実表),およびシステム表(実表)のB-treeインデクスの定義情報も格納されています。1行に1インデクス分の情報が格納されています。

0x00020003

1

5

SQL_DIV_INDEX

実表のインデクスが格納されているDBエリアなどの情報が格納されています。また,ディクショナリ表(実表),およびシステム表(実表)のB-treeインデクスが格納されているDBエリアなどの情報も格納されています。1行に1インデクス分の情報が格納されています。

0x00020005

1

6

SQL_DBAREAS

DBエリアの定義情報が格納されています。1行に1DBエリア分の情報が格納されています。

0x00020006

0

×

7

SQL_SCHEMATA

スキーマに関する定義情報が格納されています。1行に1スキーマ分の情報が格納されています。

0x00020007

1

8

SQL_VIEWS

ビュー表の定義情報が格納されています。1行に1ビュー表分が格納されています。

0x00020008

1

9

SQL_VIEW_TABLE_USAGE

ビュー表の基表の情報が格納されています。1行に1基表分の情報が格納されています。

0x00020009

1

10

SQL_VIEW_OBJECT

システムが使用する情報が格納されています。

なお,ディクショナリ表は存在しません。ディクショナリ表(実表)だけ存在します。

0x0002000A

11

SQL_DEFINE_SOURCE

SQL文の情報が格納されています。1行に1SQLテキスト分の情報が格納されています。

0x0002000B

2

12

SQL_DEFINE_ENVIRONMENT

ビュー定義時およびビュー定義変更時の環境情報が格納されています。1行に1つのビュー表の環境情報が格納されています。

0x0002000C

2

13

SQL_USERS

HADBユーザの情報が格納されています。1行に1HADBユーザの情報が格納されています。

0x0002000D

1

×

14

SQL_TABLE_CONSTRAINTS

実表の制約に関する情報が格納されています。1行に1制約分の情報が格納されています。

0x0002000E

1

15

SQL_INDEX_COLINF

インデクス構成列に関する情報が格納されています。1行にインデクス構成列1列分の情報が格納されています。

0x0002000F

1

16

SQL_KEY_COLUMN_USAGE

主キーと外部キーの構成列に関する情報が格納されています。1行に主キーと外部キーの構成列1列分の情報が格納されています。

0x00020010

1

17

SQL_REFERENTIAL_CONSTRAINTS

参照制約に関する情報が格納されています。1行に1参照制約分の情報が格納されています。

0x00020011

1

18

SQL_TABLE_PRIVILEGES

表に対するアクセス権限に関する情報が格納されています。1行に,ある権限付与者が与えた1認可識別子の1表分の情報が格納されています。

0x00020012

1

19

SQL_AUDITS

CREATE AUDIT文で定義した監査対象定義に関する情報が格納されています。1行に,1監査対象定義の情報が格納されています。

0x00020013

0

×

(凡例)

○:ディクショナリ表のビュー定義に,外への参照を行う副問合せを含みます。そのため,該当するディクショナリ表は,マルチ集合値式の副問合せに指定できません。

×:ディクショナリ表のビュー定義に,外への参照を行う副問合せを含みません。

−:該当しません。

注※

該当するディクショナリ表をSQL文の副問合せに指定した場合に,副問合せの入れ子の数として加算する必要がある数を示しています。

メモ
  • ディクショナリ表中には,ディクショナリ表の表定義情報およびインデクス定義情報も格納されています。

  • ディクショナリ表のデータ型は,HADBのSQLの仕様に従っています。

(2) ディクショナリ表が作成されるタイミング

ディクショナリ表は,次に示すタイミングで自動的に作成されます。

(3) HADBユーザが参照できるディクショナリ表の範囲

HADBユーザがディクショナリ表を参照する際,持っている権限によって参照できる情報が異なります。HADBユーザが参照できるディクショナリ表の情報を次の表に示します。

なお,ディクショナリ表を基表に指定したビュー表の場合も,持っている権限によって参照できる情報が異なります。そのため,同じビュー表を検索しても,ビュー表を定義したHADBユーザと,ビュー表に対するアクセス権限を付与されたHADBユーザでは,参照できる情報が異なることがあります。

表B‒2 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

対象のスキーマオブジェクトがビュー表で,かつそのビュー表が無効化されている場合,無効化されているビュー表に関する定義情報を参照することはできません。