Posted at

【FileMaker】リレーションの使い分け

More than 3 years have passed since last update.

リレーション。

それはまさにリレーショナルDBに慣れた世界からすると異世界に感じるFMの「リレーション」。

最初一文読んだときは

「えー、よくわかんなーい」

ですっ飛ばして色々やっていたら、実は大事なリレーションであることがわかった。。。

これ↓、ダメです。

つまり、FileMaker以外のリレーショナルDBでは、最初に主キーと外部キーを決めておき、リレーションしておくことがDB屋さんのお仕事になります。

アプリケーション開発者はその設計されたDBを使って画面を作ったりプログラムを組んだりするわけです。

FileMakerは違います。

もちろん、主キーや外部キーは決めますが、

画面ごとにそこで使うリレーションを設計する

ことになります。

システムで使うリレーションを一つのリレーション図(「オカレンス」といいます)で設計してしまうと、負荷分散ができず、スピードに遅延が発生すると言われています。

なので、リレーションではそれぞれの画面のテーブルを配置して設計していきます。


一覧画面と明細画面を設計する

例えば一覧画面を作る場合です。

一覧画面用のテーブルをリレーションに配置します。

その際、どの画面で利用するのかがわかるように名前を変更(追加)しておくと開発が楽になります。

一覧で使うリレーション、一覧からクリックして詳細を表示する画面のリレーション、というように別々に追加して配置していきます。

この辺の感覚は、最初慣れないですよねー^^;;;


明細も同じページに表示する

そのほか、画面を分けずにページに明細も含める場合というのだと一覧+明細のリレーションになりますが、「このページだけ」の利用ですよ。



大事だからもう一回言っておきますよ。

このページだけ


画面の作り方

ついでなので、このリレーションを使った各画面の作りを見ていきましょう。

画面の作り方は色々あるかと思いますが、そのうちの一つの方法です。

全てこの方法で作るということではなく、要件に応じて様々な作り方があります


一覧と明細画面の作り

では、一覧と明細画面を分けた場合の作り方です。

リレーションを張った関係は、親と子のような感じになるので、親を追加したら子も追加できるようにしておきます。

明細画面に移動する際、特定の明細を検索して表示します。

画面からスクリプトを実行するのは、こんな感じでしょうか。

データを入力すると、明細の詳細ボタンでその詳細に遷移できます。

飛べたよ。


同一ページの作り

親子一緒に表示する場合は、左に親のデータ、右に子である明細を表示するようにポータルツールで設計します。(明細のタイトル表示などは省略)


〆るよ

では、〆です。