「レコード ID」の公式リファレンスの定義
「レコード ID」とは何か。「レコード ID」を取得する関数であるGet (レコード ID)
について、公式リファレンスには以下のような記載があります。
返されたこの番号は、レコードの作成時に FileMaker Pro によって生成された 10 進法の値 (整数) です。この値が変更されることはありません。
すなわち「主キー」である
上記の定義より、「レコード ID」はいわゆる「主キー」であることが分かります。FileMaker では「主キー」が存在しなくてもデータベースを運用できます(ように見える)が、主キーに相当する部分が裏側では用意されていることになります1。
しかし「レコード ID」の取り扱いは難しい
しかしながら、この「レコード ID」はなかなかにその取り扱いが難しいです。その理由は、「レコード ID」はフィールドとして存在していないからです。
このため、「レコード ID」は範囲を指定して検索することができません2。また、リレーションシップに組み込むこともできません。
ではどう扱えばいいか
となるとこの「レコード ID」はどう利用すればよいのでしょうか。
だいたい感づいているとは思いますが、そう、「レコード ID」がそのまま入るフィールドを作ればよいのです。そしてそれをテーブルの主キーにしてしまえばいいでしょう。「レコード ID」は未来永劫ユニークで、かつ NOT NULL であることが保証されていて、さらに「意味を持たない」「数値」を取るため、主キーとしてはもってこいです。
予め用意されていることが確定しているので、「サロゲートキーの要・不要議論」などに振り回されること無く「利用してやれ」の一択でしょう。
補足
-
テーブルの主キーを誤って設定してしまった場合(当初設定した主キーが、主キーの要件を満たさなくなりそうな場合)にも、「レコード ID」の値が入るフィールドを作ってあげればそこで主キーの要件が満たされ、助かることでしょう3。