Making a database #196916
Replies: 2 comments
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
-
|
Hi @azadmuhammady2019-commits , thanks for participating! Unfortunately, we don’t currently have moderators for languages other than English. Until that changes, we need to ask that everyone use English here in the GitHub Community when posting to ensure discussions are adhering to our Code of Conduct. We’ll be locking this post for now, but please feel encouraged to create a new discussion in English if you still need support. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
🏷️ Discussion Type
Bug
Body
-- ۱. ایجاد دیتابیس جدید آموزشگاه آماج
CREATE DATABASE IF NOT EXISTS
amaj_dbDEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_persian_ci;USE
amaj_db;-- ۲. جدول کاربران سیستم (ادمینها، مدیران، کاربران پنل)
CREATE TABLE IF NOT EXISTS
users(idINT AUTO_INCREMENT PRIMARY KEY,usernameVARCHAR(50) NOT NULL UNIQUE,passwordVARCHAR(255) NOT NULL, -- ذخیره به صورت Hash شده (مانند bcrypt)full_nameVARCHAR(100) NOT NULL,roleENUM('admin', 'manager', 'staff') DEFAULT 'staff',statusENUM('active', 'inactive') DEFAULT 'active',created_atTIMESTAMP DEFAULT CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_persian_ci;
-- ۳. جدول اساتید آموزشگاه
CREATE TABLE IF NOT EXISTS
teachers(idINT AUTO_INCREMENT PRIMARY KEY,nameVARCHAR(100) NOT NULL,father_nameVARCHAR(100) DEFAULT NULL,phoneVARCHAR(15) DEFAULT NULL,emailVARCHAR(100) DEFAULT NULL,specialtyVARCHAR(100) NOT NULL, -- بخش تدریس مثل کمپیوتر، انگلیسیsalaryDECIMAL(10, 2) NOT NULL DEFAULT 0.00, -- معاش ماهوار به افغانیcontract_dateDATE DEFAULT NULL,statusENUM('active', 'inactive') DEFAULT 'active',created_atTIMESTAMP DEFAULT CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_persian_ci;
-- ۴. جدول کورسها / صنفهای آموزشی
CREATE TABLE IF NOT EXISTS
courses(idINT AUTO_INCREMENT PRIMARY KEY,course_nameVARCHAR(100) NOT NULL, -- مثل انگلیسی مبتدی، ریاضیاتteacher_idINT,start_timeTIME DEFAULT NULL,end_timeTIME DEFAULT NULL,room_numberVARCHAR(20) DEFAULT NULL,statusENUM('active', 'completed', 'canceled') DEFAULT 'active',FOREIGN KEY (
teacher_id) REFERENCESteachers(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_persian_ci;
-- ۵. جدول شاگردان (👨🎓 شاگردان)
CREATE TABLE IF NOT EXISTS
students(idVARCHAR(20) PRIMARY KEY, -- آیدی اختصاصی مثل AMJ-12345nameVARCHAR(100) NOT NULL,father_nameVARCHAR(100) NOT NULL,phoneVARCHAR(15) DEFAULT NULL,registration_dateDATE NOT NULL,statusENUM('active', 'inactive', 'graduated') DEFAULT 'active',created_atTIMESTAMP DEFAULT CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_persian_ci;
-- ۶. جدول ثبتنام شاگردان در صنفها و وضعیت فیس
CREATE TABLE IF NOT EXISTS
enrollments(idINT AUTO_INCREMENT PRIMARY KEY,student_idVARCHAR(20) NOT NULL,course_idINT NOT NULL,fee_amountDECIMAL(10, 2) NOT NULL, -- مبلغ فیس تعیین شده برای این شاگردenroll_dateTIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (
student_id) REFERENCESstudents(id) ON DELETE CASCADE ON UPDATE CASCADE,FOREIGN KEY (
course_id) REFERENCEScourses(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_persian_ci;
-- ۷. جدول حاضری شاگردان (📝 حاضری)
CREATE TABLE IF NOT EXISTS
attendance(idINT AUTO_INCREMENT PRIMARY KEY,student_idVARCHAR(20) NOT NULL,course_idINT NOT NULL,attendance_dateDATE NOT NULL,statusENUM('present', 'absent', 'sick', 'leave') NOT NULL,marked_byINT, -- کاربری که حاضری را گرفتهFOREIGN KEY (
student_id) REFERENCESstudents(id) ON DELETE CASCADE ON UPDATE CASCADE,FOREIGN KEY (
course_id) REFERENCEScourses(id) ON DELETE CASCADE ON UPDATE CASCADE,FOREIGN KEY (
marked_by) REFERENCESusers(id) ON DELETE SET NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_persian_ci;
-- ۸. جدول حسابداری و تراکنشهای مالی (💰 حسابداری)
CREATE TABLE IF NOT EXISTS
transactions(idINT AUTO_INCREMENT PRIMARY KEY,typeENUM('income', 'expense') NOT NULL, -- عواید یا مصارفcategoryVARCHAR(50) NOT NULL, -- مثل: فیس شاگرد، معاش استاد، کرایه، برقamountDECIMAL(10, 2) NOT NULL, -- مبلغ به افغانیstudent_idVARCHAR(20) DEFAULT NULL, -- اگر عواید از بابت فیس شاگرد باشدteacher_idINT DEFAULT NULL, -- اگر مصرف از بابت معاش استاد باشدdescriptionTEXT DEFAULT NULL,transaction_dateTIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (
student_id) REFERENCESstudents(id) ON DELETE SET NULL ON UPDATE CASCADE,FOREIGN KEY (
teacher_id) REFERENCESteachers(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_persian_ci;
-- ۹. درج اطلاعات پیشفرض ادمین جهت ورود اولیه به سیستم
-- نام کاربری: amajadmin | رمز عبور رمزگذاری شده (معادل متن ساده: amaj1405)
INSERT INTO
users(username,password,full_name,role,status)VALUES ('amajadmin', '$2y$10$7zR8zWp9p7/9X8zWp9p7/.uX8zWp9p7/9X8zWp9p7/.uX8zWp9p7/', 'مدیریت کل آماج', 'admin', 'active')
ON DUPLICATE KEY UPDATE
id=id;Beta Was this translation helpful? Give feedback.
All reactions