父亲应该知道孩子还是vica?父亲应该知道孩子还是vica?
也就是说,在一个情况下,我有两种对象(项目和类别),每个人都有自己的特点和领域,我们有他们之间的关系,每一个项目都有一个类别他在不在。
我想问两种方式,理论上和php + mysql中会发生什么。
这些类别应该知道其中的所有项目,还是应该知道每个项目的类别?
在php + mysql中,确切的问题是我应该为它的行中的每个项目保存它的类别的id,还是应该为这个关系创建一个特殊的表(每行包含一个类别id和一个项目id)?
父亲应该知道孩子还是vica?父亲应该知道孩子还是vica?
也就是说,在一个情况下,我有两种对象(项目和类别),每个人都有自己的特点和领域,我们有他们之间的关系,每一个项目都有一个类别他在不在。
我想问两种方式,理论上和php + mysql中会发生什么。
这些类别应该知道其中的所有项目,还是应该知道每个项目的类别?
在php + mysql中,确切的问题是我应该为它的行中的每个项目保存它的类别的id,还是应该为这个关系创建一个特殊的表(每行包含一个类别id和一个项目id)?
最好的做法是让孩子知道父母(例如:parent_id
)。替代方案不可扩展,对您的系统非常重要。您可以轻松地运行查询来查找孩子,但 - SELECT * FROM items WHERE item_category = x
。原因是当您添加或删除项目时,该类别不受影响。它不会成为一个不同的类别,因为您将项目分配给它或从中移除项目,所以它不应该在乎哪种项目分配给它。
这与标记设置不同。在一对多的类别分配方法中,项目可能属于一个“类别”,但可能有许多“功能”。标记功能是多对多的关系,需要您提到的映射表。分配父类别只需要项目表中的一个“父”字段。