我想設計一個具有多個多對多結點表的數據庫,但每個多對多都是基於先前表的級聯選項。DB模式設計 - 設計多個多對多的表
例如:我們從四個表格及其主鍵開始。
樣式表 - >樣式ID(PK)
織物表 - > FabricID(PK)
身體表 - > BodyID(PK)
顏色表 - > ColorID(PK)
用戶選擇一個樣式,然後選擇一個結構,所以這很容易定義多對多。
StyleFabric表 - > StyleID,FabricID(複合PK)
現在,這是我感到困惑。選擇Style和Fabric後的用戶現在可以選擇Body。所以,我創建了一個名爲表:
StyleFabricBody表 - > StyleID,FabricID,BodyID(複合PK)
現在根據款式,面料和身體,用戶可以選擇一種顏色
StyleFabricBodyColor表 - > StyleID,FabricID,BodyID,ColorID(複合PK)
希望你可以看到圖案現在我有5個表格要添加。
這是連接主表的正確方法嗎?
你可以有一個表 - 項目(或產品或任何你想要調用用戶選擇的項目),用UserID和所有9個代表風格,結構,主體,顏色等的ID。順便說一下,這並不是多對多的關係。 – Anand
沒關係,刪除我的舊評論,我錯過了關於級聯選擇的一點......所以爲了澄清,您的意思是如果用戶選擇了樣式X,那麼它們僅限於面料Y,Z,A,並且如果他們然後選擇織物Y,它們僅限於B,C或D等。 – mallan1121
@ mallan1121是的,那正是我的意思。 – user6776148