shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【kintone】リレーショナルデータベースとは別物と考える

kintoneは業務アプリケーションを簡単に作成できるクラウドサービスです。そのため、Microsoft Accessで実施していた業務をkintoneで実施したい場面もあります。しかし、kintoneはリレーショナルデータベース(RDB)とは別物なので、できることを割り切ったアプリ構築、特性に合わせて他のシステムとの連携などが必要です。

kintoneで可能なテーブル間の連携

以下でkintoneにおけるデータ設計の基本が説明されています。kintoneではRDBのような複雑なリレーションを持つデータ構造を構築するのは難しいです。

cybozu.dev

上述で説明されている「ルックアップ」や「関連レコード」や「テーブル」( テーブル | kintone ヘルプ)など、テーブル間を連携させるような機能はありますが、メリットデメリットがあります。

いずれにしても、アプリの維持・改善を考えると複雑にしないことがポイントだと思います。

また、開発者向けという点では、

レコード番号をユニークキーにすべきではありません。連番になっていないレコード番号を含むデータを移行したときに、データの整合性を保てなくなるためです。

kintoneにおけるデータ設計の基本 - cybozu developer network

とありました。

ユニークキーは、固有となる値(例えば、メールアドレス単独や、他の情報との組合せなど)」で作成できればよいが、難しい場合はJavaScriptでの構築やプラグインの活用が選択肢となります。

アプリのフィールド数が少なくてシンプルなアプリであれば、レコード番号をユニークキーにしていても致命的な問題になることは少ないと考えますが、考慮しておく必要があります。

shikumika.org

参考:ExcelやAccessとの違い

Excel業務をkintone化するときは、必要以上(なんでもkintone)にすると維持・改善が困難になるケースがあります。それぞれの機能を理解する参考で、kintoneとExcel、Accessとの機能比較表をまとめています。

shikumika.org

以上、kintoneはリレーショナルデータベースとは別物と考えるでした。