برنامه نویسی

طرح های پایگاه داده اصلی رابطه 📚 برای تقویت توسعه

این که آیا شما از DBM های غیر مرتبط یا رابطه ای استفاده می کنید ، اساسی خواهد بود. این جفت ارزش کلیدی را مطرح می کند که قبل از انتساب مقدار پیش فرض دارد. لطفاً آن را برای مرجع آینده ذخیره کنید.

جدول: users

نام ستون نوع داده محدودیت ها شرح
user_id BIGINT UNSIGNED PRIMARY KEYبا AUTO_INCREMENT شناسه کاربر منحصر به فرد
user_name VARCHAR(50) NOT NULL نام کامل
user_email VARCHAR(100) NOT NULLبا UNIQUE آدرس ایمیل
password VARCHAR(255) NOT NULL رمز عبور
role ENUM('admin', 'user', 'editor') DEFAULT 'user' نقش کاربر
status TINYINT(1) DEFAULT 1 1 = فعال ، 0 = غیرفعال
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP Timestamp ایجاد
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP آخرین زمان بندی به روزرسانی

جدول: posts

نام ستون نوع داده محدودیت ها شرح
post_id BIGINT UNSIGNED PRIMARY KEYبا AUTO_INCREMENT شناسه پست منحصر به فرد
user_id BIGINT UNSIGNED FOREIGN KEY -> users(user_id)با NOT NULL شناسه نویسنده ارسال
title VARCHAR(255) NOT NULL عنوان پست
content TEXT NOT NULL محتوای پست
status ENUM('draft', 'published', 'archived') DEFAULT 'draft' وضعیت پست
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP Timestamp ایجاد
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP آخرین زمان بندی به روزرسانی

جدول: comments

نام ستون نوع داده محدودیت ها شرح
comment_id BIGINT UNSIGNED PRIMARY KEYبا AUTO_INCREMENT شناسه نظرات منحصر به فرد
post_id BIGINT UNSIGNED FOREIGN KEY -> posts(post_id)با NOT NULL شناسه پست مرتبط
user_id BIGINT UNSIGNED FOREIGN KEY -> users(user_id)با NULLABLE شناسه نویسنده را اظهار نظر کنید
comment TEXT NOT NULL محتوای نظر
status TINYINT(1) DEFAULT 1 1 = تأیید شده ، 0 = در انتظار
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP Timestamp ایجاد

جدول: categories

نام ستون نوع داده محدودیت ها شرح
category_id BIGINT UNSIGNED PRIMARY KEYبا AUTO_INCREMENT شناسه دسته منحصر به فرد
name VARCHAR(100) NOT NULLبا UNIQUE نام گروه
slug VARCHAR(100) NOT NULLبا UNIQUE کلوچه url
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP Timestamp ایجاد

جدول: side_menu

نام ستون نوع داده محدودیت ها شرح
menu_id BIGINT UNSIGNED PRIMARY KEYبا AUTO_INCREMENT شناسه منوی منحصر به فرد
parent_id BIGINT UNSIGNED NULLABLEبا FOREIGN KEY -> side_menu(menu_id) مراجعه به شناسه منوی والدین (برای زیر منو)
name VARCHAR(50) NOT NULL نام منو
icon TEXT NOT NULL داده های نماد SVG
permission_level TINYINT UNSIGNED NOT NULL مجوز لازم
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP Timestamp ایجاد

چگونه کار می کند؟

  • اگر parent_id است ، تهی، این یک است منوی بازی مورد
  • اگر parent_id ارزش دارد ، آن زیر میهن تحت ارجاع شده menu_idبشر

داده های نمونه

منو_د پدر و مادر_د نام نماد اجازه_ سطح
1 تهی داشبورد 🏠 1
2 تهی تنظیمات 2
3 2 کاربران 👥 2
4 2 نقش 🔑 2

در اینجا “کاربران” وت “نقش” زیر منوی زیر هستند “تنظیمات”بشر 🚀

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا