2011-10-31 45 views
1

我正在研究用于对事物进行分类的功能。所有项目可以有0或n个孩子。如何在关系数据库中构建一个类似排列的结构?

还需要2个或更多无关父母拥有同一个孩子......但也许这不会太必要。

人们如何为此创建模式?是否有这样的表格列:

category_id | category_name | parent_id | child_id

或者有没有这样做的更优雅和灵活的方式?

谢谢!

+0

Martin回答了如何标记项目,但我仍不确定如何最好地创建标签的高层次结构。有任何想法吗? – Genadinik

回答

1

如果你说标记的项目,那么你通常有一个articles表,taxonomy_terms表,然后连接表像articles_taxonomy_terms,哪些文章可以有任意数量的相关术语(标签)的。

+0

谢谢马丁。这样我就更清楚了 - 你能解释一下每张桌子上的柱子是怎么样的吗?我想我正在使用不同的术语,所以这有点令人困惑。 – Genadinik

+0

当然。我在这里创建了一个SQL模式要点:https://gist.github.com/1330539。如果你习惯于使用MySQL,这应该是有道理的。 –

+0

此外,朋友只是推特链接到标签库。看看https://github.com/freetag/freetag,看看有什么帮助? –