FileMakerでのテーブル名やフィールド名の制限
FileMaker(ファイルメーカー)のデフォルト上では、下記のように入力できない文字などがあります。
・記号類
・関数や計算式で使われている単語
・先頭にスペース、ピリオド、数字を使用しない
上記のような制限がありますが、実際には警告ダイアログが出るだけで、使用はできます。だからと言って使用していると後々苦労することになるかもしれません。まず、計算式で問題が起きます。${}という記号で囲むとエスケープ処理といって、使用することができますが、計算式が見づらくなりますし、いちいち処理しなければならないので、面倒です。
使えない記号の代替
多くの記号がテーブル名やフィールド名に使用することができません。その代りに「_」(アンダーバー)使用します。「_」はFileMaker以外の開発環境でも使用できることが多く、FileMakerと他のテクノロジーとの連携が必要になったときでも、そのまま使用できることが多いので、アンダーバーを使用しましょう。
テーブル名やフィールド名をわかりやすくする
テーブル名やフィールド名はそのテーブルやフィールドが何のためのものなのかをわかりやすくする必要があります。また、パッと見たときに見やすいようにする工夫が必要です。例えばフィールド名に「会社TEL」と「個人TEL」という項目が必要の場合に「会社_TEL」といったように途中をアンダーバーで区切ると見やすくなります。
ExecuteSQLという便利関数を使うことを想定
FileMaker12から登場したこの関数では、FileMaker上でSQLを実行します。SQLとはデータベース言語で、データベースを操る標準的な言語です。この言語をFileMaker上で使用し、リレーションされていない先のデータなどを参照することができるようになりました。しかし、この関数内では、SQLのルールも適用され、FileMakerのネーミングよりさらに制限があります。制限されたものを使うこともできますが、その部分を「\”」で囲む必要があり、面倒です。
できるだけテーブル名やフィールド名にはアルファベットを使おう
ExecuteSQL関数では、日本語も「\”」でエスケープしなければなりません。よって、できる限りテーブル名やフィールド名はアルファベットを使うことをおススメします。私は、アルファベットといっても英語である必要はないと思っています。例えば、売上マスターであれば「uriage_master」でいいと思います。これによってメンテナンス性が悪くなっても仕方がないので、ローマ字でかまわないと思います。
また、SQLの予約語は非常に多く、一般的な英単語も多く含まれていますので、FileMaker上では警告されませんが、関数ではエスケープ処理をしなければなりませんので、気を付けましょう。