Skip to main content

 

データを使用する

 

OutSystems

多対多の関係を作成する

多対多関係は、1つのエンティティが別のエンティティと双方向に1対多の関係を持つことをいいます。たとえば、1人の著者が複数のを書くこともあり、1冊のが複数の著者によって書かれるということもあります。このような関係は、N対M関係としても知られています。

接合エンティティと呼ばれる第3のエンティティを追加することによってこのような関係を解決します。ここでは少なくとも2つの外部キー(関係内の各エンティティに対して1つ)がある必要があります。必要に応じて、他のアトリビュートを追加することもできます(例を参照)。

多対多の関係を作成するには、以下の手順を実行します。

  1. 関係エンティティを作成する
  2. アトリビュートを追加し、最初のエンティティの識別子にデータ型を設定します。
  3. 別のアトリビュートを追加し、第2のエンティティの識別子にデータ型を設定します。

新しいエンティティが一意のレコード(著者は同じを2回以上書けないなど)を持つことを保証する場合、これら2つの外部キーに1つの一意のインデックスを追加します。

エンドユーザーがレストランやホテルのような様々な場所の検索やレビューができるGoOutというモバイルアプリケーションがあります。1人のエンドユーザーは複数の場所をレビューでき、1つの場所には多くのエンドユーザーからのレビューがあるという多対多の関係があります。これら2つのエンティティをReviewおよびPlaceと呼ぶことにします。2つの外部キーのほかに、レビューには、分類、コメントおよび送信日という別のアトリビュートがあります。

それでは、Reviewエンティティを作成しましょう。

  1. [Data]タブで、GoOutWebDataModelエンティティ図を開きます。
  2. UserシステムエンティティとPlaceエンティティを図にドラッグします。
  3. 図キャンバスを右クリックして[Add Entity]を選択します。
  4. そのエンティティにReviewという名前を付けます。
  5. User.IdアトリビュートをReviewにドラッグします。
  6. Place.IdアトリビュートをReviewにドラッグします。
  7. 残りのアトリビュートを追加します。
    • Classification: Integer型
    • Comments: Text型
    • SubmittedOn: Date型

多対多の関係のエンティティ図