ورود

View Full Version : بهترین روش مشخص کردن گروه های مختلف یک رکورد در بانک اطلاعاتی sql server



msitworld
پنج شنبه 20 خرداد 1395, 00:29 صبح
سلام دوستان
وقتتون بخیر

فرض کنید من یک جدول دارم که اخبار سایت رو در خودش داره. هر خبر میتونه در گروه های مختلفی قرار بگیره. مثلا یک خبر میتونه همزمان در دسته بندی های "اجتماعی، فرهنگی، کودک و نوجوان" قرار بگیره. دسته های مختلف هم خودشون در یک جدول ذخیره شدن. مثلا به صورت جداول زیر:



Post_Table


category_id
post_title
post_id


[2, 3, 4]
عنوان پست
1





Category_Table


Category_name
Category_id


سیاسی
1


فرهنگی
2


اجتماعی
3


کوک و نوجوان
4



برای اینکه بشه مطالب را بر اساس گروه اونها کوئری گرفت یا بعداً از گروهی حذف کرد یا به اون اضافه کرد بهترین روش به نظرتون چه روشی هست؟؟؟ من خودم به این رسیدم که در category_id آرایه ای از آی دی گروها به صورت رشته قرار بگیره. مثلا [2, 3, 4] یا اینکه آی دی ها با فرمت JSON در فیلد category_id ذخیره بشن.

به نظر شما این روش درسته؟ شما چه راه دیگه ای پیشنهاد می کنید؟
اگر درسته بهینه ترین روش کوئری گرفتن با T-SQL یا Entity Framework برای گرفتن عنوان گروه های یک پست چیه؟

ممنون ...

محمد آشتیانی
پنج شنبه 20 خرداد 1395, 01:10 صبح
سلام
شما نیاز دارید ارتباط چند به چند بین جداولتون برقرار کنید ، برای این منظور نیاز به یک جدول واسط دارید که یک فیلد اون CategoryID و فیلد دیگرش PostID هست ، اینجوری میتونید دسته بندی رو به راحتی انجام بدید و به سادگی هم خروجی مورد نظرتون رو بگیرید.


* جای مطرح کردن این سوال هم تالار sql server هست ، تاپیک منتقل میشه.


موفق باشید.

msitworld
پنج شنبه 20 خرداد 1395, 10:01 صبح
ممنونم ، تشکر ...