دسته بندی مطالب سایت

پرسیده شده
فعالیت 1595 روز پیش
دیده شده 1003 بار
0

سلام خدمت استاد

چطور باید مطلب سایت رو به صورت شاخه بندی شدی دسته بندی کنیم مثلا دسته بازی خودش زیر دسته بازی های اکشن , فکری و... چطوری این دسته بندی شاخه تو در تو باید ساخه بشه؟

فایل پیوست

MohammadMoghadasi
MohammadMoghadasi

29 تیر 98

0
حذف شده

سلام ... 

داخل جدول category که درست کرده اید و دسته بندی های مختلف رو اونجا نوشتید باید یک فیلد اضافه کنید به نام مثلا parent_id و داخل اون آی دی اون دسته بندی رو قرار میدید .. یعنی جدول category با خودش رابطه داره که اصطلاحا بهش میگن self-referential ... برای اینکه موضوع رو بهتر متوجه بشید ویدیو زیر میتونه کمکتون کنه ... 

 

Self-referential

فایل پیوست

مهرداد سامی

توسط

مهرداد سامی

29 تیر 98

0
حذف شده

به این صورت میشه که یک ستون به دیتابیسمون اضافه می کنیم و میگیم که اون ستون یک آیدی می گیره که اون آیدی ایدی ستونی میشه که زیرشاخش میشه . اما اینجا یک مشکلی هست و اونم افزونگی هست مثلا وقتی دیتا ها زیاد بشه تو این دیتابیس خونه های خاله کی صفر هستن هم زیاد میشه یعنی زیر شاخه ای ندارن آیا این افزونگی حساب میشه یا خیر؟

فایل پیوست

MohammadMoghadasi

توسط

MohammadMoghadasi

30 تیر 98

0
حذف شده

نه این مورد افزونگی دیتا به حساب نمیاد ... افزونگی دیتا زمانی پیش میاد که شما یک دیتا رو در ۲ یا چند جای بیشتر ذخیره کنید ... 

به عنوان مثال شما در جدول یوزر یک فیلد ایجاد میکنید به نام post_count و تعداد پست های یوزر رو در اون قرار میدید ... بعد از یه مدت وقتی سیستم شما بزرگ میشه مثلا یه جدول ایجاد میکنید به نام user_stats که کلا میخواید تعداد پست ها، جواب ها و مقاله ها و هرمورد خاص دیگه ای از یوزر رو داخل اون قرار بدید ... در این حالت قطعا شما برای اینکه سیستمتون و طراحیتون به مشکل برنخوره باید post_count رو ببرید داخل user_stats و خب این قطعا یه جاهایی از کد قدیم شما رو درگیر میکنه و شما مجبور میشید که برید یه سری از کدهای قدیمیتون رو ریفکتور کنید  و اینکه post_count رو از داخل users پاک کنید ... خیلی موارد وجود داره که به خاطر نبود وقت و یا مسائل به خصوص دیگه این کار انجام نمیشه و اون فیلد post_count به user_stats اضافه میشه ولی از داخل users پاک نمیشه ... همون کدهای قدیمی میمونه سرجاش و فقط شما بهش یک خط اضافه میکنید که مثلا زمانی که قرار بود post_count در جدول users رو افزایش بدی، post_count داخل جدول user_stats رو هم افزایش بده ... 

توی این حالت شما افزونگی دیتا (Data redundancy ) دارید ... که یه جاهایی برای خوندن تعداد پست یوزر میرید از جدول یوزر میخونید و یه سری جاها میرید از user_stats و دیگه مشکلاتی که توی این حالت پیش میاد رو خودتون میتونید متصور بشید!!!

 

موفق باشید.

فایل پیوست

مهرداد سامی

توسط

مهرداد سامی

31 تیر 98

0
حذف شده

سلام

این موضوع رو بسیار ساده می تونید مدیریت کنید به اینصورت که شما نیاز دارید دو تا جدول داشته باشید.

جدول مطالب و دسته بندی ها
توی جدول مطالب یک فیلد رو برای ارتباط با دسته بندی ها درنظر بگیرید.
توی خود جدول دسته بندی ها یک فیلد رو به عنوان parrent در نظر بگیرید که قابلیت nullable رو روش فعال کنید.

وقتی دسته بندی ایجاد می کنید این نکته رو در نظر بگیرید که اگر دسته ای دارید برای مثال به نام سخت افزار خود این دسته فیلد parent ش باید null باشه و اگر این دسته زیر مجموعه ای به نام برای مثال مادربرد دارد فیلد parent ش باید ای دی مربوط به دسته سخت افزار رو قرار بدیم.
حالا وقتی میخوای توی صفحه اصلی سایت منو ها رو نشون بدی بالا فقط دسته هایی را که فیلد parent ش null هست رو بخوون و زیر منو ها اونهایی رو قرار بده که فیلد parent ش برابر با فیلد ای دی منوی بالایی باشد.

با تشکر

فایل پیوست

جواد فرامرزی

توسط

جواد فرامرزی

25 آبان 98