kitoneにおけるSQLの活用

本エントリー以降にてkintoneにおけるRDBの考え方・ツール・SQLの活用方法について述べる。

ツールやライブラリ、設計技法について

kintoneでSQLを活用する際、便利なツールやライブラリとして以下がある。

また活用できる技法として以下がある。

  • RDBの設計技法

上のツール・ライブラリ・設計技法を活用すると集計処理やSalesforce等他のサービスとの連携も楽になる。

実行環境について

kintoneのデータを扱う際、実行環境は主に以下の2つがある。

  • ブラウザにて、JavaScriptのプログラムを実行する。

  • kintoneのデータをcsvで出力し、CUIコマンドでSQL等を用いながらデータ処理を行う。

これらはそれぞれ全く異なる実行環境であるが、これらをSQLで扱う事によりある程度統一された方法でデータを操作出来るようになる。

扱うデータの形式について

SQLを活用する場合、扱うデータは2次元データである。

ブラウザでは、JavaScriptのオブジェクトリテラルにてプロパティに列名を設定し、オブジェクトの配列を使う事で2次元データを扱える。
CUIでは、kintoneのデータを一旦csvで出力するとcsvを扱えるツールや、SQLiteのテーブルに格納する事によりSQLにて処理を行える。

ブラウザでは、大抵の場合JavaScriptを使う事になると思うので、REST APIでデータを取得後オブジェクトリテラルの配列を扱えるJavaScriptのライブラリを使うと便利である。中でもAlaSQLはJavaScriptのオブジェクトリテラルの配列に対してSQLを実行出来る。

またコマンドでは、cli-kintoneにてcsvを出力後、SQLiteでcsvを読み込み、SQLを使って操作すると、大容量のデータも簡単に扱えて便利である。必要であればLinuxのコマンドや独自に実装したスクリプトで処理すると、細かなデータの加工も行える。

最後に

本来話の流れとしては、RDBなどのDB設計の考え方があって、それをkintoneに応用するような話の流れにした方が良い気もするが、kintoneはサブテーブルを持てるため完全なRDBでもない。よって本エントリー以降では、まずツールの便利さを説明し、更にRDBの設計技法を使用するとkintoneのアプリやプログラム、運用がすっきりして便利である旨を順に述べていく。

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