2011-09-04 101 views
2

结构现状标签系统实现

表[标签]

TagID 
TagName 

表【贮藏】

StoreID 
StoreName 
StoreCategory 
StoreTagID 

这样只会让店里有一个标签,我怎么能实现它,以允许多个标签 我做了标签组,但不工作也PA解析,但它的无用就像 tagid:tagname,tagid:tagname ......对于同一行,但效率不高。

+0

可能重复的[你如何推荐实现标签或标签](http://stackoverflow.com/questions/20856/how-do-you-recommend-implementing-tags-or-tagging) –

回答

3

一种常见的方式做这样的事情是例如创建第三个表

表[Store_Tags]

StoreID 
TagID 

获得了商店的标签则需要对Store_Tags联接到标签例如

SELECT TagName FROM Tags INNER JOIN Store_Tags USING(TagID) WHERE StoreID = ? 

另一种方法是避免使用变量表,直接把标签名在Store_Tags表,它实际上取决于你打算如何使用这些数据。

+0

因此,Store_Tags表背后的想法是,它使您能够拥有商店的多个标签。无论何时您想要将新标签添加到商店,都需要插入一个新标签的StoreID和TagID。 – rbone

1

StackOverflow上具有分离数据库表

Posts 
    PostId 
PostTags 
    PostId 
    TagId 
Tgas 
    TagId 
    TagName 

所有的标签,你可以做类似的

+0

你有链接支持?对我来说似乎不太可能,因为无法将索引编入索引,从而无法通过标记进行搜索。 –

+0

但很难添加/编辑/删除此表,不是吗? – Peril

+0

@MartinSmith:http://data.stackexchange.com/stackoverflow/q/111403/ – genesis