見出し画像

【Bubble】リレーションで検索性抜群のDBを作る!

こんにちは!
今回はBubbleの特徴であるリレーションを使用する方法をご紹介させて頂きます!
リレーションを使うことで、より簡単に情報を抜き出すことができるようになるので、ぜひ本記事を参考に使っていただければと考えております。
それで初めていきましょう!

リレーションとは

リレーションとは、各データーベース(テーブル)同士を連結させることをいいます。

例えば、ユーザーテーブルに苗字、名前、ユーザーID、プロフィール写真、趣味、特技、、などなどを保存したとします。
これはユーザーに紐づく情報です。
次に決済情報を作成し、(本来は保存しませんが笑)名義、カード番号、シークレット番号、JCB等のブランド等を決済テーブルに保存します。
この時、ユーザーIDを決済情報に保存することで、どのユーザーの決済情報かを定めることができますが、リレーションはユーザーの情報を丸々決済情報と紐づけることができます。

ユーザーIDを紐づける場合

リレーションを使って紐づける場合


リレーションでのメリット・デメリット

ではBubbleでリレーションする際のメリット・デメリットを紹介します。

メリット

  • 検索性がスムーズ

IDで紐づける場合、do a search for を使用して、current userと一致するIDの情報を取得する必要がありますが、直接決済情報からユーザー情報を取得することができます。

  • WU消費量が軽い

これは断定的には回答できませんが、WUの消費量は検索量が多くなればなるほど増えることがわかっています。リレーションの場合、紐づくデータ情報を直接抽出することができるので、do a searchを使用するより消費量が軽くなる可能性が高いと考えられます。

デメリット

  • 逆引きしずらい

これは設定にもよりますが、上項で紹介したリレーションの場合、決済情報からユーザー情報を取得することはできますが、ユーザー情報から決済情報を抽出するためには、do a searchを使用する必要があります。
そのため、リレーションを相互に行う(どちらのデーターベースにも設定する)ことで、より使いやすい形に繋がるかと思います。

実際に使ってみよう!


それでは実際にリレーションをしてみましょう!
まずはデータベースを作成していきます。
今回はUserテーブルとSaleテーブルを作成し、Saleにリレーションする形でユーザーを設定していきます。
なお、以下テーブルは過去記事で使用したものを再利用していますので、よければこちらの記事もご参考ください。


まずUserテーブルにはUser-idを設定しておきます。

次にSaleテーブルを作成します。
テーブルは以下のようにデータを作っておきましょう!

次にsaleテーブルにユーザーのリレーションを設定します。
field typeをUserにすることで、テキスト情報ではなく、ユーザー情報としてデータを保存することができるようになります。

これでリレーションの設定は完了です!

次に、売上情報を保存する画面を作成しましょう!

以下のような簡単な画面を作成したら、保存ボタンのワークフローを作成しましょう。

データは以下のようにセットしておきましょう。

user型のデータにしているので、current userとセットすることで自分のユーザー情報を保存することができます。

では上記で作ったものを元にデータを複数作成します。


なお、ユーザー情報も作成しておき、複数人で売上データを作成しておきます。


では上記ができればどのユーザーが商品を購入してくれたかをrepeating groupで表示してみましょう!

repeating groupを配置したら、まずはset fixed numberof rowsのチェックを外しましょう。
これにチェックが入っていると、縦の行が固定数のみの表示となってしまいます。今回は売上情報を全て表示させたいので、チェックを外して、80px程度設定しておきましょう。

次に、Type of contentを設定していきます。
これは、このrepeating groupになんのデータをいれるかを設定することができます。
今回は売上情報の一覧を表示したいので、売上情報を設定します。

上記のように設定できればOKです!

では次に、表示する要素を配置していきます。
今回は以下を表示していきたいと思います。

  • 売上金額

  • 売上数

  • 購入したユーザーのメールアドレス


ではまずrepeating group内にテキストエレメントを用意し、左から順に以下のように設定していきます。

  • Current cell's sale's amount

  • Current cell's sale's count

  • Current cell's sale's user's email

この時、リレーションしたuser情報の中から表示できるので、emailを設定することができます。
これがもしidなどを保存している場合は、do a searchを使用する必要がありますね。

ではこの状態で一度みましょう!
ただし、初期設定である場合、プライバシールールが設定されているので、一度こちらは削除しておきましょう。
赤枠のごみ箱でルールを削除することができます。

すると以下のようにどのユーザーが何個、何円購入したか分かるような表が簡単に作成することができました!


もちろん、前回作成したようなグラフ化も可能です。
なお、グラフの作り方については過去記事をご参照ください。

ではユーザー毎の売上合計を比較するグラフを作ってみましょう!
以下のように設定して、

実際に画面を確認すると以下のように表示されます!

これで誰が一番購入してくれているかを一目でわかるようになりますね。

最後に

本日はリレーションについてご紹介させて頂きました!
少し慣れるまで時間がかかりますが、とても便利な機能です。
リレーションを使用することで、必要な情報をよりスムーズに引っ張ってこれること、またWUの節約にもなりますのでぜひ使っていきましょう!

それでは本日もお読みいただきありがとうございましたー!


いいなと思ったら応援しよう!