Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mereka bentuk struktur jadual MySQL untuk menyokong sistem peperiksaan dalam talian?

Bagaimana untuk mereka bentuk struktur jadual MySQL untuk menyokong sistem peperiksaan dalam talian?

王林
Lepaskan: 2023-10-31 09:30:22
asal
1463 orang telah melayarinya

Bagaimana untuk mereka bentuk struktur jadual MySQL untuk menyokong sistem peperiksaan dalam talian?

Bagaimana untuk mereka bentuk struktur jadual MySQL untuk menyokong sistem peperiksaan dalam talian?

Dengan perkembangan pesat Internet, semakin banyak institusi dan syarikat pendidikan telah mula menggunakan sistem peperiksaan dalam talian untuk menjalankan peperiksaan. Sistem peperiksaan dalam talian yang cekap dan boleh dipercayai tidak dapat dipisahkan daripada reka bentuk pangkalan data yang munasabah. Artikel ini akan memperkenalkan cara mereka bentuk struktur jadual MySQL untuk menyokong sistem peperiksaan dalam talian dan menyediakan contoh kod khusus.

Untuk menyokong fungsi sistem peperiksaan dalam talian, kami perlu mereka bentuk jadual berikut: jadual pengguna, jadual peperiksaan, jadual soalan, jadual rekod jawapan dan jadual skor. Reka bentuk setiap jadual akan diperkenalkan di bawah.

  1. Jadual pengguna
    Jadual pengguna digunakan terutamanya untuk menyimpan maklumat pengguna sistem peperiksaan, termasuk nama pengguna, kata laluan, nama, e-mel, dll. Pengguna boleh dibahagikan kepada peranan yang berbeza, seperti pelajar dan guru. Struktur jadual adalah seperti berikut:
CREATE TABLE `user` (
  `user_id` INT(11) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(255) NOT NULL,
  `password` VARCHAR(255) NOT NULL,
  `name` VARCHAR(255) NOT NULL,
  `email` VARCHAR(255) NOT NULL,
  `role` ENUM('student', 'teacher') NOT NULL,
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `username_UNIQUE` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk
  1. Jadual peperiksaan
    Meja peperiksaan digunakan untuk menyimpan maklumat peperiksaan, termasuk nama peperiksaan, masa peperiksaan, tempoh peperiksaan, dll. Setiap peperiksaan boleh mengandungi berbilang soalan. Struktur jadual adalah seperti berikut:
CREATE TABLE `exam` (
  `exam_id` INT(11) NOT NULL AUTO_INCREMENT,
  `exam_name` VARCHAR(255) NOT NULL,
  `exam_time` DATETIME NOT NULL,
  `duration` INT(11) NOT NULL,
  PRIMARY KEY (`exam_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk
  1. Jadual soalan
    Jadual soalan digunakan untuk menyimpan maklumat soalan bagi setiap peperiksaan, termasuk kandungan soalan, pilihan jawapan, jawapan yang betul, dsb. Struktur jadual adalah seperti berikut:
CREATE TABLE `question` (
  `question_id` INT(11) NOT NULL AUTO_INCREMENT,
  `exam_id` INT(11) NOT NULL,
  `content` TEXT NOT NULL,
  `options` TEXT NOT NULL,
  `answer` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`question_id`),
  FOREIGN KEY (`exam_id`) REFERENCES `exam`(`exam_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk
  1. Jadual rekod jawapan
    Jadual rekod jawapan digunakan untuk menyimpan rekod jawapan pengguna, termasuk ID pengguna, ID soalan, jawapan yang dipilih pengguna, masa menjawab, dsb. Struktur jadual adalah seperti berikut:
CREATE TABLE `answer_record` (
  `record_id` INT(11) NOT NULL AUTO_INCREMENT,
  `user_id` INT(11) NOT NULL,
  `question_id` INT(11) NOT NULL,
  `selected_answer` VARCHAR(255) NOT NULL,
  `answer_time` DATETIME NOT NULL,
  PRIMARY KEY (`record_id`),
  FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`),
  FOREIGN KEY (`question_id`) REFERENCES `question`(`question_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk
  1. jadual skor
    jadual skor digunakan untuk menyimpan markah ujian pengguna, termasuk ID pengguna, ID ujian, markah, dsb. Struktur jadual adalah seperti berikut:
CREATE TABLE `score` (
  `score_id` INT(11) NOT NULL AUTO_INCREMENT,
  `user_id` INT(11) NOT NULL,
  `exam_id` INT(11) NOT NULL,
  `score` INT(11) NOT NULL,
  PRIMARY KEY (`score_id`),
  FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`),
  FOREIGN KEY (`exam_id`) REFERENCES `exam`(`exam_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk

Di atas adalah idea asas dan contoh kod untuk mereka bentuk struktur jadual MySQL untuk menyokong sistem peperiksaan dalam talian. Dengan mereka bentuk struktur jadual pangkalan data secara rasional, prestasi dan kebolehselenggaraan sistem boleh dipertingkatkan, menjadikan sistem peperiksaan dalam talian lebih cekap, selamat dan stabil. Saya harap artikel ini akan membantu anda mereka bentuk struktur pangkalan data sistem peperiksaan dalam talian anda.

Atas ialah kandungan terperinci Bagaimana untuk mereka bentuk struktur jadual MySQL untuk menyokong sistem peperiksaan dalam talian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan