رامین رضائی
4 سال پیش توسط رامین رضائی مطرح شد
1 پاسخ

پیشنهاد مدل دیتابیس و جدول برای تیکت و پیام رسانی

سلام خدمت همه دوستان
من قصد دارم که سیستم پیام رسان کوچک با شرایط زیر ایجاد کنم ولی در مدل کردن جدول ها کمی گیج شدم ممنون میشم اگر کسی بلد بود یا تجربه ای داشت کمک کنه !

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

  • میخواهم که :
    1. هر کاربر بتواند به مدیر دلخواه پیام ارسال کند.
    2. هر مدیر بتواند به صورت تکی و گروهی ( فقط همه اعضا ) برای کاربران پیام ارسال کند.
    3. هر کاربر یا مدیر بتواند پیامی را که دریافت میکند به صورت مستقل برای خود از داخل پنل پاک کند.
      مثلا : من بتوانم از داخل پنل پیام هایی که برایم ارسال شده را پاک کنم ( حتی پیام های گروهی )
    4. هر پیام بعد از مشاهده توسط دریافت کننده آن تیک سین یا دیده شده آن فعال شود.

پیشنهاد خودم :

یک جدول برای پیام های مدیر داشته باشم و یک جدول جدا برای پیام های کاربران
بک جدول برای پیام های خوانده شده یا حذف شده مدیر داشته باشم و یک جدول جدا برای کاربران
حال اگر کاربری یا مدیری پیامی را بخواند و یا حذف کند آی دی پیام به همراه آی دی شخص را در جدول های دوم قرار میدهم
در این حالت پیام های خوانده نشده هم برابر خواهد بود با تعداد کل پیام های فرد منهای خوانده شده ها و ...
در این حالت O سیستم هم بهینه میشود !
ولی اگر برای هر کاربر یک پیام جدا ذخیره کنم به On میرسم.

  • اگر کسی پیشنهاد بهتری داره یا تجربه ای داره ممنون میشم کمک کنه !

ثبت پرسش جدید
GHM
تخصص : دولوپر نیمه‌استک
@GHM 4 سال پیش مطرح شد
0

سلام. شما باید یک جدول roles و یک جدول permission داشته باشید و یک جدول هم برای users که اینطوری برای هر کاربر میتونید نقش و دسترسی ایجاد کنید، این از کاربران و نقش‌ها. یک جدول هم برای پیام‌ها ایجاد کنید و فیلدهایی که لازم دارید رو تعریف کنید که یکی از فیلدهاتون میتونه بنام receive باشه برای مشخص کردن دریافت و تائید پیام‌ها و این فیلد رو از نوع boolean (صفر و یک) تعریف کنید.
این ساختار دیتابیس هست حالا برای جزئیات و لاگ هم اگه خواستید میتونید جدول بسازید. مابقی شروط هم توی کنترلر یا ویو یا هرجایی که میدونید تعریف کنید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام