PDA

View Full Version : حرفه ای: ذخیره سازی برچسب در بانک اطلاعاتی



beh3000
یک شنبه 18 آبان 1393, 17:24 عصر
سلام

در بیشتر سایت ها برای مطالب برچسب در نظر گرفته میشه ( مثل همین سایت برنامه نویس که نوشته میتوانید برای این تاپیک 10 برچسب اضافه کنید ) میخواستم نحوه ذخیره سازی این برچسب ها رو در بانک بدونم ...

در همون جدول مطلب ذخیره بشه بهتره یا جدول جدا گانه داشته باشه ؟

هر مطلب هم میتونه چندتا برچسب داشته باشه ... در این صورت همه برچسب ها در یک فیلده یا جداگانه ( مثلا بگیم هر مطلب حداکثر 5 تا برچسب داشته باشه و 5 فیلد در نظر بگیریم )

اگه در یک فیلد باشه برچسب ها رو چطور ذخیره کنیم ؟ یک رشته ساده باشه که هر برچسب با یک علامت جداکننده ذخیره بشه ... یا آرایه ای از برچسب ها رو بصورت رشته ای ذخیره کنیم ؟


دوستان روشی رو بگین که بعدا که خواستیم از روی برچسب جستجو کنیم سریع ترین و بهینه ترین روش باشه ... منظورم از جستجو اینه که وقتی روی هر برچسب کلیک کنیم باید مطالب مربوط به اون برچسب بیاد دیگه ... این جستجو رو میگم ... حالا روش بهتر کدومه ؟

arash691
یک شنبه 18 آبان 1393, 19:09 عصر
من معمولا" یک فیلد رو بعنوان tag برای جدول post در نظر میگیرم و با استفاده از یک کاراکتر جداکننده مثل - یا ; تگ ها رو جدا میکنم ... حالا اگه روش دیگه ای هم هست بقیه دوستان بگن

beh3000
یک شنبه 18 آبان 1393, 19:45 عصر
بعد هنگام جستجو با like کوئری میگیرین ؟

مثلا داخل فیلد اینجوری ذخیره شده : رئال مادرید ; رونالدو ; قهرمان اروپا

یکی ار کاربرا میاد روی برچسب رونالدو کلیک میکنه ...

arash691
یک شنبه 18 آبان 1393, 19:50 عصر
بعد هنگام جستجو با like کوئری میگیرین ؟

مثلا داخل فیلد اینجوری ذخیره شده : رئال مادرید ; رونالدو ; قهرمان اروپا


بله ... البته میتونید برای هر پست یک جدول دیگه بنام tag بگیرید یعنی یک رابطه یک به n از جدول post به tag داشته باشید : id , post_id , name

beh3000
دوشنبه 19 آبان 1393, 08:30 صبح
راه های مختلفش رو میدونم میخواستم بدونم کدومش استفاده بشه بهتره ؟

1 : بصورت یک فیلد رشته ای ذخیره بشه که باید از دستور like استفاده کرد که سرعتش کمه

2 : بصورت یک جدول جداگانه باشه با یک رابطه یک به n : که هنگام نمایش مطالب باید join بشه

3 : بصورت مثلا 5 تا فیلد در جدول مطالب باشه که نیاز به join و like نیست و سرعتش خوبه ولی از نظر ساختار دیتا بیسی درست نیست و تعداد برچسب ها هم محدود میشه

میخوام بدونم دوستان برنامه نویس بیشتر از کدوم روش استفاده میکنند ؟

captain_hamid
دوشنبه 19 آبان 1393, 08:41 صبح
روش دوم به نظرم بهتره. وردپرس هم همین روش رو پیاده کرده
مزیتش اینه که تگ ها یکتا میشه و داده ی تکراری هم نداریم دیگه.