【初級向け】FileMaker(ファイルメーカー)の新規作成で主キーなど勝手に作られるフィールド(項目)はどうすべき?

このページでは次のような内容が書かれています。
  • 結論から言います
  • 勝手に作られるフィールドのナゾに迫る
  • 勝手に作られるフィールドには名称があった
  • 勝手に作られるフィールドには歴史があった
  • まとめ

※この記事はFileMaker制作経験が未経験~おおむね2年未満の方向けに書かれています。あくまで習得における初期段階の考え方のひとつであり、経験のレベルやシステムの仕様などによって当てはまらない場合もありますので予めご了承下さい。


FileMaker(ファイルメーカー)で新規作成した時、主キーなど勝手に作られるフィールドたちはどうすべき?


作業時間を10分の1に、人生の充足時間を10倍に。
すべては小さな革新から始まる!の、ながにぃです^ ^


FileMakerを新規作成したときに、なぜか勝手に作られるフィールドがありますよね。

 それらのフィールドは一体なんなのか、検証してみたいと思います。

結論から言います


この子たちです。この5つのフィールドたち。


結論から言いますと、「ひとまず放っておいてOK」です。

なにやら「オプション/コメント」のところにゴチャゴチャと文字が見えています。(「索引設定済」とか「計算値自動入力」とかetc...)




「なんだこりゃー!ニューヨーク行きの飛行機に乗ったのに、なぜジャングルにいるんだ!?」




そんな気分になってしまいます。

続いて、




「もはや、こやつらは何をしでかすか分からぬ、斬り捨ててしまえ!」




という物騒な考えが頭をもたげます。

が、ここはぐっとこらえてください、お代官様。



もう一度言います。

ひとまず放っておいてOK」です。

放っておいても特に悪さはしないですし、斬り捨てず生かしておけば後々役に立つこともあります。その辺について次に解説してみたいと思います。

勝手に作られるフィールドのナゾに迫る

上述の5つのフィールドが出てくるのを目にするのは、ファイルを新規作成した時かと思います。(新規テーブル作成のときも出てきます)

「新規」で作成

名前をつけて保存すると・・・

勝手に作られた!?


ということで、この5つのフィールドを順に見ていきたいと思います。


主キー


まず1番上の「主キー」です。一番説明が難しいです(笑)



データベースは通常、お作法として重複しない固有のIDフィールドを用意します。レコード1件1件に持たせます。

例えばマイナンバーが良い例かと思いますが、マイナンバーが重複していたら大変です。世の中にまったく同じ人が2人も3人も存在しては困ります。

その固有のマイナンバーをAI的に自動でレコードに振ってあげましょうというのが「勝手に作られる主キー」になります。



表形式レイアウトで確認してみるのが一番分かりやすいです。レコードを3件ほど作って見て下さい。

表形式で新規レコードを追加してみる。


主キーには何やら長ったらしい英数字が作られているのが見えます。これがレコード同士で重複しない固有の英数字となります。

これは、世界中のコンピュータにおいても重複することはほぼ無いと言われています。(誰が言ったか忘れましたが)


ただ、この「勝手に作られる主キー」は長ったらしく視認性に難があるため、FileMaker初級の方にとっては非常に悩ましいものになっています。

そのため、僕がFileMaker初級の方にお教えする際には、この「勝手に作られる主キー」をひとまず放っておいて、別で新たにキー用のフィールドを作ってもらうことが多いです。

例えば「顧客ID」とか「売上ID」といったもので、普通に連番を振ります。その方がFileMaker初級の方にとって最初はとっつきやすいと確信しています。



作成情報タイムスタンプ/修正情報タイムスタンプ




「作成情報タイムスタンプ」フィールドは、レコードが作成されたときの日時が自動でセットされるフィールドです。これはまあ分かるかな、と思います。


さて、「修正情報タイムスタンプ」です。

これは何かというと、「何かのフィールドが書き換えられた日時」が自動でセットされます。

例えば「備考」というフィールドを作成したとして、次のような場合に自動でセットされます。
  • レコードが作成されたときの日時(上の作成情報タイムスタンプと同じタイミング)
  • 備考フィールドの内容が書き換えられたときの日時(正確にはレコード確定されたときの日時)
  • 備考フィールド以外のフィールドの内容が書き換えられたときの日時(同上)


