オンライン試験システムの MySQL テーブル構造設計における試験問題分類管理方法
オンライン試験システムの MySQL テーブル構造設計における試験問題分類管理は重要なリンクです。テスト問題分類の合理的な設計により、システムの保守性と拡張性が向上し、管理者によるテスト問題の管理が容易になります。この記事では、MySQL をベースにしたテーブル構造の設計方法と具体的なコード例を紹介します。
1. 要件分析
オンライン試験システムでは、試験問題はシステムの中心的なコンテンツの 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};
4. 概要
オンライン試験システムの MySQL テーブル構造設計における試験問題分類管理手法の導入を通じて、合理的なテーブル構造設計とコードを通じて、柔軟な試験問題分類管理を実現します。マルチレベル分類に基づくこの設計方法は、さまざまなレベルと深さでの試験問題分類のニーズを満たすことができ、試験管理者による試験問題の管理を容易にします。
以上がオンライン試験システムのMySQLテーブル構造設計における試験問題分類管理方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。