こんにちは!スタートアップテクノロジーのシライシです。
今年こそは、と夏に向けて腹筋を始めました。(1年ぶりn回目)

今回は、Adaloビデオチュートリアルの「Designing your Database」に沿ってより詳しくデータベースの構造について学んでいきましょう!

この記事で学べること

      • コレクションの作成
      • プロパティの作成
      • リレーションシップの設定

アプリの作成

アプリを1から作る部分から説明していきます!
既に作成しているアプリがある方は、その中で試して頂いても問題ありません!
また、作成中のアプリを作り直したい場合は画面左のsettings→Copy / Deleteで削除することもできます。

①PlatformはNative Mobile Appを選択

②TemplateはBlankを選択してください

コレクションの作成

ではここからデータ構造の作成に入ります!
まずはコレクションを作成しましょう。
コレクションは「テーブル」と呼ばれる概念になります。
まず、画面左のDatebaseを選択し、「+ ADD COLLECTION」をクリックしましょう。

Collection Nameに「Orders」と記入し、ADDをクリックします。

Collection Nameは、元々用意されている「Users」と同じように、
先頭大文字+複数形の形で統一すると良さそうです。

同じ操作を行い、「Menu Items」というコレクションを作成しましょう。

これでUsers、Oreders、Menu Itemsの3つのコレクションが設定されました。

プロパティの作成

次にコレクションにプロパティを作成していきましょう!
プロパティは「カラム」と呼ばれる概念になります。
今回は注文の合計がわかるように、OrdersコレクションにOrder Totalプロパティを作成しましょう。
画面左のDatebaseからOrdesを選択し、「+ ADD PROPERTY」をクリックします。

保存するデータの種類を選択します。
今回は合計数を保存したいので、Numberを選択しましょう。

NameにOrder Totalと記入し、SAVEボタンをクリックするとプロパティの作成完了です。

リレーションの設定

次に、コレクション間のリレーションの設定を行なっていきます。
リレーションはコレクション同士の関係を表すものです。
今回の場合だと、ユーザーが注文を行なった時、どのユーザーがどの注文を行ったのか、UsersのデータとOrdersのデータが結びついている必要がありますよね。
ここではそのような関係性を作っていきます!
画面左のDatabaseからOrdersを選択、「+ ADD PROPERTY」をクリックします。
Relationship→Usersを選択しましょう。

するとコレクション間の関係を選択する画面が表示されます。

・今回は1人のユーザーは複数の注文をする
・1つ注文は1人のユーザーが行う
という条件から一番上の関係を選択します。

この関係は、「一対多」や「1対n」の関係などと呼ばれ、
「担任の先生」と「生徒」の関係などもこれに当てはまりますね。
Doneボタンをクリックし、OrdersコレクションとUsersコレクションの関係を作成することができました。
次に、OrdersとMenu Itemsの関係を作成していきます。
先ほどと同じように、Database→Ordersを選択→+ ADD PROPERTY→Menu Itemsを選択します。

今回は注文とメニューの関係です。

・1つの注文は複数のメニューに対して行われる

・1つのメニューは複数の注文から選択される

という条件から一番下の関係を選択します。

この関係は、「多対多」や「n対n」の関係などと呼ばれ、
「授業」と「生徒」の関係などもこれに当てあまりますね。
Doneボタンをクリックし、OrdresコレクションとMenu Itemsコレクションの関係を作成することができました。

今回の説明は以上となります!
データ構造について少し詳しく説明していきましたが、いかがでしたでしょうか?

まとめ

実際に触ってみて、操作の手軽さに驚きました。
簡単なデータ構造の作成ならすぐできてしまいますね。
ただ、複雑なテーブル設計が必要になってしまうような場合は、
NoCodeと言えどエンジニアリングの知識が必要になるような部分だと感じました!
是非みなさんも触ってみてください!