我有以下情形的命令:如何設計數據庫,用於跟蹤與設置最大的項目
在訂單跟蹤系統,其中銷售代表跟蹤他們的訂單: 每個訂單可以有共有4種產品類型(可委託的桶),每個桶可以有1個或者沒有該產品類型的產品。
因此,在最大的訂單可以有4個產品(每個可能的類型中的一種)
我需要跟蹤每個四類產品的信息是相同的:產品售出-ID(FK ),status,product-given-id(fk)
將12列添加到訂單表的優點是什麼:3對於每種產品類型(如product-type1-sold-id,product-type1-status) product-type1-given-id .....等等?
這將是最簡單的,但我的問題是,大多數訂單將只有2或3種產品類型銷售,這將導致每個產品類型3個空字段未出售。每天有100個訂單@ 10個訂單,這將導致很多空字段。
我傾向於訂單項目表與訂單id(fk)以減少所有空字段。 這種方法的問題在於,我必須爲我的客戶端代碼處理嵌套數據增加一層複雜度,否則我的服務器代碼在請求時不得不將數據變平,並且能夠解析和保存從客戶端修改發送的平面數據。此外,每100個代表每天10個訂單,每個訂單有1-4個產品類型,這會導致每天將1000-4000行添加到訂單商品表中。有什麼辦法可以克服嗎?
任何意見,將不勝感激。我使用extjs clientside,php serverside,以MySQL作爲我的db。
通常最好有兩個獨立的表格。通過適當的索引,你不應該有任何問題的行數。 – Pitchinnate