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

上へ第2章 データベースの作成
上へ2.7 格納構造の定義

2.7.3 インデックスのDSO定義

インデックスのDSO定は、CREATE DSOを使用して行います。インデックスは、ある列を用いた条件検索を行うとき、検索効率を向上させるために、探索条件で使用する列に対して定義します。

表定義にPRIMARY KEYまたはUNIQUEが指定されている場合、その列と同一構成(順序は同一)のインデックスのDSO定義が必要となります。表のデータ構造にRANDOMを指定した場合には、CLUSTER KEYにPRIMARY KEYまたはUNIQUE KEYのひとつを対応づけることができます。この場合には、インデックスのDSO定義は不要です。

また、すでにデータが格納されている表に対して、新たなインデックスのDSO定義を追加することが可能です。

以下にインデックスのDSO定義の例を示します。

インデックスのDSO定義

インデックスを作成する表の名前(表名)とインデックスを構成する列(列名リスト)の指定が、キー指定になります。

表のデータ構造がSEQUENTIALの場合
CREATE DSO 製品名IXDSO INDEX ON STOCKS.在庫表 (製品名)
         ↑            ↑      ↑
         DSO名           表名    列名リスト
                          ↑
                         キー指定

               TYPE BTREE(PAGESIZE1(16),PAGESIZE2(1))
                        ↑
                      データ構造
               BY ADDRESS
                  ↑
                ベース表現
表のデータ構造がRANDOMの場合
CREATE DSO 製品名IXDSO INDEX ON STOCKS.在庫表 (製品名)
         ↑            ↑       ↑
         DSO名           表名    列名リスト
                          ↑
                        キー指定

               TYPE BTREE(PAGESIZE1(16),PAGESIZE2(1))
                         ↑
                       データ構造
               BY KEY
                 ↑
               ベース表現
表のデータ構造がOBJECTの場合
CREATE DSO 製品写真表IXDSO INDEX ON S1.製品写真表  (製品番号)
          ↑              ↑      ↑
          DSO名            表名    列名リスト
                            ↑
                           キー指定

               TYPE BTREE(PAGESIZE1(16),PAGESIZE2(1))
                        ↑
                      データ構造
               BY ADDRESS
                  ↑
               ベース表現

■DSO

DSO名は、36文字以内の先頭が英字で始まる英数字、または18文字以内の日本語文字列を指定します。DSO名は、データベース内で一意です。

■キー指

インデックスを作成する表名、およびインデックスを構成する列名リストを指定します。

◆表名

格納形式定義の対象とする実表の名前を指定します。表名は、スキーマ名で修飾されている必要があります。

◆列名リス

インデックスを作成する列名を指定します。インデックスの列名リストに指定可能な列のデータ表:インデックスの列名リストに指定可能な列のデータ型のとおりです。

[表:インデックスの列名リストに指定可能な列のデータ]

属性

精度

位取り

長さ

備考

SMALLINT

 

INTEGER

 

NUMERIC

1〜18

0〜精度

 

DECIMAL

1〜18

0〜精度

 

CHARACTER

1〜1000

VARYINGも指定可

NATIONAL CHARACTER

1〜500

VARYINGも指定可

DATE

 

TIME

 

TIMESTAMP

 

INTERVAL

 

■データ構造

インデックスのデータ格納時のデータ構造について指定します。BTREEが指定可能です。

◆BTREE

PAGESIZE1は、データ部のページ長を指定します。

PAGESIZE2は、インデックス部のページ長を指定します。

詳細については、“BTREE構造”を参照してください。

■ベース表

インデックスとベースの対応関係のもち方を指定します。省略するとSEQUENTIALまたはOBJECTにはADDRESSが、RANDOMにはKEYが指定されたものとみなします。

ADDRESS:
インデックスと表のレコードが、表のレコードの格納アドレスによって対応関係を持ちます。表のデータ構造がSEQUENTIALまたはOBJECTの場合に指定します。
KEY:
インデックスと表のレコードが、表のレコードのクラスタキーによって対応関係を持ちます。表のデータ構造がRANDOMの場合に指定します。

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

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