kintoneアプリのキー(ユニークコード)に設定すべきルールは?​【動画】

kintone(キントーン)構築会社 ペパコミ株式会社です!

こちらの記事はkintone活用ちゃんねるというyoutubeチャンネルで公開している動画の

文字起こしVerとなっております。

どうも!kintone活用ちゃんねるのハルクです!

kintone

今日のkintone活用事例は

kintoneアプリのユニークコードにレコード番号はどうなの?」

について語ります~

kintone

今日はkintoneアプリのユニークコーについてです!

ユニークコードとは他と被らないコード ですね

顧客コードとか案件コードとか

例えば関連レコードで顧客名と紐づけて表示するときに

同じ顧客名って世の中ありますよね?

そういう時って違う顧客なのに 同じ顧客として関連レコード表示されてしまいます

ちなみに関連レコードの意味とかは説明しないで ペラペラしゃべりますよ

これだと正しい関連表示が出来ませんよね

そういう時に絶対に被らないものとしてユニークコードを使います

キーとかユニークキーとかも表現したりしますね

で、その中でよく質問があったり議論になるのが

「レコード番号をユニークコードとして使えないの?」です

kintone

レコード番号にはデメリットがあるので 宣伝を挟んでからお話します

このチャンネルは、

kintoneの構築・運用コンサル会社であるペパコミが運営しております。

kintoneを活用した事例や基本操作から応用操作まで

kintoneに関する情報を幅広く発信しておりますので

是非チャンネル登録をお待ちしています

それでは早速内容にいきま〜す!

目次

レコード番号とは?

kintone

まずレコード番号について簡単に説明すると

レコードが生成されるとkintoneのシステムで自動付与されるものです

これは数字なので 1レコード目なら「1」 2レコード目なら「2」というふうに

フィールド設定していようがしていなかろうが 自動で採番されます

そのためユニークコードになるから コード番号でもいいんじゃないか?と思われがちです

まあ実際 レコード番号はルックアップでも関連レコードでも設定できますからね

​ただ結論としては ユニークコードとしてレコード番号の設定は僕はオススメしません

kintone

レコード番号をオススメしない理由

kintone

ちょっとマニアックな話しますから ユニークコードの話に興味ある人

ある程度フィールドの概念を知っている前提で話すのでご了承下さい

今度フィールド毎の詳しい解説動画も撮ったほうがいいかもな~・・w

理由としては色々あるんですが 大きく1つですね

1つだけなのでしっかり聞いておいてほしいですちょっとマニアックですからね

レコード番号って 柔軟性皆無 なんですね

kintone

ひたすら1から積み上げていくだけなんですよ もう脳死状態で

なので アプリを統合したりする時に関連付けが破綻します

例えば顧客アプリと案件アプリを関連付けしていたとします

関連キーはレコード番号です

顧客アプリでは3レコードあります 顧客アプリのレコード番号は1,2,3ですね

で 案件アプリに顧客アプリのレコード番号1のレコードを

ルックアップでレコード番号取得すると 案件アプリのフィールドにレコード番号1が入りますよね

これで関連付けられますよね 案件のレコード1と顧客のレコード1

ただkintoneでたまにあるのが マスタを統合したい!

例えば 顧客アプリのデータを取引先アプリに統合したい!となったとします

kintone

するとレコードを 取引先アプリに持ってこなければいけないんですよ

この時にレコード番号を関連キーにしていると その関連キーが壊れるんですよ

レコード番号って1から順番に採番するので 複数アプリを統合するとズレますよね

さっきまで「1」で関連付けされていたものが

取引先アプリに行った途端「8」になったりするんですよ

で 案件はそのまま「1」みたいな

で そうなっちゃうと関連付けされなくなっちゃいますよね

これを解消するには

kintone

再度案件アプリのルックアップ設定をやりなおして  ルックアップ取得を全部やり直さないといけないんです

更に案件アプリの先に活動履歴アプリや 請求アプリなど色々繋がってるともうマジでカオスですよ

それぞれ重複禁止設定して ルックアップ取り込み反映なんて

やったことある人は分かると思いますがマジ地獄なんですよw

だから これを避けるためには 新しい取引先アプリで

数値フィールドを用意して統合元の顧客アプリのレコード番号を取引先アプリの数値フィールドに入れる

という手もあります 移行するときにね 

レコード番号から​取引先の数値フィールドにレコード番号を移す みたいな

そうすると関連付けは壊れないんですよ

​これも1つの手だとは思うんですが問題があるんですよ

それは取り込んだ後の 取引先アプリの今後の採番どうするの問題

kintone

これね・・・大丈夫かなw

自分で説明していて絶対伝わっていない気がするんですけど

画面をわざわざ用意しても伝わる気がしなかったので喋りだけにしてます

なんとなく感覚だけつかんでくれたら良いです

とりあえず分かる人だけついてきてくださいw

で 取り込んだ後の採番はどうするの問題について

だって そのまま数値フィールドに成り代わったわけですから

レコード番号のように自動採番されないわけですよ

自動採番プラグインとかも使えばいいんじゃないかと思うかもしれないんですが

あれって基本 文字列フィールドしか使えないんです

kintone

なので数値フィールドでどうにか以降の新規レコードの自動採番をする手立てがないんですよ

開発する以外​に

というように 要はですね 色々あの手この手を使わないと

レコード番号を使っていることの弊害を解消が出来ないというのが現実なんです

いいですか 今の話よく分からない人はこれだけ覚えておけばいいです こっから!w

結論としてはレコード番号はユニークコードとして使うな!

kintone

ってところですね! それだけ覚えてもらえればいいかなと

ユニークコードは何にすべき?

kintone

レコード番号がダメなら何にしたら良いんだ? ってところなんですが

これは僕の結論としては 自動採番プラグインなどを使ったユニークコーで僕は良いと思います

勿論これもメリット・デメリットあるのですが どの採番方法もメリットデメリットあります

それらのバランスが最も良いのが 自動採番プラグインなどを使った独自採番がいいと思います

kintone

その他にもフィールドを組み合わせた 意味を持たせた採番などをしている会社もありますね

このあたりは自社で構築するならよく考えるべきで

kintone構築を開発会社に依頼するなら 全体設計から見て適切なユニークコードを提案してくれると思います

まとめ

再度いうと 結論としてユニークコードは自動採番プラグインによる採番がオススメ

kintone

レコード番号はやめておけ! って感じです

自動採番プラグインのオススメは無料プラグインランキングで紹介している

アディエム もしくは ATTAZoo+かなと

kintone

これは有料ですけどね ということで以上になります!

これからもkintoneの役立つ情報を発信していきますので

チャンネル登録をお待ちしております!

本日もありがとうございました!また次回お会いしましょう~!

ばいば~い!

よかったらシェアしてね!

コメント

コメントする

kintoneのお悩み
一発解決します!

無料相談をする
目次
閉じる