この2つのフィールドが、後々何の役に立つかと言うと、何かトラブルが発生したときに役に立つ場合があります。
  • このレコードっていつ作ったんだっけ?
  • このレコードって最後にいつ触ったんだっけ?
といったことがおおよそ分かるため、データをバックアップから戻す際にどの段階のバックアップから戻せば良いかのヒントになったりします。

作成者/修正者




「作成者」と「修正者」フィールドについてです。

これらのデータがセットされるタイミングは上述の「作成情報タイムスタンプ」と「修正情報タイムスタンプ」と同じです。



では何がセットされるか、それは「アカウント名」です。

上の画像では「Admin」がセットされています。これは新規作成した際のデフォルトのアカウントが「Admin」だからです。

メニューバーの「ファイル>管理>セキュリティ」を開いてみると、「Admin」が存在しているのが分かります。

デフォルトでAdminが自動で作られる。(パスワードなし)




これらは後々何の役に立つのでしょうか。

もしかしたら社内でFileMakerを使う人が増えて、アカウントごとにログインするようなことになるかもしれません。

例えば「user01」「user02」とアカウント名によってログインするようになったとします。

その時、制作者・管理者はレコードが誰によって作成されたか(修正されたか)を知りたいと思うかもしれません。

それらの情報を使って、さらに良い機能改善や新たな機能のヒントになるかもしれません。



ここまででお気づきの方もいるかもしれませんが、一人で制作し一人で使う分には「作成者」も「修正者」も分かりきっているので不要と判断することもできます。(その場合は斬り捨て御免、でいいかもしれませんね)



ちなみに、なぜフィールド名が「作成アカウント名」や「修正アカウント名」ではないのでしょうか。

それは、分かりません(笑)

きっと何か深い事情があったのでしょう。(あるいは浅い事じょ・・・)


勝手に作られるフィールドには名称があった


これらのような、各レコードを管理する情報を入れるフィールドを「ハウスキーピングフィールド」と言います。

そもそも「ハウスキーピング」とはホテル等の宿泊施設における用語のようです。客室の清掃、整備、管理などをすること、またはその担当者を指すそうです。



FileMakerに置き換えてみると、

 「主キー = 部屋番号」
 「作成/修正情報タイムスタンプ = 客室のチェックイン/アウト時間・清掃時間」

ということが言えるかと思います。


勝手に作られるフィールドには歴史があった


この「5つのフィールドが勝手に作られる」仕様は、遡ること2世代前のFileMaker Pro 17で実装されました。

FileMaker Pro 16以前には、新規作成しても自動で勝手に作られず、カラのテーブルからのスタートでした。

なので必要に応じて、自分でハウスキーピングフィールドをひとつひとつ作っていました。




本当なら、「ハウスキーピングフィールドを自動で作る」的なチェックボックスがあって、それにチェックを入れておけば5つのフィールドを作ってくれる仕様のほうが入門者には優しかったのかもしれません。

(FileMaker初級者やデータベース初級者は斬り捨て御免、、、ではないことを祈りますが今となってはそこが改善されることはないでしょう。)


まとめ

まとめると、FileMakerを新規作成した時に(テーブルを新規作成した時も)、勝手に作られるフィールドはひとまず放置してOKです。

制作経験が1~2年、3~4年と重ねていけば、きっと主キーのことが分かってくる時が来ます。そうなればご自身で判断できるようになることでしょう。



僕自身は、「主キー」というフィールド名を「UUID」に変更することが多いです。
*UUID・・・(Universally Unique Identifierの略)

放置するにせよ、そのまま主キーとして活用するにせよ、UUIDとした方が別で新たに主キーを作った場合に「主キー」としての混同を避けることができます。(見た目の認識として)

まあとにかく、主キーに関してはひと言では語り尽くせぬものがあり、つつき始めると非常に奥が深い沼にはまってしまうのでここでは深く触れないことにします^_^;





ということで、この記事があなたのお役に立てれば幸いです。




    
                    

今日も良い一日を♪





関連記事もどうぞ♪♪

0 件のコメント :

コメントを投稿


各サービスの料金プランをご確認できます