Bagaimana untuk mereka bentuk struktur jadual MySQL untuk menyokong penjanaan dan pengurusan kertas ujian dalam sistem peperiksaan dalam talian?
Sebelum mereka bentuk struktur jadual MySQL untuk menyokong penjanaan kertas ujian dan pengurusan sistem peperiksaan dalam talian, kita perlu terlebih dahulu memahami keperluan asas dan fungsi sistem peperiksaan dalam talian. Sistem peperiksaan dalam talian secara amnya merangkumi modul seperti pengurusan pengguna, pengurusan kertas ujian, pengurusan soalan dan pengurusan peperiksaan. Artikel ini akan memberi tumpuan kepada reka bentuk struktur jadual penjanaan dan pengurusan kertas ujian.
1. Pengurusan pengguna
Modul pengurusan pengguna digunakan untuk mengurus maklumat pengguna dalam sistem, termasuk ID pengguna, nama pengguna, kata laluan, peranan dan medan lain. Berikut ialah contoh jadual pengguna mudah:
CREATE TABLE `users` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `username` VARCHAR(50) NOT NULL, `password` VARCHAR(50) NOT NULL, `role` ENUM('admin', 'teacher', 'student') NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `username_UNIQUE` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
2. Pengurusan kertas ujian
Modul pengurusan kertas ujian digunakan untuk mencipta, mengubah suai dan memadam maklumat kertas ujian. Kertas ujian biasanya mengandungi medan seperti ID kertas ujian, nama kertas ujian, jumlah markah dan pencipta. Berikut ialah contoh mudah lembaran ujian:
CREATE TABLE `papers` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, `total_score` FLOAT NOT NULL, `creator_id` INT(10) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`creator_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
3. Pengurusan soalan
Modul pengurusan soalan digunakan untuk mengurus maklumat soalan ujian, termasuk ID soalan, jenis soalan , kandungan, pilihan, Medan seperti jawapan dan mata. Berikut adalah contoh kertas soalan mudah:
CREATE TABLE `questions` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `paper_id` INT(10) NOT NULL, `type` ENUM('single_choice', 'multiple_choice', 'true_false', 'short_answer') NOT NULL, `content` TEXT NOT NULL, `options` TEXT, `answer` TEXT NOT NULL, `score` FLOAT NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`paper_id`) REFERENCES `papers` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
4. Pengurusan Peperiksaan
Modul pengurusan peperiksaan digunakan untuk memperuntukkan kertas ujian kepada calon dan merekod jawapan calon dan markah. Berikut adalah contoh borang peperiksaan dan kertas jawapan mudah:
CREATE TABLE `exams` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `paper_id` INT(10) NOT NULL, `user_id` INT(10) NOT NULL, `start_time` DATETIME NOT NULL, `end_time` DATETIME, PRIMARY KEY (`id`), FOREIGN KEY (`paper_id`) REFERENCES `papers` (`id`), FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `answers` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `exam_id` INT(10) NOT NULL, `question_id` INT(10) NOT NULL, `user_id` INT(10) NOT NULL, `answer` TEXT NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`exam_id`) REFERENCES `exams` (`id`), FOREIGN KEY (`question_id`) REFERENCES `questions` (`id`), FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Melalui reka bentuk struktur jadual di atas, kami dapat merealisasikan penjanaan kertas ujian dan fungsi pengurusan sistem peperiksaan dalam talian dan memastikan integriti dan ketekalan data. Dalam aplikasi sebenar, reka bentuk struktur jadual yang lebih kompleks dan pengoptimuman boleh dijalankan mengikut keperluan khusus.
Atas ialah kandungan terperinci Bagaimana untuk mereka bentuk struktur jadual MySQL untuk menyokong penjanaan kertas ujian dan pengurusan sistem peperiksaan dalam talian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!