FileMakerでリレーションキーにユニークなIDを使う方法
FileMakerではリレーションに使うIDをユニークにする必要がある。
どうやってユニークなIDを設定するかによって、重複の可能性を排除した運用の正確さやバックアップに大きな影響がでるのでいくつかの方法を使えばいいか調べてみた。
※途中
FileMakerでユニークなIDを設定する方法
Get(レコードID)
メリット そのテーブル内で必ずユニークになる
デメリット インポートすると値が変わる可能性あり かといって入力値の自動化でテキスト設定するとインポート後に重複する可能性がある
インポートしたときにの挙動はFilemaker社でも公開情報ではない(番号が飛ぶ。例5レコードインポートした次のIDが30番台など)
Get(UUID)
確認中
Ger(UUID番号)
メリット 入力値の自動化で行えばバックアップでもほぼユニークになる
デメリット 長い。ランダムであり必ずしもユニークなわけではない
入力値の自動化→シリアル
メリット 必ずユニークになる
デメリット バックアップでインポートしたときに フィールド設定を次の値に変更する必要がある
計算式でユニークにする
(おすすめ)
メリット 全レコードのなかでMaxの値+1などにしておけばユニークな値になる
デメリット 設定時の手間 レコード数が増えると作成が遅くなる可能性があある
まとめ
あとからの手間を完全に省きたいなら計算式でユニークにする方法が良い。
次点で、入力値の自動化をする方法
完全にユニークにできるのはこの2通りしかない。
重複の可能性(限りなく低いが)に目をつぶれるならGetUUID/UUID番号も使える。
Get(レコードID)はファイルが故障してエクスポート→インポート形式でデータを戻すときにとんでもない手間がかかるおすすめしない