可能な値の範囲が (同じテーブル内の) 別の列の値に依存する列を持つテーブルを含む小さなデータベースを設計しています。
表 A
field_a (fk)
field_b (fk)
field_b が想定できる値の範囲は、field_b に含まれる値に依存します。
私の解決策は、テーブル A で field_a と field_b を組み合わせて、次の中間テーブルを作成することでした。
表 A
field_ab (テーブル B 行への fk)
表 B
field_a (fk)
field_b (fk)
このように、テーブル A の field_ab の fk は、field_a と field_b の有効な組み合わせのみを指すことができます (テーブル B が正しく設定されていると仮定します)。
これは、特に field_a または field_b に対するクエリの場合、非常に扱いにくいように思われるため、根本的に間違ったことを行っていることはわかっています。
誰かが私の問題に対する正しいアプローチを提案してもらえますか?