>  기사  >  데이터 베이스  >  MySQL을 사용하여 온라인 시험 시스템에 적합한 테이블 구조를 만드는 방법은 무엇입니까?

MySQL을 사용하여 온라인 시험 시스템에 적합한 테이블 구조를 만드는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-10-31 08:38:301166검색

MySQL을 사용하여 온라인 시험 시스템에 적합한 테이블 구조를 만드는 방법은 무엇입니까?

MySQL을 사용하여 온라인 시험 시스템에 적합한 테이블 구조를 만드는 방법은 무엇입니까?

온라인 시험 시스템용 데이터베이스를 설계할 때 시험 문제, 정답, 점수 등 시험 관련 정보를 저장하기 위한 테이블을 만들어야 합니다. MySQL에서는 테이블 구조를 정의하여 이를 달성할 수 있습니다.

먼저 시험 문제를 저장할 테이블을 만들어야 합니다. 각 질문에는 고유한 질문 ID, 질문 유형, 내용, 옵션 및 정답 등이 있다고 가정됩니다. 다음 코드를 사용하여 테이블을 생성할 수 있습니다.

CREATE TABLE IF NOT EXISTS `exam_questions` (
  `question_id` INT(11) NOT NULL AUTO_INCREMENT,
  `question_type` VARCHAR(255) NOT NULL,
  `question_text` TEXT NOT NULL,
  `option_a` VARCHAR(255) NOT NULL,
  `option_b` VARCHAR(255) NOT NULL,
  `option_c` VARCHAR(255) NOT NULL,
  `option_d` VARCHAR(255) NOT NULL,
  `correct_answer` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`question_id`)
) ENGINE=InnoDB;

다음으로, 후보자의 답변을 저장할 테이블을 생성해야 합니다. 각 응시자는 시험 문제의 ID에 해당하는 고유한 ID를 갖고 있으며 답변은 문자열로 표시된다고 가정합니다. 다음 코드를 사용하여 테이블을 생성할 수 있습니다.

CREATE TABLE IF NOT EXISTS `exam_answers` (
  `student_id` INT(11) NOT NULL,
  `question_id` INT(11) NOT NULL,
  `answer` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`student_id`, `question_id`),
  FOREIGN KEY (`question_id`) REFERENCES `exam_questions` (`question_id`)
) ENGINE=InnoDB;

다음으로, 시험 점수를 저장할 테이블을 생성해야 합니다. 각 응시자는 고유한 ID를 갖고 있으며 시험 점수는 부동 소수점 숫자로 표시된다고 가정합니다. 다음 코드를 사용하여 테이블을 생성할 수 있습니다.

CREATE TABLE IF NOT EXISTS `exam_scores` (
  `student_id` INT(11) NOT NULL,
  `score` FLOAT NOT NULL,
  PRIMARY KEY (`student_id`),
  FOREIGN KEY (`student_id`) REFERENCES `exam_answers` (`student_id`)
) ENGINE=InnoDB;

마지막으로 시험 기록을 저장하기 위한 테이블을 생성해야 합니다. 각 응시자마다 고유한 ID가 있고 시험 시작 및 종료 시간과 기간이 각각 타임스탬프로 표시된다고 가정합니다. 다음 코드를 사용하여 테이블을 생성할 수 있습니다.

CREATE TABLE IF NOT EXISTS `exam_records` (
  `student_id` INT(11) NOT NULL,
  `start_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `end_time` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
  `duration` INT(11) NOT NULL,
  PRIMARY KEY (`student_id`),
  FOREIGN KEY (`student_id`) REFERENCES `exam_scores` (`student_id`)
) ENGINE=InnoDB;

위 코드를 사용하여 온라인 시험 시스템에 적합한 테이블 구조를 성공적으로 생성했습니다. 물론 실제 개발에서는 특정 요구에 따라 테이블 구조를 조정하고 확장해야 할 수도 있습니다. 이 기사가 MySQL을 사용하여 온라인 시험 시스템에 적합한 테이블 구조를 만드는 방법을 이해하는 데 도움이 되기를 바랍니다.

위 내용은 MySQL을 사용하여 온라인 시험 시스템에 적합한 테이블 구조를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.