Accel Studioからデータ定義を設定するポイント

この記事では、Accel Studioからアプリケーションのデータ定義を設定する際に、押さえておきたいポイントを紹介します。

Accel Studioでは、テンプレートからアプリケーションを作成するときに、アプリケーションで扱うデータを設定できます。IM-Repositoryに対応したテンプレートでは、エンティティや辞書項目などのデータ定義を、アプリケーションの作成と合わせて設定できます。

設定したデータ定義をもとにデータベースのテーブルが作成されるため、どのようなデータを扱うのかをあらかじめ整理しておくことが重要です。

Accel Studioからデータ定義を設定する

Accel Studioからテンプレートを選択すると、「扱うデータの定義」の設定項目が表示されます。IM-Repositoryに対応したテンプレートでは、この設定項目からエンティティの新規作成と、エンティティに紐づく辞書項目の設定をまとめて行うことができます。テンプレートによっては、あらかじめ辞書項目が設定されている場合があります。その場合も、必要に応じて辞書項目を追加できます。

設定したデータ定義をもとにアプリケーションをビルドすると、IM-Repositoryのデータリポジトリ機能によって、指定したデータベースにテーブルが作成されます。なお、データ定義はアプリケーション作成時だけでなく、アプリケーション作成後に追加することもできます。作成後にデータ定義を追加する場合は、「アプリケーション管理」画面の[リソースを追加]から設定します。

ここでは、「マスタメンテナンス」テンプレートを例に、エンティティや辞書項目を設定するときのポイントを紹介します。

データ定義を設定する前に確認しておきたいこと

エンティティや辞書項目を設定する前に、アプリケーションでどのようなデータを扱うのかを整理しておきましょう。

たとえば、次のような内容をあらかじめ決めておくと、設定をスムーズに進められます。

  • どのようなデータを管理するか
  • データをどのような単位で分けるか
  • 各データを一意に識別する項目は何か
  • データ同士にどのような関連があるか
  • 各項目をどのようなデータ型で管理するか
  • 必須入力や桁数など、どのような制約を設けるか

必要に応じて、設定前にER図などを作成してデータの構造を整理しておくとよいでしょう。

エンティティを設定する

エンティティは、アプリケーションで扱うデータのまとまりを定義するための単位です。エンティティには、エンティティ情報や関連する項目、データの定義などが含まれます。エンティティの定義をもとにデータベースのテーブルが作成され、アプリケーションから利用できるデータとして管理されます。アプリケーションによっては、一つのエンティティだけでデータを管理できます。また、複数のエンティティを関連付けて管理することもできます。

メインエンティティを設定する

メインエンティティは、アプリケーションの中心となるデータを管理するエンティティです。たとえば、顧客管理アプリケーションであれば「顧客」、商品管理アプリケーションであれば「商品」などがメインエンティティになります。

メインエンティティを設定するときは、まず基本情報を入力します。必要に応じて詳細設定を有効にし、エンティティIDや登録先のエンティティカテゴリ、データベース種別を設定します。

サブエンティティを設定する

メインエンティティのデータに関連する明細などを別のデータとして管理したい場合は、サブエンティティを設定します。たとえば、注文情報を管理する場合、「注文」をメインエンティティとして、「注文商品」をサブエンティティとして管理する、といった構成が考えられます。

「マスタメンテナンス」テンプレートでは、メインエンティティに紐づく明細データを設定できます。まず、扱う明細データの利用数を設定します。

設定した数に応じて入力項目が表示されるため、サブエンティティごとに必要な情報を入力します。「親エンティティ名」には、メインエンティティで設定した名称が自動で入力されます。

辞書項目を設定する

辞書項目では、エンティティで扱う個々のデータ項目を定義します。たとえば、「顧客」エンティティに「顧客ID」「顧客名」「住所」などの項目を持たせる場合、それぞれの項目を辞書項目として設定します。辞書項目を設定するときは、項目名だけでなく、データ型や主キー、検索条件なども確認します。

メインエンティティに辞書項目を登録する

メインエンティティに必要な辞書項目を登録します。データを一意に識別する項目には、「主キー」を設定します。また、アプリケーションに検索機能を用意する場合は、検索対象とする項目に「検索条件」を設定します。たとえば、顧客名で検索できるようにしたい場合は、「顧客名」の検索条件を有効にします。

辞書項目の詳細を設定する

各データの「詳細」列にあるマークをクリックすると、「辞書項目新規作成」ダイアログが表示されます。ここでは、辞書項目のIDや名称、データ型などの詳細を設定できます。「項目情報」や「データ」には、「項目設定」で入力した内容が自動的に反映されます。

必要に応じて、ここから設定を変更します。

辞書項目のIDや名称を変更する

辞書項目のIDや名称などは、「辞書項目新規作成」ダイアログから変更できます。たとえば、画面やロジックで使用する変数名と、辞書項目のIDを分けたい場合は、辞書項目IDを変更します。アプリケーションでどのような名前で項目を扱うのかを考慮して、IDや名称を設定しましょう。

列挙型を設定する

項目に決められた選択肢を設定する場合は、列挙型を利用できます。たとえば、「ステータス」に「未処理」「処理中」「完了」といった決められた値を設定する場合に利用できます。列挙型を設定するときは、IDや名称から、どのような値を表しているのか判別しやすいように命名することがポイントです。

制約を設定する

辞書項目に入力できる値を制限したい場合は、制約を設定します。たとえば、文字列の桁数を制限したい場合や、項目をIDとして扱いたい場合などに利用できます。「辞書項目新規作成」ダイアログで「桁数」や「ID」などの制約を選択して「追加」をクリックすると、選択した制約に応じた設定項目が表示されます。アプリケーションで扱うデータに合わせて、必要な制約を設定しましょう。

サブエンティティに辞書項目を登録する

サブエンティティにも、メインエンティティと同様に辞書項目を登録します。サブエンティティでは、データを一意に識別するためのIDがあらかじめ主キーとして設定されています。サブエンティティで管理するデータに合わせて、必要な辞書項目を追加し、データ型や制約などを設定します。

まとめ

Accel Studioでは、テンプレートからアプリケーションを作成するときに、アプリケーションで扱うデータの定義をまとめて設定できます。

エンティティではデータのまとまりを定義し、辞書項目ではエンティティが持つ個々の項目を定義します。さらに、主キーや列挙型、制約などを設定することで、アプリケーションで扱うデータの構造やルールを定義できます。設定したデータ定義をもとにデータベースのテーブルが作成され、画面やロジックなどのローコード資材と組み合わせてアプリケーションを構築できます。

どのようなデータを管理するのか、どの項目を一意に識別するのか、どのような制約を設けるのかをあらかじめ整理してから設定することが、スムーズにデータ定義を進めるポイントです。

intra-martでは、Accel Studioをもっと知っていただくために、マニュアルやコンテンツなどを豊富にご用意しています。Accel Studioの機能を最大限に発揮させるためにも、ぜひご活用ください。