ホームページ >データベース >mysql チュートリアル >オンライン試験システムのMySQLテーブル構造設計における試験問題分類管理方法

オンライン試験システムのMySQLテーブル構造設計における試験問題分類管理方法

WBOY
WBOYオリジナル
2023-10-31 10:37:49804ブラウズ

オンライン試験システムのMySQLテーブル構造設計における試験問題分類管理方法

オンライン試験システムの MySQL テーブル構造設計における試験問題分類管理方法

オンライン試験システムの MySQL テーブル構造設計における試験問題分類管理は重要なリンクです。テスト問題分類の合理的な設計により、システムの保守性と拡張性が向上し、管理者によるテスト問題の管理が容易になります。この記事では、MySQL をベースにしたテーブル構造の設計方法と具体的なコード例を紹介します。

1. 要件分析
オンライン試験システムでは、試験問題はシステムの中心的なコンテンツの 1 つです。試験管理者が試験問題を管理しやすくするために、試験問題を分類する必要があります。試験問題分類の階層性と柔軟性を考慮し、多段階の分類設計を採用します。

2. テーブル構造の設計
需要分析の結果に基づいて、テスト問題分類を管理するために次のテーブルを設計しました:

  1. category (テスト問題分類テーブル)
    フィールド:
  2. category_id: カテゴリ ID、主キー;
  3. name: カテゴリ名;
  4. parent_id: 親カテゴリ ID、マルチレベル分類の実装に使用されます。

テーブル構造の例:

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;
  1. question (質問テーブル)
    フィールド:
  2. question_id: 質問 ID、主キー;
  3. content: テスト質問の内容;
  4. category_id: カテゴリ ID、外部キー。

テーブル構造の例:

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. コード例
以下は、テスト問題分類を管理するために使用される一般的な操作例です。

  1. すべてのカテゴリをクエリする

    SELECT * FROM category;
  2. 特定のカテゴリの下にあるすべてのサブカテゴリをクエリする

    SELECT * FROM category WHERE parent_id = {parent_id};
  3. 特定のカテゴリの下にあるすべてのサブカテゴリをクエリするテストの質問

    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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。