关于标签的Blog DB问题

时间:2011-07-24 13:13:44

标签: asp.net sql linq asp.net-mvc-3

我开始使用LINQ2SQL在ASP.NET MVC3中创建一个博客,我想知道为帖子制作标签的最佳方法是什么。

场景1: 我只是在名为blogPosts的{​​{1}}表中添加另一行,用逗号分隔每个标记,当我搜索包含某些标记的每个帖子时,我只选择*其中的标签中包含我之后的文本。

场景2: 我添加了另一个名为tags的表,另一个名为PostTagsTags将包含PostTagspostIDtagID将包含TagsID本身。还在这些表之间建立了DB关系。

那么哪种解决方案最好?

2 个答案:

答案 0 :(得分:2)

场景2对我来说看起来更好,因为它清楚地分隔了另一个表中的标记,使数据库更加规范化,并允许更容易通过标记查询。除此之外,您还可以更轻松地对这些标签执行查询,并独立于博客帖子显示它们。

答案 1 :(得分:0)

我认为场景1根本不应该是一个选项,显然不是好的数据库设计,引入冗余数据,当你的表中有很多行时查询效率很低。