2015-12-04 88 views
0

這裏是我的情況: 我有這3個表:phpMyAdmin的外鍵的問題

材料(commercial_name,家庭組成)(commercial_name被PK) 化工(commercial_name,CAS)(commercial_name是PK) Compatibility_test(化學,材料,結果)(化學和材料是外鍵,是指上表中的PK)。

我有這些材料 M1,M2,M3 我有這些化學品 C1,C2,C3 現在,如果我想instert C3的上M2測試或與任何其他組合沒有問題元素。但是,如果我用例如M2的新C4化學品進行測試,那是不允許的,因爲C4不在化學品表中。 問題是: 是否有插入測試的方法,如果測試的元素不在Materials and Chemicals表中,他們將被添加,否則對這些表進行非更改?

謝謝您提前

回答

0

通過刪除這些表之間的關係的唯一方法。而且,像這些「邏輯上」的情況一樣,你不需要這些關係。 與彼此鏈接到表的關係,當您刪除1行時,您可能會刪除相關行,或者如果存在相關行等,您將被禁止刪除。但在你情況下,你並不需要這個。

+0

不會。通過您對該術語的使用,您明確提到了「關係」而不是「關係」。 '關係'是一個概念,而不是模式中的一種表現形式(它在查詢和視圖中表現爲連接)。此外,E.F.Codds定義中的術語'關係'在這裏被稱爲表格。它是需要從模式中刪除的外鍵約束。 – symcbean