在关系数据库中实现博客标记的最有效方法

时间:2015-07-07 08:30:17

标签: sql-server asp.net-mvc tags blogs

我正在使用ASP.NET MVC5,实体框架,Web API 2,OData,MSSQL后端;我认为是一个非常标准的MS堆栈......并且想知道:对于“标签”,简单博客系统的最佳设置/结构是什么?我应该将Tags表中的每个标记存储为新行吗?还是有更好/更有效的方式?值得一提的是,我可能也希望稍后在我的网站的其他部分使用标签(可能在我拥有的CMS页面等等)......所以我需要考虑使这种高效和可扩展的最佳方法

1 个答案:

答案 0 :(得分:1)

使用简单的标签表:

TblTags 
-------
TagId int (pk, identity)
TagName varchar(30) (unique, or nvarchar, and use whatever length that suits your needs.)

然后使用带有标签等的交叉表,例如博客文章:

TblTagsToBlogArticle
--------------------
TTBA_BlogArticle_Id
TTBA_Tag_Id

请注意,主键应包含此表的两列。