リレーションシップ
1 対 1 リレーションシップのモデルデータ
このシナリオでは、書店は販売する書籍を追跡するために ISBN 番号のリストを保持しています。各書籍には 1 つの ISBN 番号だけがあり、各 ISBN 番号は 1 つの書籍にのみ割り当てられています。これは ISBN 番号と書籍間の一対一 (1:1) データリレーションシップの例です。Studio で Book と ISBN データタイプとそれらのリレーションシップをモデル化するには、以下の手順を使用してください。
- クローンしたスキーマで、各書籍が単一の ISBN 番号を持ち、各 ISBN 番号が単一の書籍に関連付けられているため、
ISBNとBook間の一対一データリレーションシップを定義します。ISBN タイプで、リレーションシップを追加を選択します。 - リレーションシップを追加ウィンドウで、関連モデルを選択メニューから
Bookを選択します。リレーションシップタイプについては、1 つの ISBN から 1 つの Book へを選択します。リレーションシップ名にBookと入力します。保存を選択します。リレーションシップは以下のようになります。
データモデリングページに戻ると、ISBN モデルがリレーションシップ情報で更新されます。Book モデルについても同じ手順を繰り返します - Book から ISBN への 1:1 リレーションシップを定義します。
1 対多のリレーションシップのモデルデータ
それでは、出版社のデータモデルを作成しましょう。書店の各書籍には出版社が 1 つだけあります。ただし、各出版社は多くの書籍を出版できます。これは、弊社の例でモデル化できる出版社と書籍間の一対多リレーションシップ (1:n) を表しています。
- クローンしたスキーマで、
Publisherモデルを選択します。 Publisherモデルについて、リレーションシップを追加を選択します。- リレーションシップを追加ウィンドウで、関連モデルを選択メニューから
Bookを選択します。リレーションシップタイプについては、1 つの Publisher から多くの Book へを選択します。リレーションシップ名にbooksと入力します。保存を選択します。リレーションシップは以下のようになります。
多対多のリレーションシップのモデルデータ
それでは、著者の最終的なデータモデルを弊社の例に追加しましょう。書籍は単一の著者または複数の著者を持つことができます。したがって、書店の書籍は多くの著者によって書かれることができ、各著者は多くの書籍を書くことができます。これは、弊社の例でモデル化できる書籍と著者間の多対多 (m:n) データリレーションシップです。
- クローンしたスキーマで、
Authorモデルを選択します。 Authorモデルについて、リレーションシップを追加を選択します。- リレーションシップを追加ウィンドウで、関連モデルを選択メニューから
Bookを選択します。リレーションシップタイプについては、多くの Author から多くの Book へを選択します。リレーションシップ名に、Bookなどの意味のある名前を入力します。保存を選択します。リレーションシップは以下のようになります。
データモデルが期待どおりに機能するかテストする
データのモデル化とデータリレーションシップの定義が完了したら、モデルを Amplify バックエンド環境に保存してデプロイできます。
-
データモデリングページの右上隅でデプロイを選択します。
-
サンドボックスで作業している場合、AWS にデプロイページで、AWS アカウントを作成またはAWS アカウントにログインしてデプロイを選択し、デプロイプロセスを進めます。
-
AWS アカウントから Studio で作業している場合、デプロイステータスはページの右上隅に表示されます。
-
コンテンツタブに移動し、テーブルでデータを作成します。異なるモデルのレコードを作成およびリンクできるようになります。詳細については、コンテンツ管理を参照してください。