備忘録29〜FileMaker リレーションシップとER図は似て非なるもの

さて、マスターブックで次の章にいきました・・・

販売管理を作る時にリレーションマップグラフを見ていたので、リレーション自体はなんとなく理解をしていました。

書いている中身は似ているんだけど違う・・・・?

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

マスターブックによると・・・ER 図のエンティティとリレーションシップグラフのテーブルオカレンス は違うものです。

うん、1行で違うと言われた。

ER 図は1 つの図に1 つのエンティティを1 回のみ描きます。

テーブル間の関係を表現する図だからです。

一方、リレーションシップグラフでは、実体テーブルが持ついくつかの「コンテキスト」に 従って関連を定義します。

そのため、1 つの実体テーブルから複数のTO(仮想テーブル)を作成して登場させることができます。ここが大きく違います。 

またもや、ムズカシイことをさらっと書いています。

エンティティは実体のあるテーブルだから、1回か・・・

テーブルオカレンスは仮想テーブルの認識で「コンテキスト」に関連を定義?

関連を定義を見直す・・・

データベースの構造を決めることを「定義」と呼びます。

・ 企画と要件定義の内容

そして、設計され、ER 図などで表された

・ エンティティ

・ エンティティに含まれる項目

・ エンティティのリレーションシップ(関連)

を元に、必要な

・ テーブル

・ フィールド

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

を定義します

ER図までできていると、仮定すると、次はテーブル/フィールド/リレーションシップの定義作成か・・・

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

・ TO は、ファイルに実際に作成されているテーブル(実体テーブル)の仮想テーブルです。

実体テーブル:ファイルに実際に作成されているテーブル

ER図通り、テーブルを作成すると、それが実体テーブルとなる。各項目をテーブル内に作成すると・・・

この図のようになるとある、やってみると確かに1つづつ作成されました。

ここに出てくるのが、仮想テーブルとなるということらしい。

仮想テーブル:実体テーブルを仮想的に表現したものです。 

FileMaker Pro は、ファイルにテーブルを作成すると同じ名前のTO を1 つ作成しリレーションシップグラフ上に表示します。

TO とは「仮想のテーブル」です。「どの実体テーブルの情報を取り扱うのか」という定 義が必ずなされています。 

実体テーブルがないとTOも出ないということと、複数TOを出せると書いてある。

リレーションに使う演算子

演算子 関連条件の演算子は「=」だけではありません7 種類が用意されています。

  • =(同一)
  • ≠(違う)
  • <(未満)
  • ≦(以下)
  • >(超過)
  • ≧(以上)
  • ×(すべて) 

「=」は、主キー・外部キーなどで使うことが多い

「≠」は、項目で印刷済みとか販売終了とかになっていないものを出したい時に使ったりする。

「<」「≦」「>」「≧」は、組み合わせて、期間内のテーブル内容の表示とか、金額で表示を変えたりとかできるかな

「×(すべて)」は、共通して出したい時とかに使うのかな・・・

オプション?

[このリレーションシップを使用して、このテーブルでのレコードの作成を許可]

テーブルの照合フィールドにデータが入力されたとき、その参照先テーブルにそのデータに基づいた 新しい関連レコードが作成されます 。

ポータルレコード表示とかで使う方式・・・

[他のテーブルでレコードが削除された時、このテーブルの関連レコードの削除を許可]

テーブルのレコードが削除されたとき、その参照先のテーブルの関連レコードも削除されます。

※ 特に取り扱い注意のオプションです。削除を実行するレイアウトに関連レコードが表示されていなく ても削除されます。

表示中の画面で、これをオンにしているとポータルとか表示していないけど関連付けしていたレコードが全て

消えてしまうと・・・恐ろしい。消えた方がいいデータはありなのかも

[レコードのソート]

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

このオプションを利用して、リレーションを作ると便利なようです。

ER図からテーブルとフィールド登録

今のところ、社内や外部の依頼での制作ではないので、ER図を書いてテーブル化してみてということを繰り返しています。

基幹システムや外部のデータによっては、分けることができない場合もあると想定してみたり、

そんな外部のシステムはない前提で、分けて考えてみたりと、仮説と検証を踏まえ練習中です。

表示する画面に必要な仮想テーブルと関連を定義したり、印刷に必要な分とか計算上必要な関連定義とかも合わせてやっています。

まだ、まとめ途中ですが、実体レコードの作成〜TOに必要な関連定義までを何度もやっている最中です。

先生に教えてもらった動画を見つつ、もう少し先まで理解を深めたいと思います・・・

スポンサーリンク