9.2.5 インデクス定義
定義した表に対してインデクスを定義できます。インデクスは[インデクス定義]ダイアログボックスで定義します。
- 〈この項の構成〉
(1) [インデクス定義]ダイアログボックス
[インデクス定義]ダイアログボックスを次に示します。
- タイトルバー
-
「インデクス定義」と表示されます。
- [インデクス名(I)]
-
定義するインデクス名を指定します。定義済みインデクスの一覧は,[▼]をクリックして表示させます。
- [ユニーク(U)]チェックボックス
-
定義するインデクスに対してユニーク指定をする場合にオンにします。ただし,重複するキー値を持つ列に対して指定するとエラーになるので注意してください。
- 既存表示エリア
-
[表定義]ダイアログボックスで表を定義する場合,表一覧から表を選択したときに,その表に対してインデクスが設定されていると,[インデクス名(I)]の下に「既存」と表示されます。
- [種別]欄
-
[作成(D)]: 選択している表にインデクスを追加する場合に指定します。
[更新(T)]: 選択している表に設定されているインデクスを更新する場合に指定します。この場合,既存のインデクスを削除してから新たにインデクスを追加します。
[削除(E)]: 選択している表に設定されているインデクスを削除する場合に指定します。
- [対象列名(O)]
-
インデクスの対象とする列名を表示します。インデクスを定義する表の列名一覧は,[▼]をクリックして表示させます。
- [昇順・降順(A)]
-
ソート順を指定します。デフォルトは「昇順」です。ただし,ORACLEにインデクスを定義する場合は指定できません。
- [△],[▽]
-
対象列名の表示エリアをスクロールします。
- [設定(S)]ボタン
-
インデクスの定義情報及び削除指定を確定し,[表定義]ダイアログボックスに戻ります。表を削除する場合,このボタンは[OK]と表示されます。
- [設定解除(C)]ボタン
-
一度設定したインデクスの定義情報を無効にします。
- [列(L)...]ボタン
-
[列定義]ダイアログボックスを表示します。
- [列詳細(P)...]ボタン
-
[列詳細定義]ダイアログボックスを表示します。
- [領域(R)...]ボタン
-
[格納領域設定]ダイアログボックスを表示します。
- ガイダンス領域
-
ダイアログボックスの一番下に,[インデクス定義]ダイアログボックスのエリアやボタンの簡単な操作方法や定義内容などを表示します。操作方法を知りたいときは,マウスポインタを目的のエリアやボタンなどに合わせてクリックしてください。
(2) 操作
インデクス定義の操作について,例題に沿って説明します。
- (例題)
-
「9.2.1 表定義」で定義した表「SHIIRE」に対してインデクスを定義します。
インデクス名:INDEX1
対象列名:CODE
そのほかの設定は,すべてデフォルトで設定します。
-
列を定義した後,[列定義]ダイアログボックスの[インデクス(I)...]ボタンをクリックします。
[インデクス定義]ダイアログボックスが表示されます。
- 補足
-
[インデクス定義]ダイアログボックスは,列が定義されていれば[表定義],[列詳細定義]及び[格納領域設定]ダイアログボックスからでも表示できます。[インデクス(I)...]ボタンをクリックしてください。
-
インデクス名を指定します。
ここでは例題に従って,「INDEX1」を指定します。定義済みのインデクスの一覧は[▼]をクリックして表示させます。定義済みのインデクスを編集する場合には,この一覧から目的のインデクス名を選択してください。
-
インデクスの対象列名を指定します。
[▼]をクリックすると,表を構成する列名が一覧表示されます。ここでは例題に従って,「CODE」を指定します。
-
ソート順を指定します。
[▼]をクリックすると,ソート順が一覧表示されます。「昇順」又は「降順」を選択します。デフォルトは「昇順」です。
-
定義が終了したら,[設定(S)]ボタンをクリックします。
定義情報が確定されて,[表定義]ダイアログボックスに戻ります。
(3) 規則と注意
-
インデクス名は30バイト以内で指定します。使える文字については,データベースのマニュアルを参照してください。
-
一つの表に対して定義できるインデクスは255個までです。
-
一つのインデクスに対して指定できる列は16列までです。ただし,各列のデータ長の合計が255バイト以下の場合にだけ有効です。
-
次に示す列にはインデクスを定義できません。
-
データ長が255バイトを超えるデータ型を持つ列
-
データ型が可変長文字列(VARCHAR)又は可変長各国文字列(NVARCHAR)である列
-
データ型がLONG型である列
-
-
インデクスを設定する列のキー値がすべて異なる場合は,ユニーク指定([ユニーク(U)]のチェックボックスをオンにする)ができます。
-
同じ所有者が定義するインデクス名は重複しないように定義してください。