我有一個order
表,該表中的每個訂單屬於device
或part
(這兩個在字段中沒有特定的交集)。
所以我需要將did
或pid
作爲FK存儲在order
表中。外鍵從SQL中的一列中的兩個表中刪除
"device"
+----+....
| id |<---------+
+----+.... :
: : : : . :
:
:
"part" :
+----+.... :
| id |<-------+ :
+----+.... : :
: : : : . : :
: :
: :
"order" @ @
+-----+-------+....
| id | for |....
+-----+-------+....
: : : : : : : : .
現在我該怎麼做?
- 一個
type
字段添加到order
表並存儲於 一列兩個pid
或did
(例如for
) - 與
type
,pid
,did
列 - 創建的中間視圖中創建一個更高的水平表(例如,
goods
)並使其PK爲order
,part
,device
哪一個是最好的方法?或者其他一些方法?
http://stackoverflow.com/questions/2895147/database-design-or-relation/2897732#2897732 http://stackoverflow.com/questions/4050784/defining-multiple-foreign-keys-in-one - 表到多桌/ 4051523#4051523 –