kintoneをリレーショナルデータベースのように使用する事が可能かどうか

お世話になります。

stadaと申します。

タイトルのようにkintoneでリレーショナルデータベースのように使用することが可能でしょうか。

やりたいこととしては、以下のようなことです。

1.アプリAとアプリBを作成します。

2.アプリCからアプリAとBのデータを利用して、アプリAと関連のあるアプリBのデータの絞り込みを実現したいと考えております。

kintoneの画面上でルックアップの機能を使って上記の処理が出来ないかと思ったのですが、ルックアップだけでは難しいと使ってみて感じました。

そのため、APIの観点で実現方法を探っていきたいと思い、質問をさせて頂きました。

ご経験のある方や実現方法をご存じの方がいらっしゃいましたら、ご教授頂けますと幸いです。

よろしくお願い致します。

 

stada さん

kintoneにおいて、関連レコード機能を使う事で、

アプリAで開いているレコードと関連のあるアプリBのレコードを表示する事が可能です。

関連レコード一覧とは

https://help.cybozu.com/ja/k/user/whats_relatedrecords.html

ただ、これはリレーショナルといっても、レコード対レコードのつながりです。

SQL文ならば、INNER JOIN 且つ 結合対象が1カラム。といったイメージです。

アプリAと関連のあるアプリBの複数レコードの合計値を出す。等の1:Nの関係を実現しようとすると、現状はAPIで実現するしかないと思います。

ざっくりですが、

レコードの取得(GET)で、その都度集計するか

https://cybozudev.zendesk.com/hc/ja/articles/202331474-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%8F%96%E5%BE%97-GET-

 

レコードの更新(PUT)でアプリBの保存時に、アプリAに必要な合計値を書き込む

https://cybozudev.zendesk.com/hc/ja/articles/201941784-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%9B%B4%E6%96%B0-PUT-

このどちらかのアプローチになるかと思います。

上海レンユアー 松村 さん

質問にご回答頂き、ありがとうございます。

松村さんが仰っているように、1対Nの関係でレコードを扱いたいのでAPIで実現する方法を選択したいと思います。

もう1点ご教授頂きたいのですが、アプリAとアプリBのレコードを出力するCにおいて、Aと関連のあるBの1つもしくは複数レコードを選択できるよう設定することはJavaScriptのAPIで動作としては可能でしょうか。

stada さん

>アプリAとアプリBのレコードを出力するCにおいて、Aと関連のあるBの1つもしくは複数レコードを選択できるよう設定することはJavaScriptのAPIで動作としては可能でしょうか。

こちらですが、自アプリ(C)以外のアプリからレコードを取得する場合は、REST API(前述のGET)を使用して取得することになると思います。

例えば、アプリC(商品アプリ) の入力画面表示時に、アプリA(売上アプリ)とアプリB(仕入アプリ)から、該当商品の当月の売上額と仕入額を集計して、アプリC(商品アプリ)の”当月売上高”、”当月仕入高”に、値を代入する。

というような挙動が可能です。

(例は適当です)

上海レンユアー 松村さん

ご回答頂き、ありがとうございます。

別アプリの値をGETで取得して値を反映することができるのであれば、実現したい挙動を実装していけそうです。

追加質問はございませんので、本件はクローズさせて頂ければと思います。

また、何かありましたら質問をさせて頂くかと思いますが、その際もよろしくお願い致します。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。