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

این که آیا شما از 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 |
در اینجا “کاربران” وت “نقش” زیر منوی زیر هستند “تنظیمات”بشر 🚀