【Airtable】レコードを代表する「顔」なのだ: Primary Field(その1)
今回は、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の値が表示されます。
例2)Link候補のレコードの見出し
次は、Link to another tableフィールドで、どのレコードと紐づけるかを選択する小窓です。
レコードの候補が現れるわけですが、レコードの見出しとして、Primary Fieldの値が使われています。
例3)かんばんビュー・カレンダビューでのレコードの見出し
さらに、かんばんビュー・カレンダビューです。レコードの見出しにPrimary Fieldの値が示されます。
このように、レコードの、あらゆるフィールド値を代表してPrimary Fieldの値がインターフェース上で使われるのです。
言ってみれば、レコードの「顔」でございます。
「無意味な数値」は、最適と言えない!?
では、Primary Fieldが、レコードの「顔」であるならば、それに「ふさわしいフィールド型」で、かつ「ふさわしい値」を格納しなければなりません。
もうお気づきですね!多くの主キーのように「無意味な数値」では、都合が悪いんですよ~😭。「無意味な数値」をPrimary Fieldに入れてしまうと、レコードいどんな値が入っているか、まったく想像できなくなってしまいます。それは、「顔」とは言えないですね~。
どうしますか…。ということで、続きは後半で!
まとめ
まとめます。
Primary Fieldは、「レコードの内容を短く端的に示す値」を保持するフィールド
データベースでいう「主キー」としての役割もある。
しかし、それだけでなく、その値は、レコードの代表として「顔」として機能する。
Airtable上のインターフェース上のあらゆるところで、レコードの見出しとして表示される
では、ビーダゼーン!
※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。