私は、食品の加工からのデータを管理するための mysql ベースのシステムに取り組んでいます。この時点で、次の特定の問題に遭遇しました。
いくつかの項目を含むテーブル A があります。
Farmer Quantity
Farmer A 1000 kg
Farmer B 500 kg
次に、テーブル A からのデータの m:n 集計であるテーブル B があります。
Batch Quantity Quality etc.
LI1 200 kg ....
LI2 12000 kg ....
m:n 関係を表すために、2 つを接続するテーブル AB があります。
FK_Farmer FK_Batch
FarmerA LI1
FarmerB LI1
FarmerA LI2
ここで問題: テーブル B のバッチのいくつかは、実際には他のバッチで構成されています...つまり、それらは再帰的に構成されています。この状況を実装するためのデータベース設計の観点から、何が最善のアプローチであるかを知りたいと思っています。
batches テーブルを参照する追加の外部キーをテーブル AB に含める必要がありますか? 外部キーを強制して、同じ列を介してファーマーとバッチ テーブルの両方を参照する必要はありません (そして、再帰などを示すフラグを追加します)。私が見落とした他の明らかな解決策はありますか?
直接 MySQL を介してすべてのデータに対してドリルダウン クエリを実行できると便利ですが、必ずしも必要というわけではありません。