第18話 リレーションシップ

エヌ・ケイ・カスタマイズの泉でございます。
今回は、リレーションシップについて、改めて考えていきましょう。

リレーションシップについては、以前「第6話 レコードの作成(関連レコード)」でも少し触れておりましたが、
今回はより詳しく説明していきたいと思います。
(一部、前回の「第17話 データと構造について」と重複する内容が含まれますが、ご容赦ください)

「リレーションシップ=関連」はテーブルとテーブルの間に「関連付け」(「定義」)をおこなうことです。
関連付けの定義(作成)は[データベースの管理]ダイアログの「リレーションシップ」タブでおこないます。

関連付けはフィールドを使っておこないます。そのフィールドを「照合フィールド」と呼びます。
そして、あるテーブルに関連付けられているテーブルを「関連テーブル」と呼びます。
リレーションシップに基づいて作成されたレコードは「関連レコード」です。
さらにリレーションシップを使ってレイアウトや機能を作成します。

照合フィールドと条件

照合により関連があるかどうか判断するにはフィールドの「索引」が使われます(「第16話 フィールドと索引について」参照)。

照合フィールドは、テキスト、数字、日付、時刻、タイムスタンプのフィールドタイプと、
これらの結果タイプが指定されている計算タイプのフィールド、グローバル格納フィールドが指定できます。
そして以下のルールがあります。

1 つのフィールドには必ず相手先テーブルの1つのフィールドをペアとして指定し照合の条件を指定する

また、複数のフィールドを照合フィールドとして指定することも可能です。そしてルールは同じです。

複数の照合フィールドのペアがテーブル間に指定され、照合の条件もペアごとに指定する

関連レコード

関連テーブルのレコードがリレーションシップの定義による照合の結果、条件に合致して『関連あり』とされれば、
それが「関連レコード」です。つまり、関連テーブルに入力されているすべてのレコードが、必ず関連レコードになるわけではありません。

テーブルオカレンス

[データベースの管理]ダイアログの「リレーションシップ」タブでは、四角い枠が表示されてるはずです。
リレーションシップの設定には、この枠が必要です。
この枠が意味しているのが 「テーブルオカレンス(TO)」 と呼ばれるものです。
(なお、「テーブルオカレンス」は「テーブルの別名」、「仮想テーブル」「TO」など、異なる呼び方をされることがあります。)

FileMakerでは、ファイルにテーブルが作成されると同時に同じ名前のテーブルオカレンスを
必ず1 つつくってリレーションシップグラフに表示します。
そしてテーブルオカレンスは、「仮想のテーブル」で、次の定義が必ずなされているものです。

どの「実体テーブル」の情報を取り扱うのか

(※)「実体テーブル」は実際のテーブルをさします。

テーブルオカレンスと、実体テーブルの関係は
・ 1つのテーブルオカレンス(仮想テーブル)に定義される「実体テーブル」は常に 1つ
・ 1 つの「実体テーブル」につきテーブルオカレンス(仮想テーブル)は用途に応じて複数作成できる

リレーションシップグラフは「テーブルオカレンス」を使ってリレーションシップ(関連)の条件を定義するための編集画面です。

今回は、「リレーションシップ」についてご紹介させて頂きました。また次回もよろしくお願いいたします。

Follow me!