表定義またはインデックス定義で格納領域指定を指定する、または、デフォルトデータベーススペースに表を作成して、格納構造定義を行わない場合の格納構造について説明します。
格納構造定義を行わない場合、表およびインデックスのページ長や割付け量などの初期値は、システム用の動作環境ファイルのパラメタ“DEFAULT_TABLE_SIZE”および“DEFAULT_INDEX_SIZE”で設定できます。このパラメタの指定を省略した場合、以下のようになります。
注意
データベース簡単運用の場合、システム用の動作環境ファイルのパラメタ“DEFAULT_TABLE_SIZE”および“DEFAULT_INDEX_SIZE”は指定できません。
参照
システム用の動作環境ファイルについての詳細は、“セットアップガイド”を参照してください。
表の格納構造は以下のようになります。
SEQUENTIAL構造
32K
30720K
動作環境ファイルのDEFAULT_TABLE_SIZEで指定した値になります。
DEFAULT_TABLE_SIZEの指定を省略した場合は、10240Kになります。
ORDER(1)
データベーススペースに表を定義する場合
なし
デフォルトデータベーススペースに表を定義する場合
PRECEDENCE(1)
ただし、表定義が以下の場合、表の格納構造はOBJECT構造となります。なお、以下の表定義の場合でも、動作環境ファイルのDEFAULT_DSI_TYPE でSEQUENTIALを指定している場合またはデフォルトデータベーススペースに表を定義する場合は、格納構造はSEQUENTIAL構造となります。
表の最後に1つだけBLOB型でサイズが32Kバイト以上の列を指定している。
BLOB型以外の列は固定長属性である。
BLOB型の列にNOT NULL制約を指定している。
OBJECT構造
32K
32768K
動作環境ファイルのDEFAULT_OBJECT_TABLE_SIZEで指定した値になります。
DEFAULT_OBJECT_TABLE_SIZEの指定を省略した場合は、32768Kになります。
表のDSO名および表のDSI名は、表定義時のスキーマ名と表名を組み合せて命名します。DSO名とDSI名は同じ名前になります。
“# スキーマ名 {#|@} 表名” (1) (2) (3) (4) (5)
(1) 固定プレフィックス
(2) CREATE TABLE文で指定したスキーマ名
(3) 表名が文字列の場合
(4) 表名が各国語文字列の場合
(5) CERATE TABLE文で指定した表名
ただし、スキーマ名および表名のいずれか、または両方が各国語文字列の場合には、DSO名およびDSI名は、全体が各国語文字列となります。
システム用の動作環境ファイルでDEFAULT_DSI_NAME=CODEを指定した場合またはデフォルトデータベーススペースに表を定義する場合、表のDSO名およびDSI名は、システムで採番する10桁の数字を使用して命名します。