見出し画像

【Airtable】レコードを代表する「顔」なのだ: Primary Field(その2)

前回の記事の続きです。先に前半の記事からご覧ください。

Primary Fieldが『レコードの「顔」』であるならば、それに「ふさわしいフィールド型」で、かつ「ふさわしい値」を格納しなければならない、とお話ししたところで前半の記事が終わりました。

この後半記事では、それらが何かお話ししますよ~😄。

Primary Fieldで選べるフィールド型

では、まずPrimary Fieldで選べるフィールド型は何か確認しましょう。

Primary Fieldでは、選べるフィールド型が、他のフィールドよりも少ない

合計13種のフィールド型を選ぶことができます。次の通りです。

Single line text

Long text

Date

Phone number

Email

URL

Number

Currency

Percent

Duration

Formula

Autonumber

Barcode

Primary Fieldでなければ、28種類から選択できます。やはり、チェックボックスとかSingle selectとか、値が重複することが前提となるフィールド型、Attachmentのような、そもそもテキストでない値を格納するフィールド型は、選べません。

それでも、13種類も選べるわけですが、ほとんど「レコードの顔」として使える気がしませんね。Percentageなど、一応、選ぶことができるということですけどね。

Single line textじゃだめ?

じゃあ、何を積極的に使いましょうか。

Single line textかな~🤔」

そうですよね。それが無難かと思います。当面、それでもいいかもしれません。

でも、前半記事でお話ししたように、主キーとしての意味合いをPrimary Fieldに持たせるわけです。要するに、複数のレコードに同じ値が入っては困るのです。例えば、氏名などをPrimary Fieldにしてしまうと、もしかすると複数のレコードに同じ値が入ってしまうことがあり得ますね。

重複するリスクはある

Numberじゃだめ?

「なら、Numberだったら?機械的に番号を与えれば、重複しないでしょ?🤔」

するどい!確かにそのとおりです。番号でいい場合も多いでしょう。でも、こちらの場合は、「レコードの顔」という役割が十分に果たせなくなります

例えば、参照先のレコードが何かを示すカードとして、「4873047」が示されていたとして、何のレコードか分かりませんね?

「じゃあ、どうすんのよ!?😑」

そこで、Primary Fieldが、主キーとして、かつ、「レコードの顔」として機能できるように、Airtable社は次の方法を提案しています。

Formulaフィールドを使ってみよう

例として、学生リストを使います。あるフィールド(Single line text)には、学生の名前が入っています。一方、もう一つのフィールド(Number)には、学生番号が入っています。

「レコードの顔」「主キー」どちらの性質も必要です。かくなる上は、、、組み合わせちゃいましょう😆!

新しくFormulaフィールドを設置します。その式は、「学生番号ー氏名」となるように指定します。

できた~。先に番号があり、その次に氏名がある。これな重複の心配はないし、誰のレコードかすぐに判別できますね~😄

そして、Primary Fieldを、作ったばかりのFormulaフィールドに設定すれば、完成でございます~。

(Primary Fieldの切り替えが実はちょっと複雑なのですが、その解説は、、、後日に譲ります。)

データベース的には不自然??

ということで、うまくいきました。しかし、データベースを使う方には、この設定も違和感があるかもしれませんね。

というのは、このFormulaフィールドは、計算によって値を取得しています。ようするに、「値の実体を持っていない」のです。計算によって得られる値をフィールドに入れないのが、データベースの原則になっています(計算はフロント側でやってね、ということになります)。

こんなとこからも、Airtableは、スプレッドシートとは言い切れない、さらにデータベースとも言い切れない性質を持っているんだな~と感じてしまいます。すみません、個人の感想です😅。

まとめ

  • Primary Fieldのフィールド型として選べるものは、13種に限られる。

  • 無難なものは、Single line textやNumberとなる

  • ただし、主キーの性質と、「レコードの顔」を両方持たせるなら、Formulaフィールドを使うとよい。

では、ビーダゼーン!

※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。


この記事が気に入ったらサポートをしてみませんか?