2011-07-29 30 views
1

父親應該知道孩子還是vica?父親應該知道孩子還是vica?

也就是說,在一個情況下,我有兩種對象(項目和類別),每個人都有自己的特點和領域,我們有他們之間的關係,每一個項目都有一個類別他在不在。

我想問兩種方式,理論上和php + mysql中會發生什麼。

這些類別應該知道其中的所有項目,還是應該知道每個項目的類別?

在php + mysql中,確切的問題是我應該爲它的行中的每個項目保存它的類別的id,還是應該爲這個關係創建一個特殊的表(每行包含一個類別id和一個項目id)?

回答

3

最好的做法是讓孩子知道父母(例如:parent_id)。替代方案不可擴展,對您的系統非常重要。您可以輕鬆地運行查詢來查找孩子,但 - SELECT * FROM items WHERE item_category = x。原因是當您添加或刪除項目時,該類別不受影響。它不會成爲一個不同的類別,因爲您將項目分配給它或從中移除項目,所以它不應該在乎哪種項目分配給它。

這與標記設置不同。在一對多的類別分配方法中,項目可能屬於一個「類別」,但可能有許多「功能」。標記功能是多對多的關係,需要您提到的映射表。分配父類別只需要項目表中的一個「父」字段。

相關問題