Deprecated: packages\base\IO\file\local implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/jalno478/domains/jalno.ir/public_html/packages/base/libraries/io/file/local.php on line 7

Deprecated: packages\base\IO\directory\local implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/jalno478/domains/jalno.ir/public_html/packages/base/libraries/io/directory/local.php on line 6

Deprecated: packages\base\package implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/jalno478/domains/jalno.ir/public_html/packages/base/libraries/loader/package.php on line 4

Deprecated: packages\base\router\rule implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/jalno478/domains/jalno.ir/public_html/packages/base/libraries/router/rule.php on line 5

Deprecated: packages\base\response implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/jalno478/domains/jalno.ir/public_html/packages/base/libraries/utility/response.php on line 9
جالنو

اصول طراحی دیتابیس در جالنو

اصول نامگذاری

  • نام پکیج در ابتدای نام جدول همیشه قید میشود.
  • با استفاده از _ نام جدول بعد از نام پکیج نوشته میشود.
  • نام جدول معمولاً به صورت جمع استفاده میشود.
  • قسمت‌های مختلف نام جدول با استفاده از _ از یکدیگر جدا میشوند.

اصول ستون‌ها

  • معمولاً و در اغلب جداول به جز جدول های خاص اولین ستون همیشه شناسه ( id ) نامگذاری میشود. این ستون ایندکس Primary و به صورت Auto Increment تعریف میشود.
  • ستون وضعیت ( status ) به جز در جداول خاص در تمامی جداول استفاده میشود. این ستون مقدار عددی گرفته و از کم حجم ترین نوع عددی TINYINT برای نوع آن استفاده میشود. ( ثابت هایی متناظر با وضعیت‌ها در کلاس Model جدول تعریف و از استفاده ی مستقیم مقدار وضعیت‌ها خودداری می‌شود )
  • ستون هایی که به ستون شناسه ( id ) جدول دیگری ارتباط دارند، بعد از نام آن‌ها حتماً id_ اضافه میشود. مثلاً ستون با نام user به شناسه از جدول userpanel_users اشاره میکند، پس نام آن به صورت user_id ذخیره میشود.
  • برای ستون‌هایی که مقدار String ذخیره میکنند، اگر تعداد کارکتر ها قابل حدس باشد و یا از تعداد 255 کمتر باشد حتماً از نوع VarChar با تعداد محدود و مشخص شده استفاده میشود. مثلاً برای نام کاربر در جدل userpanel_users به تعداد 100 کارکتر محدود شده است.
  • نوع Collection ستون هایی که مقدار String ذخیره میکنند حتماً از نوع utf8mb4_unicode_ci برای جامعیت تمامی کارکتر ها استفاده میشود.
  • از ایجاد ستون هایی که به چند شناسه از جدول دیگر اشاره میکنند به صورت String خودداری و برای این مورد یک جدول دیگر ایجاد کنید. برای مثال برای ذخیره شناسه های چند دسته بندی برای یک مطلب در یک ستون، اقدام به ایجاد یک جدولبرای ارتباط ۱ به ۱ یک مطلب با یک دسته بندی کنید.

اصول ایجاد Model ها

نام Model ها بر خلاف نام جداول به صورت مفرد معرفی میشود. ثابت های وضعیت‌ها نیز باید به صورت عمومی ( Public ) در این کلاس معرفی شود. مانند کلاس Model کاربران که به صورت User و نام جدول به صورت userpanel_users معرفی شده اند.