最近のアクセス:
ページ
履歴
バックリンク
トランザクションレベル
国に一連の都市が存在することをアプリケーションで考慮する必要があるとします。
GeneXus では、国と都市のような事実関係を簡単に表すことができます。
これを実装するためには、Country トランザクションに第 2 レベルを追加します。
Country トランザクションの最後の項目属性の位置にカーソルを移動し、右クリックして [ レベルを挿入 ] を選択します。
サブレベルが開きます。これに名前を付けます(ここでは「City」)。
第 2 レベルの項目属性には 2 つの方法で名前を付けることができます。
ピリオドを入力した場合は、接頭語として "CountryCity" (トランザクション名 + 第 2 レベル名) が自動的に提案されます。この場合、末尾に「Id」を追加するだけです。最終的な名前は "CountryCityId" のようになります。
引用符を入力した場合は、接頭語として "City" (第 2 レベル名) が自動的に提案されます。この場合も、末尾に「Id」を追加するだけです。最終的な名前は "CityId" のようになります。
この 2 レベルトランザクションは、各国には複数の都市が存在すること、および各都市は 1 つの国にのみ属すること示しています。
トランザクション構造を保存すると、該当するトランザクション用の Web フォームが定義されます (または、必要に応じて変更されます)。これで、それぞれの国に一連の都市を入力できるようになります。
GeneXus では、2 レベルトランザクションに対しては常に 2 つの物理テーブルが作成されます。
一方のテーブルは第 1 レベルに関連するもので、この例で言えば、国を CountryId 主キーとともに記録するために使用されます。
同様に、もう一方の物理テーブルは第 2 レベルに関連するもので、この例で言えば、各国の都市を記録するために使用されます。
データベースには Country というテーブルと CountryCity というテーブルの 2 つが作成されます。第 2 テーブル名は、第 2 レベルに指定した名前をトランザクション名に付加したものになります。
次に、第 2 テーブルの主キーを確認してください。これは 2 つの項目属性で構成されています。具体的には、CountryId と CityId です。つまり、都市の一意の識別子は 2 つの項目属性で構成されていることになります。