みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくお願いします。
テーブルの持ち方について教えてください。
商品マスターテーブルに情報を追加することになりました。
具体的な内容は、品番文字列の条件に応じて印刷のレイアウトや印字内容を変更するもので、計算式フィールドが10〜15個ぐらい増える予定です。
商品マスターを閲覧・編集する際は、今回追加する計算式フィールドを表示する必要がないので、その都度計算式を実行して読み込むことを避けるためにテーブルを分けて作った方がよいかな?と考えていますが間違っているでしょうか?
【商品マスターテーブル】のフィールド
[商品ID]・・・照合用
[商品名]
[商品品番_1]
[商品品番_2]
[編集日]
新しく作ろうと思っている【表示条件テーブル】のフィールド
[商品ID]・・・照合用
[計算フィールド_1]・・・[商品品番_1]の文字列から計算
[計算フィールド_2]・・・[商品品番_2]の文字列から計算
[計算フィールド_3]........
商品マスターテーブルと表示条件テーブルを[商品ID]でリレーションをして、1対1の関係になります。
もしテーブルを分けるという考え方が間違っていなければ、次に教えていただきたいことは
商品マスターテーブルに商品を追加登録した場合、表示条件テーブルにも自動で[商品ID]が追加登録される必要がありますが、その方法がわかりません。
追加登録が1件の時もあれば、2〜300件の時もあり、その都度手動で[商品ID]を表示条件テーブルに登録していく方法では忘れてしまいそうで不安です。
良い方法があれば教えてください。
よろしくお願いします。
Mac OS X 10.11.5
FileMaker pro14 Advanced
どちらかと言うと、別テーブルは間違いでしょう。
その表示条件テーブルの内容は、商品毎に1意ですので、同じ管理を行うべきだと思います。
また、べつてーぶるの計算フィールドにする事によr、そのフィールドにはインデックスが作られません。そのため、それを参照したり、増してその中で抽出を行なうのか、再計算をした上での作業になりますので、重い処理になります。
Offline
Shin様ありがとうございます。
詳しい解説をありがとうございます。
計算フィールドの再計算のタイミングなども理解できていなかったので、勉強になりました。
ありがとうございます。
商品マスターテーブルに計算フィールドも設定しようと思います。
どのような場合にはテーブルを分けた方がよいか、いまいち理解できません。
ヘルプの「単一条件リレーションシップについて」のページでは、顧客テーブルと連絡先テーブルと分けているようで、この場合はなぜ顧客テーブルに電話番号やメールアドレスを一緒に設定しないのですか?
重ねての質問で恐縮ですが、よろしければ引き続きご指導いただけますようお願い致します。
考え方次第でしょうね
連絡先は、複数設定する事も有りますので、この時には別テーブルで管理するべきですし、頻繁に変更される方も有ります。
Offline
Shin様ありがとうございます。
複数フィールドを設定したり、頻繁に値が更新される場合は別テーブルに持った方がよいのですね。
そのポイントを頭に入れてテーブルの構成を考えてみます。
ありがとうございました。
理論的には、正規化と言います。
http://www.mirai.ne.jp/~suehiro/am/kiho … normal.htm
に、割とわかり易く書いてあるので、一読をお勧めします。
あくまで理論ですので、現実の運用に対して厳密に守らなくてもいいですし、インデックスとの関連であえて違う組み方をする事もあります。その辺りは経験値です。
Offline
Shin様ありがとうございます。
わかりやすそうなサイトのご紹介もありがとうございます。
今から拝見してみます。
まだまだ初心者で理解力が乏しいので「?」だらけなのですが、今回相談にのっていただいて本当に良かったです。
不安だったことが1つスッキリしました。
わからないまま暴走するクセがあるので、ファイルメーカーに関しては不安をそのままにせず、ちゃんと学習していけたらと思っています。
ヘルプや学習書が理解できずにつまづいた時はまた相談させてください。
よろしくお願いします。
ありがとうございました。
Pages: 1
[ Generated in 0.013 seconds, 9 queries executed - Memory usage: 516.97 KiB (Peak: 521.88 KiB) ]