それぞれのテーブルの意味を簡単に説明しておきます。
T_料理、T_材料 はマスターテーブルと言われるもので、一度入力しためったに変更することのない固定的なデータになります。
T_献立 はトランザクションテーブルと呼ばれるもので、日々入力していってデータとして蓄積していくものになります。
T_献立 と T_献立_料理 の2つのテーブルは、「一対多の関係」といいます。
献立の1レコードに対して、複数の料理があるからです。
例えば、「12月17日の夕食の献立」に対して「カレーライス、サラダ」と2つの料理がある、という関係です。
T_献立が一側、T_献立_料理が多側になります。
T_料理 と T_材料 は「多対多の関係」になります。
例えば、カレーライスは、じゃがいも、人参、玉ねぎ、牛肉、カレールー の複数の材量が必要です。
逆に、じゃがいもは、カレーライスや肉じゃが、ポテトサラダ・・・などに使われます。
このような関係が「多対多」になります。
リレーショナルデータベースでは多対多の関係を実現することはできないので、2つのテーブルの間に入る中間テーブルというのを作成して、2つの「一対多の関係」に分解します。
T_T_料理_材料 というのが中間テーブルになります。
T_料理(一)---(多)T_T_料理_材料
T_材料(一)---(多)T_T_料理_材料
これらのテーブルにリレーションシップを設定すると、下図のようになります。
通報 ...