2011-07-24 63 views
0

我開始使用LINQ2SQL在ASP.NET MVC3中創建博客,我在想什麼是爲帖子製作標籤的最佳方法。關於標籤的博客數據庫問題

方案1: 我只需添加另一行到名爲tags單獨的每一個標籤blogPosts表,用逗號,當我搜索包含一些標記每一個崗位我只是選擇*凡在標籤包含我後面的文本。

方案2: 我添加另一臺名爲PostTags和另一個名爲TagsPostTags將包含postIDtagIDTags將包含IDTag本身。還要在這些表之間建立DB關係。

那麼哪個是最好的解決方案?

+0

在場景一中,我相信你的意思是「添加另一個**列**」而不是行,是否正確? –

回答

2

情景2對我來說看起來更好,因爲它清楚地將另一個表中的標籤分開,使數據庫更規範化並允許通過標籤更容易地查詢。除此之外,您還可以更輕鬆地對這些標籤執行查詢,並獨立於博客文章顯示它們。

+2

+您可以在tagID和postID上擁有數據庫索引,這使得查詢速度非常快。 –

0

我不認爲場景1應該是一個選項,它顯然不是很好的數據庫設計,引入冗餘數據,並且當您的表中有很多行時查詢效率低下。