はじめに
連載3回目となる本稿は、「FileMaker Proでデータベースを作成する際に必要不可欠な基本的知識とデータを使いやすくするための入出力画面の作成」について紹介します。
FileMaker Proによるデータベース作成の基本的なポイント
FileMaker Proでのデータベース作成は、目的や用途に応じてテーブルを作成し、必要となるフィールドを定義するところから始まります。そして、データの入力や表示のための「レイアウト」を作るのが基本的な流れです。
FileMaker Proのテーブルとは、目的や用途に応じて分類/管理するための器です。フィールドを定義し、そのフィールドに対してデータを入力することによってデータベースとして機能します。他のリレーショナルデータベースでのテーブルやフィールドと基本的には同じものと考えてください。
FileMaker Proで新規のデータベースを作成すると、データベースに付けた名前と同じ名前のテーブルが自動的に作成されます。テーブルは利用目的に応じて、いくつでも作成することができますし、最初に自動的に作成されたテーブル名も自由に変更することができます。
「データベースの管理」ダイアログの「テーブル」タブでは、テーブルを作成したり、テーブルの一覧を表示します。
「データベースの管理」ダイアログの「フィールド」タブでは、フィールドを作成したり、フィールドの一覧を表示します。
フィールドを定義するには、対象となるテーブルを選択し、フィールド名を入力、必要に応じてオプションを設定することによって行っていきます。
リレーションシップを設定すればさまざまな用途に適した処理が可能
単純なデータベースであれば、テーブルとそれに含まれるフィールドの定義が終了した段階ですぐに使い始めることができます。一方、データ構造が複雑になるような場合に目的に応じた柔軟性の高い処理を行うには、リレーションシップの設定を行う必要があります。
リレーションシップの設定は、リレーションシップグラフを利用して行います。リレーションシップグラフとは、しいて言うならばデータベースの設計図です。リレーションシップグラフには目的に応じて利用する「テーブルオカレンス」と呼ばれる仮想的なテーブルがあり、リレーションシップの設定や計算、レイアウト作成などの作業は、このテーブルオカレンスに対して進めていくことになります(FileMaker Proの日本語版では、テーブルオカレンスも「テーブル」と呼んでいるため、異なる2つのものに同じ名前が付けられています。英語版はTableとTable Occurrence(TO)と名称を使い分けているため、本稿ではその命名規則に従うことにします)。
さて、ここで注意してもらいたいのがテーブルとテーブルオカレンスの関係です。FileMaker Proでデータベースを作成する場合、テーブルとテーブルオカレンスの違いについて正しく理解しておくことが重要です。テーブルが作成されると、テーブルオカレンスも自動的に作成されます。自動的に作成されたテーブルオカレンスの名前はテーブル名と同じものが付けられているため、テーブル=テーブルオカレンスと勘違いしてしまいがちですが、明確に違うものであると理解してください。
テーブルとテーブルオカレンスの違いについて簡単に触れておきましょう。
テーブルとは、フィールドやそれに関連するオプション設定内容が納められた、実際にデータが保存される器であり、利用目的や用途によって内容を切り分け複数のテーブルを作成することによってさまざまな処理やシステムとして利用することが可能となります。
テーブルはあくまでもデータの器であるため、テーブルに対して直接レイアウトや計算式、スクリプト、そしてリレーションシップを設定することはできません。
そこで登場するのがテーブルオカレンスです。テーブルオカレンスとは、リレーションシップグラフ上にテーブルを仮想化して表示したものです。レイアウト、計算式、スクリプト、リレーションシップなどの設定は、テーブルに対して直接行うのではなく、このテーブルオカレンスに対して行います。
テーブルオカレンスは、一つのテーブルに対していくつでも作成することができますし、名前も処理内容が理解しやすいものに変更することができます。
例えば、図4では、「社員」のテーブルを基に次のような複数のテーブルオカレンスを作っています。
- プロジェクト管理で利用するための「プロジェクト管理_社員」
- 経費管理の処理の中で値一覧の選択肢として利用するための「経費管理_社員_値一覧用」
- 経費管理の処理の中で社員の名前を表示するために利用する「経費管理_社員_表示用」
以上のように、処理目的に応じて1つのテーブルから複数のテーブルオカレンスを作成し、それぞれ利用目的を明確にするために名前を付けることができます。