database-design - 存储分层标签的最佳方法

标签 database-design language-agnostic architecture data-structures

我有一个列表,其中每个列表条目都标记有多个标签。每个标签也可以具有子标签。列表中的每个条目都可以有多个标签。

例如,谈论汽车的列表条目可以具有称为“汽车”,“车辆”,“法拉利”的标签。

我应该能够查看标签的层次结构,如下所示。同样,对每个条目的标签数量以及标签的深度也应该没有限制。

如何存储这些数据?我愿意使用任何类型的DBMS。

最佳答案

天真的方法是父/子解决方案,但是用这种数据模型编写高效的查询非常困难。

Managing Hierarchical Data in MySQL是一篇有关分层数据结构的不错的文章。我想大多数都可以应用于其他数据库系统。

关于database-design - 存储分层标签的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6345380/

相关文章:

architecture - "We use C++/C as backend"是什么意思

php - 一对多的最优数据库结构设计

database-design - 使用 PostgreSQL 的单个表中的架构和表与用户 ID

c++ - divide and conquer & fork and join的区别

language-agnostic - 什么是代码覆盖率?

architecture - 我应该在哪里存储照片?文件系统还是数据库?

javascript - Backbone.js - 全局/共享/相关模型的最佳方法是什么?

database - 如何在数据库中表示二维数据矩阵

php - 包含颜色和尺寸的库存设计数据库

java - 设计模式 : Factory vs Factory method vs Abstract Factory