2015-07-07 2 views
2

Я использую ASP.NET MVC5, Entity Framework, Web API 2, OData, MSSQL; довольно стандартный стек MS, я полагаю ... и интересно: какая самая лучшая установка/структура для простая система блога относительно «тегов»? Должен ли я хранить каждый тег в таблице тегов в качестве новой строки? Или есть лучший/более эффективный способ? Возможно, стоит упомянуть, что я также могу использовать теги в других частях моего сайта позже (возможно, на страницах CMS, которые у меня есть и т. Д.) ... поэтому мне нужно подумать о том, как сделать этот эффективный и расширяемый способ ,Самый эффективный способ реализации тегов блога в реляционной базе данных

+1

Я не знаю о наиболее эффективном способе, но вы определенно не должны использовать 'GUID' как ** PK ** вашей таблицы тегов. Couse это приведет к действительно тяжелым объединениям позже. –

ответ

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 

Обратите внимание, что первичный ключ должен содержать как столбцы этот стол.

+0

Спасибо, Зоар за то, что нашли время, чтобы ответить. Однако это именно то, о чем я говорил в своем первоначальном вопросе. Мне интересно, есть ли более эффективный способ, но я полагаю, что ответ, скорее всего, будет отрицательным. В любом случае, спасибо за попытку. :-) – Matt

+0

AFAIK, в реляционной базе данных нет лучшего способа –

Смежные вопросы