エンティティインデックスを作成する
データモデルにデータベースインデックスを定義して、複数の行にまたがったテーブルの各アトリビュートの一意性を徹底したり、これらのアトリビュートをフィルタとして使用することにより検索を高速化したりすることができます。OutSystemsでは、エンティティ要素の中でデータベースインデックスをモデル化することができます。
エンティティのインデックスを作成するには、以下の手順を実行します。
- エンティティをダブルクリックするか、Indexesプロパティを選択して、エンティティを開きます。
- [Indexes]タブに移動し、新しいインデックスを作成します。
- インデックスに含めたいアトリビュートを追加します。
- 選択したアトリビュートに一意の値を持たせたい場合は、Uniqueプロパティを
Yes
に設定します。 - アプリケーションをパブリッシュして作成したインデックスをデータベースに適用します。
例
GoOutWebアプリケーションは、興味のある場所の検索やレビューができるアプリケーションです。エンドユーザーが同じ日に同じ場所に関する複数のレビューを書き込めないように徹底する必要があります。
この制限を徹底するためにReviewエンティティに一意のインデックスを作成するには、以下の手順を実行します。
-
Reviewエンティティを開きます。
-
[Indexes]タブで、新しいインデックスを追加して名前を
UniqueReview
に設定します。 -
アトリビュートを追加します: PlaceId、UserId、Date。これにより、これらのアトリビュートについて同じ値がReviewテーブルの他のレコードで繰り返さないことが保証されます。
-
インデックスを一意として設定します。
-
モジュールをパブリッシュします。パブリッシュ中に、OutSystemsはデータベースのインデックスを作成します。
これ以降、エンドユーザーが同じ日に同じ場所に関する別のレビューを書き込もうとすると、OutSystemsはデータベース例外を発します。