公開日: 2023年08月22日 / 更新日: 2024年07月17日
「プログラミングせずとも非常に感覚的に、かつ手軽にアプリを作成して、情報を共有したり、蓄積したデータを分析したりできる便利なクラウドサービス」
kintone とは何かと聞かれたら、ざっくりとこのような説明をさせて頂くことが多いですし、すでに使い始めておられる方も、そういった利点はすでに体感しておられるかもしれません。たしかに使いこなせれば本当に便利。しかも使い方次第で柔軟にいろいろな運用にも対応できてしまうkintoneですが「いまいち使いこなせない」と感じておられる方もいらっしゃるかもしれません。
例えば、これまでExcelで個別に管理していた情報をkintone上で一元化して管理できたら便利、ということで、まずはExcelのデータをkintoneに移行してみた、という方はとても多いかと思います。
だけど使ってみると、やっぱりちょっとExcelとは発想が違う。。うまく運用できないんだよな。。。という悩まれている方もいらっしゃるのではないでしょうか。
そこで、今回は「Excel脳からの脱却」と「kintoneらしさ」というキーワードでkintoneの使い方のツボをご紹介したいと思います。
■ ロケスタでは随時kintone活用方法やDXに関するセミナーを開催中!
最新のセミナー情報はこちらから
列と行から成り立っているExcelのデータ(つまり表形式のExcelデータ)をkintoneのアプリに移行するのは、とても簡単です。ですがExcelとkintoneにはデータの扱い方に関して大きな違いがあります。
まずは「Excel ≠ kintone」ということを覚えておくとコツを掴みやすいです。
ではまずはその違いを詳しく見ていくことにしましょう。
Excelは2次元でわかりやすくデータを表現 できる表計算ソフトです。例えば、この画像のように、表で数値を扱うのが得意。
表形式でデータを扱うといってもこの画像のように自由に文字や数字や関数を配置できるのも特徴です。一方で大量のデータを扱うのを苦手とするのもExcelの特徴。
kintoneはデータをストックできる箱のようなもので、そのような箱をデータベースといいます。
データベースというと一般的にはリレーショナル・データベースと呼ばれるタイプのものが有名です。OracleやMySQLといった名前を聞いたことのある方も多いかもしれません。kintoneもこうしたデータベースの一種で、うまく扱うためにはデータベースの作法を理解することが鍵になってきます。
kintoneはカード型データベースのようなものだとイメージしてください。
例えば、名刺一枚一枚をひとつのデータとするなら、いろんな方の名刺が入った名刺ケースがデータベースということになります。
名刺を例えに使ったのは、kintoneのデータベースと共通な大切な特徴を持っているからです。名刺には大抵同じ情報が載っているということです。
つまり、会社名、氏名、肩書き、メールアドレス、電話番号など、どの名刺にも載っている項目があります。
このようにkintoneアプリは同じ項目をもったカードの集合体と考えていただければシンプルにイメージしやすいかと思います。
kintoneのアプリひとつは基本的にこのカード型データベースですが、kintoneはさらにアプリとアプリを関連づける機能がついているなど、より便利に使うことができます。
データベースはデータを大量に蓄積できるだけでなく、データを効率よく取り出せるような仕組みも持っています。
kintoneのアプリはカードの集まりである、というご説明をしましたが、目当てのカードを間違いなく、かつ効率的に取り出すために、それぞれのカードには目印がついています。これがExcelとkintoneの一番大きな違いです。
その際に目印として使われるのが「ユニークキー」あるいは「主キー」と呼ばれるものです。
「ユニークキー」はそれぞれのデータに与えられた識別子だと思ってください。そしてこの識別子は他のデータと絶対に重複しないようにしないといけません。
「ユニーク」という日本語には「他にないような」「独特な」といった意味がありますが、英語の「ユニーク」には「固有の」という意味もあります。つまり、データひとつひとつに与えられた固有の(つまり他のデータと重複しない)識別子という意味でユニークキーと呼ばれているんです。
データベースはカードを入れるボックスのようなものですが、一枚一枚のカードには他のカードとは重複しない識別子がついている、ということですね。
さて「ユニークキー」は他のデータと重複しない識別子だ、ということは具体的にどういうことなのでしょうか?実際にアプリを運用するときにこのユニークキーを理解することはどうして大切になってくるのでしょうか?
もう少し掘り下げていきましょう。
例えば、以下のようなものがユニークキーの例です。
・商品マスターアプリにおける「商品コード」
・社員マスターアプリにおける「社員番号」
商品コードが同じであるということは同じ商品、ということですし、社員番号を複数の社員が共有することはありません。
ではどうして、kintoneではユニークキーが必要なのでしょうか?
具体例で考えてみましょう。
この二つのアプリがあるとします。
社員マスター:社員の情報を管理するアプリ
社員研修:それぞれの社員がどういった研修を受けたかを管理するアプリ
画像にあるとおり「社員研修」アプリではそれぞれのレコードに「社員NO」と「社員名」が記載されています。社員アプリと紐づけることができれば情報を整理して扱うことができそうです。このとき「社員NO」と「社員名」のどちらを鍵にしたらよいでしょうか。
この点を考えるに際し「田中太郎」さんという同姓同名の二人の社員がいるケースを考えてみましょう。
社員NOが「20」の田中太郎さんは管理職なので「管理職研修」と「個人情報取扱研修」
社員NOが「150」の田中太郎さんは新人さんなので「新入社員研修」と「個人情報取扱研修」
をそれぞれ受講したしたとします。
例えばkintoneのルックアップ機能を使って社員マスターアプリと関連づけをしようと思ったときに「社員名」をキーにして関連付けをするとどうなるでしょうか?
ベテランの田中太郎さんと新人の田中太郎さんも、同じ「田中太郎」さんというお名前ですので、どちらの「田中太郎」さんの情報に紐づければよいのかシステムのほうで決めることができません。該当するレコードが複数あることになるからです。
一方で「社員NO」は他の社員とは重複しない値ですので「社員NO」が決まれば、社員マスターアプリのどのレコードと紐づければよいかが決まります。該当する社員マスターアプリレコードはひとつしかないからです。
kintoneではルックアップや関連レコード一覧機能で他のアプリとの関連付けをするときに、重複禁止のフィールドしか選択できないようになっていますが、これはこうした事情があるからなんです。
ここまでで、ユニークキーの大切さについて一緒に考えてきました。そして、ここで一つとても大切な点があります。
レコード番号をユニークキーがわりにしてはいけない
ということなんです。
これはどういうことなのでしょうか?
kintoneでアプリを作ってレコードを作成すると自動的にレコード番号というものが採番されます。これは kintone側がシステムとしてそれぞれのデータにアクセスするための目印として使っているものです。
つまりレコード番号は他のレコードとは絶対に重複しない値に設定されます。
ではどうしてこのレコード番号をアプリ上のデータを管理する上でのユニークキーとして扱ってはいけないのでしょうか?
レコード番号はkintoneが管理するためにkintoneが独自に発行する番号であるという点を考えました。でもkintoneがレコード番号を管理する際に一つの重要な癖があります。
レコードを一旦削除してしまうと同じレコード番号は二度と発行されない
という点です。
それで以下のような場合に問題が発生します。
1)間違ってレコードを削除してしまって同じ内容のレコードをもう一度作成した場合 ... レコード番号は発行し直し
2)環境移行の際などにアプリデータをバックアップした後、インポートした場合にレコード番号は発行し直し
つまり、レコード番号をもとにルックアップなどでアプリ同士を紐づけていた場合、上記のようなときにその関連付けが切れてしまうということが発生します。
当初は問題ないように思えても、いざというときににっちもさっちも行かなくなる可能性があるので、レコード番号をユニークキーとして扱うのは避けましょう。
レコード番号はあくまでkintoneがkintoneのためにつけた番号ということです。
今回はレコード番号について特に取り上げましたが、kintoneのデータベースとしての特徴を知るためにこちらの「kintone(キントーン)をデータベースとして使うために構造を知ろう!」の記事も是非!
さて、今回はExcelとkintoneの違いや、kintoneでデータを扱う際のコツについて考えてきました。
大事な点をを復習してみましょう!
・Excelはデータを作成するための表計算ソフト、kintoneはデータをストックするためのデータベ ースである。
・データベースにはユニークキー(重複しないデータ)が 必要である。
・ユニークキーにはレコード番号は使わない。
いかがだったでしょうか?
弊社ではkintoneの導入から導入後のサポートを含めた伴走支援サービスiTantoをご提供しています。詳細はこちらのページからぜひ!