Symfoware Parallel Server RDBユーザーズガイド データベース定義編
目次 索引 前ページ次ページ

第2章 データベースの作成> 2.9 格納構造定義の簡略化

2.9.1 表定義

表定義では、格納領域指定に、表のデータを格納するデータベーススペースを指定します。格納領域指定を指定すると、表のDSO定義および表のDSI定義が自動的に行われます。また、DSIの初期化も自動的に行われます。

■格納領域指

格納領域指定は、実表のデータを格納するデータベーススペースを指定します。格納領域指定を指定した場合は、表名およびスキーマ名は8文字以内の先頭が英字で始まる英数字、または8文字以内の日本語文字列であることが必要です。

ただし、システム用の動作環境ファイルでDEFAULT_DSI_NAME=CODEを指定した場合は、表名およびスキーマ名に18文字以内の先頭が英字で始まる英数字、または18文字以内の各国語文字列を指定することができます。

在庫管理STOCKSに属する在庫表を定義するものとします。データベースの実表を格納構造もあわせて定義する例を以下に示します。スキーマ

在庫表を定義するCREATE TABLE文(格納領域指定あり)
CREATE TABLE  STOCKS.在庫表  ( 製品番号 SMALLINT NOT NULL, 
                               製品名 NATIONAL CHARACTER(10) NOT NULL, 
                               在庫数量 INTEGER, 
                               倉庫番号 SMALLINT, 
                               PRIMARY KEY(製品番号) ) ON DBSPACE1 
                                                            (1)

                               COMMENT '在庫品とその数量,格納倉庫の表' 

(1) 格納領域指定

なお、上記の指定は、以下の定義をしたことと同じ意味です。

CREATE TABLE  STOCKS.在庫表  ( 製品番号 SMALLINT NOT NULL, 
                               製品名   NATIONAL CHARACTER(10) NOT NULL, 
                               在庫数量 INTEGER, 
                               倉庫番号 SMALLINT, 
                               PRIMARY KEY(製品番号) ) 
                               COMMENT '在庫品とその数量,格納倉庫の表' 

CREATE DSO #STOCKS@在庫表 FROM STOCKS.在庫表 

       TYPE SEQUENTIAL(PAGESIZE(4),ORDER(1)) 

CREATE DSI #STOCKS@在庫表 DSO #STOCKS@在庫表 

       ALLOCATE DATA ON DBSPACE1 SIZE 256K 

◆表のDSO名およびDSI

表のDSO名および表のDSI名は、表定義時のスキーマ名と表名を組み合わせて命名します。DSO名とDSI名は同じ名前になります。

 スキーマ名 {#|@} 表名 ”
  (1)    (2)        (3)   (4)
(1) 固定プレフィックス
(2) CREATE TABLE文で指定したスキーマ名
(3) #: 表名が文字列の場合
    @: 表名が各国語文字列の場合
(4) CREATE TABLE文で指定した表名
ただし、スキーマ名、表名のいずれか、または両方が各国語文字列の場合には、DSO名およびDSI名は、全体が各国語文字列となります。
システム用の動作環境ファイルでDEFAULT_DSI_NAME=CODEを指定した場合、表のDSO名およびDSI名は、システムで採番する10けたの数字を使用して命名します。
以下に例を示します。

例1

スキーマ名および表名が文字列の場合
CREATE TABLE STOCKS.ORDERS( …… ) ON DBSPACE1 

→DSO名:#STOCKS#ORDERS 
  DSI名:#STOCKS#ORDERS 

例2

スキーマ名は文字列、表名が各国語文字列の場合
CREATE TABLE STOCKS.在庫表( …… ) ON DBSPACE1 

→DSO名:#STOCKS@在庫表 
  DSI名:#STOCKS@在庫表 

例3

システム用の動作環境ファイルでDEFAULT_DSI_NAME=CODEを指定した場合
CREATE TABLE STOCKSMASTER.ORDERSMASTER( …… ) ON DBSPACE1 

→DSO名:#0000000155 
  DSI名:#0000000155 

◆表の格納構

表の格納構造は以下のようになります。これらは、Symfoware/RDBが自動的に定義します。

格納構造:
SEQUENTIAL構造
データ部のページ長:
4キロバイト
データ部の割付け量:
256キロバイト
領域再使用指定:
ORDER(1)
なお、格納構造の詳細については、“格納構造の定義”を参照してください。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006