相关疑难解决方法(0)

SQL中的分层标记

我有一个PHP Web应用程序,它使用MySQL数据库进行对象标记,其中我使用了标记结构作为此SO问题的答案.

我想实现一个标记层次结构,其中每个标记都可以有一个唯一的父标记.然后搜索父标签T将匹配T的所有后代(即T,父母为T的标签(T的子女),T的孙子等).

最简单的方法是在标签表中添加一个ParentID字段,其中包含标签父标签的ID,如果标签没有父标签则添加一些幻数.然而,搜索后代然后需要重复完整搜索数据库以找到每个"代"中的标记,我想避免这些标记.

一个(可能)更快,但更少规范化的方法是使用一个包含每个标记的所有子项的表,甚至每个标记的所有后代.然而,这会冒数据库中数据不一致的风险(例如,标签是多个父项的子项).

是否有一种很好的方法可以使查询快速查找后代,同时尽可能保持数据的标准化?

mysql sql database tags normalizing

8
推荐指数
2
解决办法
2670
查看次数

标签 统计

database ×1

mysql ×1

normalizing ×1

sql ×1

tags ×1