見出し画像

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

今回は、Primary Field(主フィールド)とは何か、どう設定すればいいのか、について詳細にお話ししていきますよ~😆。

左端の列が、Primary Field

テーブルの中に一つだけ存在し、削除したり、移動したり、非表示にしたりできないのが、Primary Fieldの特徴です。

「なんでそんなややこしい制限をかけるんですかね!?扱いずらいんですけど?🤔」

そう感じますよね~。だって、Airtableを初めて利用したときに値を打ち込んでみるフィールドが、だいたい一番左端のフィールド、すなわち、Primary Fieldですからね。

そのフィールドが、よりによって融通が利かないw。例えば、試しにフィールドを削除しようとしてもできない、移動しようとしてもできない、なんてことが起こります。なんなのこのフィールド??

実は、このような制約が課されている理由があるんです。というのも、このフィールドは、Primary(第一の、最優先の)という名前を冠しているだけに、特別な役割を付与されているのです。特別な役割があるからこそ、その役割を損なわないために、各種の制約が課されているわけです。

果たして、Primary Fieldの役割とは何なのか、そして、どう設定すればいいのか。これを知ることができれば、きっとAirtableをより効果的に使えるようになりますよ~。

さあ、準備はいいですか~。詳しく見ていこう!😄

Primary Fieldとは何か?

まず、Primary Fieldとは要するに何でしょうか?

「ああ、主キー(Primary key)のことでしょう。知ってる、知ってる♪😄」

定番のお答え、ありがとうございます(打ち合わせ通りですね🧡)

確かに、データベースに心得のある方でしたら、真っ先にそう思うのもの無理はありません。でも、ちょっと違うんだな~これが~😄。

主キーとは?

データベースでいうこところの「主キー」とは、他のレコードと区別するために必要なキー(フィールド)です。この役割のため、重複してはならない(一意である)、空であってはならないという特徴があります。テーブルを何か参照するとき、レコードを特定するために重要な役割を果たすのが主キーなのです。

イメージ

では、主キーになれるのは、どんなフィールドでしょうか?

よく見るのは、特に意味はない連番です。もちろん、意味のある連番(登録日が番号に含まれるとか)、名前だとか(重複のリスクがあります)もありえます。が、一見して何を意味するのか不明な数字や文字列を含むフィールドが多いわけです。

しかし、AirtableでいうところのPrimary Fieldは、主キー以上の役割を持っているのです。

どいうことかな…!?

レコードの内容を代表して端的に示す役割

Primary Fieldは、「主キー」としての要件、すなわち「重複せず、空でない」を、できるだけ満たすことが想定されています(当面は、空のまま放置したり、値が重複したりしてもエラーは返ってきませんが)。

しかし、AirtableのPrimary Fieldの特徴は、別のところにあります。結論を言えば、Primary Fieldは、「そのレコードが一体何のレコードなのか」を端的に示す役割があるのです。

実は、Airtable上のいたるところのユーザーインターフェースで、Primary Fieldの値が使わるのです😲!具体的に見てみましょう。学生の氏名がPrimary Fieldとなっているテーブルを参考にします。

例1)Link to another tableフィールド

まずは、Link to another tableフィールドです。Link to another tableフィールドを使って、あるテーブルのレコードと、他のテーブルのレコードを紐づけたとしましょう。

そうすると、Link to another tableフィールド内に、どのレコードと紐づいているかを示す「カード」として、Primary Fieldの値が表示されます。

参照先のレコードを代表する値として、Primary Fieldの値がセル内に表示される

例2)Link候補のレコードの見出し

次は、Link to another tableフィールドで、どのレコードと紐づけるかを選択する小窓です。

レコードの候補が現れるわけですが、レコードの見出しとして、Primary Fieldの値が使われています。

例3)かんばんビュー・カレンダビューでのレコードの見出し

さらに、かんばんビュー・カレンダビューです。レコードの見出しにPrimary Fieldの値が示されます。

かんばんビュー
カレンダービュー

このように、レコードの、あらゆるフィールド値を代表してPrimary Fieldの値がインターフェース上で使われるのです。

言ってみれば、レコードの「顔」でございます。

「無意味な数値」は、最適と言えない!?

では、Primary Fieldが、レコードの「顔」であるならば、それに「ふさわしいフィールド型」で、かつ「ふさわしい値」を格納しなければなりません。

もうお気づきですね!多くの主キーのように「無意味な数値」では、都合が悪いんですよ~😭。「無意味な数値」をPrimary Fieldに入れてしまうと、レコードいどんな値が入っているか、まったく想像できなくなってしまいます。それは、「顔」とは言えないですね~。

どうしますか…。ということで、続きは後半で!

まとめ

まとめます。

  • Primary Fieldは、「レコードの内容を短く端的に示す値」を保持するフィールド

  • データベースでいう「主キー」としての役割もある。

  • しかし、それだけでなく、その値は、レコードの代表として「顔」として機能する。

  • Airtable上のインターフェース上のあらゆるところで、レコードの見出しとして表示される

では、ビーダゼーン!

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

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