FileMaker アンカーブイ「リレーションシップ」 中級編(5章)

FileMaker公式テキスト中級編!!!

中級編では、
中級開発者として複数の利用者を想定してシンプルなカスタムAppを作成する
といった内容になります。

全16章です。
前回は、1章〜4章『システムの企画・設計』について学びました。
👉FileMaker 中級編(1〜4章

今回は、5章〜『リレーションシップ』についての知識を学びます。

リレーションシップ(関連) (5章)

テーブルオカレンスを作成しリレーションを繋げデータを関連づけていきます。
まずは基本の確認です!

テーブルオカレンス(TO) 

1つのTO に定義される基本のテーブルは常に1 つです。
逆に、1 つの基本テーブルに対して用途に応じて複数(いくつでも)TO を作成可能です。

テーブルオカレンスグループ(TOG) 

テーブルオカレンスグループ (TOG) >>> 関連付けが定義された複数のTOの集まりです。TOG はリレーションシップグラフ上にいくつでも作成可能です。

[リレーションシップの編集]ダイアログ 

[リレーションシップの編集]ダイアログ

●演算子
7種類が用意されています。
・ =(同一)
・ ≠(違う)
・ <(未満)
・ ≦(以下)
・ >(超過)
・ ≧(以上)
・ ×(すべて)

●[このリレーションシップを使用して、このテーブルでのレコードの作成を許可]
テーブルの照合フィールド(外部キーなど)にデータが入力されたとき、その参照先テーブルにそのデータに基づいた新しい関連レコードが作成されます 。

●[他のテーブルでレコードが削除された時、このテーブルの関連レコードの削除を許可]
テーブルのレコードが削除されたとき、その参照先のテーブルの関連レコードも削除されます。
※ 特に取り扱い注意のオプションです。削除を実行するレイアウトに関連レコードが表示されていなくても削除されます。 

●[レコードのソート]
関連レコードをソートする順を設定します。設定しなければレコードの作成順になります。 

関連定義のルール 

関連を定義する場合に、気をつけることがあります。 

  • TO 名はユニークでなければならない
  • ループできない 
    常にTOGは左から右。
    他の流れを作りたい場合は、新たにTOGを作る。
  • 自分同士を関連付けできる(自己リレーショ ンシップ) 
    今後の演習で説明。。。

ER 図とリレーションシップグラフの違い

●ER図 テーブル間の関係を表現する図。

●リレーションシップグラフ 一番左にあるTO上のレイアウトを起点に、どういうデータを表示できるかという関連を表すもの。

設計からカスタムAppへ

カスタムAppでTOGは1つとは限りません。TOGについてもう少し詳しく解説していきます。

テーブルオカレンスグループ(TOG)のわけ方

●カスタムApp のメニューを目安にする

わかりやすい目安として「メニュー」を考えます。ユーザがカスタムApp を使用するとき、はじめに表示されるメニュー画面にどのようなボタンがあるべきか、です。 

 「見積作成管理システム」

・ 見積管理 

の他にも、要件定義を見ていくと。。。
・ 顧客情報管理
・ 商品情報管理
・ 自社情報管理 

他にもありそうです。システムの管理です。 
・ ログインのためのアカウント管理 

まとめて5 つのメニュー= TOG が必要であると考えられます。

5 つのメニューごとに別々のTOG を作成すると、作業時にメニューごとにレイアウトや機能を考えられるようになり、とても分かりやすいです。

  • このレイアウトはどの TOG(メニュー)の TOのものか
  • この機能はどの TOG(メニュー)について動作するものか 

がわかりやすくなります。

アンカー/ ブイ方式

FileMakerではTOGが見やすいように、「アンカー/ ブイ」 という方法でTOGを表現します。
※コンテキストがわかりやすいようにTO を配置します。

・ 中心、あるいは基本となる TOを一番左に置く(アンカー=錨)
・ 関連するテーブルを右に広げていく(ブイ=浮標
) 

TO の命名ルール 

・ ユニークであること
・ TOG(コンテキスト)が推測しやすいこと
・ どの実体テーブルのTOなのか推測しやすいこと 

上記を基準に、他の人が見ても分かりやすいように命名していきます。
TOG名_ソールテーブル名_説明


・アンカーのTO 見積画面_J見積
・ブイのTO 見積画面_J明細
・ブイのTO 見積画面_M商品_明細商品

多対多とデータ 

多対多を解消するために中間テーブルを置いた場合、コンテキストのポータルに設定するTOをどこにするかによって、ポータル上のフィールドに表示されるデータが変わってきます。

●設計とデータの表示 

「どのTO からデータを表示するのか」がとても重要です。

次のことが重要です。

  • 正規化したエンティティを実体テーブルにする
  • 実体テーブルに、主ーと外部キーなど、照合フィールドとなる項目を作成する
  • 関連を定義するのは実体テーブルではなく仮想テーブルの TO
  • リレーションシップグラフで関連を定義する(設計を元にする)
  • カスタム Appのメニューなどに応じて TOGを分ける
  • 定義した関連の論理に従ってデータを表示するには、適切な TO、つまりコンテキストが 設定されたレイアウトやレイアウトオブジェクトなどで指定する必要がある 

関連とデータ 

下記、関連の設定について説明していきます。

●照合条件
あるテーブルのフィールドのデータを、他のテーブルのフィールドのデータと「照合」したとき「共通の値(=)」だったら関連がある 。⇨リレーションが成立!!!

照合条件は、リレーションシップグラフ上の関連の定義で『関連があるかないか』をFileMaker Pro が判断するために指定するものです。

・ 照合フィールド
・ 照合の演算子

の2つを指定します。
※これらを変更すると関連レコードが変わります。

●照合フィールド 

照合に使われるフィールドが「照合フィールド」です。
[リレーションシップ編集]ダイアログで 設定します。

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

※ 2 つ以上のフィールドのデータを計算式などで結合したフィールドを照合フィールドとして指定することも可能です。「複合キー」などと呼ばれます。 

照合しているのは索引
照合には、照合フィールドの索引情報が使われます。
テキスト、数字、 日付、時刻、タイムスタンプのフィールドタイプと、これらの結果タイプが設定されている計算タイプフィールド、グローバル格納フィールドも照合フィールドとして指定可能です。 
(詳細は7章)

●関連によるレコード作成 
関連のオプションを設定すると、関連テーブルに関連レコードを作成可能です。
このようなレコード作成には、以下が必要になります。 

・ リレーションシップグラフで関連の定義とオプション設定をする
・ レイアウトに上記の設定先の TOのポータルを置く 

レイアウトの作成
(少しややこしいですが、とても大事です!間違えると思った表示になりません😢)
↓↓↓

・ レイアウトに指定する TO  → 主キー側/参照元
・ ポータルに指定する TO   → 外部キー側/参照先 

これで、ポータル内(参照先)のフィールドに値を入力すると
自動で外部キーに参照元の主キー番号が入る。

↓↓↓つまり。。。

参照元のレイアウトから関連テーブルに関連レコードを作成した!ということになります。
関連テーブルに1レコード増えているはずです。


以上で5章は終わりです。

次回は6章「データとフィールド」について学習していきます😄

コメント

タイトルとURLをコピーしました