みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
リレーショナル演算子について教えてください。SQLでいうところの、
= 照合フィールドの値が等しい。これはinner joinでしょうか?
≠ 照合フィールドの値が等しくない。これは何でしょう?
< 左側の照合フィールドの値が右側の照合フィールドの値よりも小さい。これは何でしょう?
≤ 左側の照合フィールドの値が右側の照合フィールドの値よりも小さいか等しい。これは何でしょう?
> 左側の照合フィールドの値が右側の照合フィールドの値よりも大きい。これは何でしょう?
≥ 左側の照合フィールドの値が右側の照合フィールドの値よりも大きいか等しい。これは何でしょう?
x 照合フィールドの値に関係なく、左側のテーブルのすべてのレコードを右側のテーブルのすべてのレコードに一致させる。これはleft outer join、またはright outer joinでしょうか?
自己連結リレーションというものがあります。これはSQLでいうところの自己結合になるんでしょうか?
各記号がSQLでいうところの何にあたるのかわからなかった為質問させて頂きました。
宜しくお願いします。
Offline
SQLベースで考えると、JOINの種別やWHERE句での絞込などが抽象化されてしまい、
またSQLでいう表の結合とは異なる概念のため、むしろ理解しにくいかも知れません。
= 照合フィールドの値が等しい。これはinner joinでしょうか?
はい、SQLでのINNER JOIN同様、参照側に一致したレコードのみが関連します。
あくまで結合ではなく関連です。
≠ 照合フィールドの値が等しくない。これは何でしょう?
< 左側の照合フィールドの値が右側の照合フィールドの値よりも小さい。これは何でしょう?
≤ 左側の照合フィールドの値が右側の照合フィールドの値よりも小さいか等しい。これは何でしょう?
> 左側の照合フィールドの値が右側の照合フィールドの値よりも大きい。これは何でしょう?
≥ 左側の照合フィールドの値が右側の照合フィールドの値よりも大きいか等しい。これは何でしょう?
これらはSQLで非等価結合と言われるものが最も近く、その名の通り不等号等で関連が決定します。
SQLでは非等価結合は遅いためそう使われるものではありませんが、
FileMakerでは等価結合同様の速度で参照できるため多用します。
x 照合フィールドの値に関係なく、左側のテーブルのすべてのレコードを右側のテーブルのすべてのレコードに一致させる。これはleft outer join、またはright outer joinでしょうか?
SQLで最も近いのはOUTER JOINですが、結合ではありません。
参照側の全てのレコードから非参照側の全てのレコードが関連する、という状態です。
自己連結リレーションというものがあります。これはSQLでいうところの自己結合になるんでしょうか?
これも、結合を、関連というFileMaker固有の概念で置き換えれば、自己結合が最も近いです。
-
FileMakerのリレーションシップはSQLのような問い合わせではなく、
TOGと呼ばれるFileMakerでのモデリングの基盤であり、アプリケーション側にコンテキストを提供します。
リソースとして定義され、双方向で、結合というより参照可能性を決定します。
またSQLで非効率とされる非等価結合なども多用して、レコード同士の関連性をデザインします。
FileMakerのモデリングは、SQLが持つ創発的な柔軟性は持ち合わせませんが、
照合のグラフによる定義としてのデータ構造は、理解してしまえば非常に手早く扱えます。
Offline
とてもわかりやすい解説ありがとうございます!理解が深まりました。ありがとうございます。
Offline
Pages: 1
[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 553.91 KiB (Peak: 582.17 KiB) ]