집 >데이터 베이스 >MySQL 튜토리얼 >온라인 시험 시스템의 MySQL 테이블 구조 설계에서의 시험문제 분류 관리 방법
온라인 시험 시스템의 MySQL 테이블 구조 설계에서의 시험 문제 분류 관리 방법
온라인 시험 시스템의 MySQL 테이블 구조 설계 시 문제 분류 관리는 중요한 연결고리입니다. 시험 문제 분류의 합리적인 설계는 시스템의 유지 관리성과 확장성을 향상시키고 관리자가 시험 문제를 관리하는 것을 용이하게 할 수 있습니다. 이 글에서는 MySQL을 기반으로 한 테이블 구조 설계 방법을 소개하고 구체적인 코드 예제를 제공합니다.
1. 요구사항 분석
온라인 시험 시스템에서 시험 문제는 시스템의 핵심 내용 중 하나입니다. 시험관리자가 시험문제를 쉽게 관리할 수 있도록 시험문제를 분류할 필요가 있다. 시험 문제 분류의 계층적 특성과 유연성을 고려하여 다단계 분류 설계를 채택합니다.
2. 테이블 구조 설계
수요 분석 결과를 바탕으로 시험 문제 카테고리를 관리하기 위해 다음과 같은 테이블을 설계했습니다.
테이블 구조 예:
CREATE TABLE `category` ( `category_id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `parent_id` int(11) DEFAULT NULL, PRIMARY KEY (`category_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
테이블 구조 예:
CREATE TABLE `question` ( `question_id` int(11) NOT NULL AUTO_INCREMENT, `content` varchar(500) NOT NULL, `category_id` int(11) NOT NULL, PRIMARY KEY (`question_id`), CONSTRAINT `fk_question_category` FOREIGN KEY (`category_id`) REFERENCES `category` (`category_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3. 코드 예
다음은 시험 문제 카테고리를 관리하기 위해 일반적으로 사용되는 작업 예입니다.
모든 카테고리 쿼리
SELECT * FROM category;
특정 카테고리 하위 카테고리에 있는 모든 항목 쿼리
SELECT * FROM category WHERE parent_id = {parent_id};
특정 카테고리에 속하는 모든 시험 문제를 조회합니다
SELECT question.* FROM question INNER JOIN category ON question.category_id = category.category_id WHERE category.category_id = {category_id};
IV. 요약
온라인 시험 시스템의 MySQL 테이블 구조 설계에 시험 문제 분류 관리 방법을 도입함으로써 합리적인 테이블 구조 설계 및 코드 구현을 통해 시험 문제 분류를 유연하게 관리할 수 있습니다. 다단계 분류를 기반으로 한 이 설계 방법은 다양한 수준과 깊이의 시험 문제 분류 요구를 충족할 수 있으며 시험 관리자의 시험 문제 관리를 용이하게 합니다.
위 내용은 온라인 시험 시스템의 MySQL 테이블 구조 설계에서의 시험문제 분류 관리 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!