1

このフォーラムで同様の質問を見つけましたが、どれも私の心を解決することができたので、誰かが答えを知っていると思いました.

私はこのデータベースシナリオを持っています:

商品、サプライヤー、注文。これらはテーブルで、orders_merchandises とsuppliers_merchandises の 2 つのテーブルがあります。

これらのテーブルは次のようになります。

merchandises
 -id
 -name

suppliers
 -id
 -name

orders
 -id
 -supplier_id

orders_merchandises
 -order_id
 -merchandise_id

suppliers_merchandises
 -supplier_id
 -merchandise_id

ルールは次のとおりです。

サプライヤーは、供給できる商品のみを供給することができます。そのため、サプライヤーが店舗に供給する商品の各サプライヤーを登録するためのテーブルsuppliers_merchandisesがあります。

したがって、注文は、suppliers_merchandises に「事前に記録された」商品のみを供給するようにサプライヤーを制限する必要があります。

十分に明確に説明できることを願っています。

したがって、次のように、複数のテーブルの外部キーが必要です。

ALTER TABLE suppliers_merchandises
ADD FOREIGN KEY FK_NAME (supplier_id, merchandise_id)
REFERENCES (orders.supplier_id, orders_merchandises.merchandise_id)

しかし、残念ながらそれはうまくいきません。

私がやりたいことをする方法があるかどうか誰でも知っていますか?

任意の dbms に含めることができます。SQLServer、Firebird、またはその他

4

1 に答える 1