<< 目次を表示 >> ページ位置: その他の記法のモデリング > データベースの設計・生成と読み込み > データベースモデリング > データベース設計に関係する要素 > テーブル > 制約 > インデックス |
データベースインデックスはテーブルに適用され、データの取得やソートの速度向上のために利用されます。一つのテーブルに複数のインデックスを定義できます。ただし、インデックスのための情報の追加や削除などの保守の関係で、性能が低下する場合があります。
Enterprise Architectでは、インデックスは、ステレオタイプ付きの操作として表現されます。
いくつかのDBMSではインデックスに対して追加の属性を設定できます。Enterprise Architectでは、こうしたインデックスは、操作が持つ追加のタグ付き値から設定できます。
利用手順:
リボン |
コード > データベース > データベースビルダー > テーブルをクリック > 制約とインデックス |
コンテキストメニュー |
ダイアグラムのテーブル要素を右クリック | 属性・操作と付属要素 | 制約とインデックス |
キーボード |
テーブルをクリック: F9 > 制約とインデックス |
インデックスの定義
# |
操作方法 |
1 |
対象のテーブル要素の制約タブにおいて、「制約の追加」の欄をクリックします。 制約の名前を指定します。 |
2 |
制約の種類を index に設定します。 右下の「関係する列」タブで、インデックスと関係する列を指定します。 「割り当てられた列」の一覧には、「順序」の項目があります。この項目には、「Ascending」あるいは「Descending」が表示されます。必要に応じて、該当する項目のセルをクリックし、値を変更できます。 MySQLの場合に限り、「Len」の項目が表示され、部分インデックスを定義できます。数値を指定して値を変更できます。0を指定した場合には、列の内容全体をインデックスの対象とします。 |
3 |
左下の制約のプロパティで、追加のプロパティを設定します。 |
追加のプロパティ
項目 |
説明 |
Is Unique |
True/Falseで指定します。該当のインデックスについて全く同じに情報をテーブルに複数含まないことを示します。 |
Is Clustered |
True/Falseで指定します。テーブル内の情報のアクセス速度を改善します。テーブルに1つ作成できます。 この設定は、利用できるDBMSが限られます。利用できないDBMSの場合には表示されません。 |
Is Bitmap |
True/Falseで指定します。該当のインデックスが、ビット値で表現されるような内容の場合に指定します。 この設定は「Is Unique」と同時に利用できません。両方が有効の場合、「Is Unique」はFalseが指定されたものとしてDDLを生成します。 この設定は、Oracleでのみ利用できます。それ以外のDBMSの場合には表示されません。 |
Fill Factor |
0から100までの値の数値で指定します。データ保存領域としてして利用可能な割合を指定します。 |
Functional-based |
評価された結果がインデックスになるような内容のSQL文を指定します。以下はその例です。 LOWER("field") functional-based インデックスとして指定された列は無視されます。 |
Include |
現在のテーブルから、キーのない列をカンマ区切りで指定します。 DBMSによっては、この設定は利用できません。利用可能なDBMSを指定している場合に限り、この項目は用事されます。 |
注意: |
|
参照: