ホームページ >データベース >mysql チュートリアル >オンライン試験システムのテストスコア統計をサポートする MySQL テーブル構造を設計するにはどうすればよいですか?

オンライン試験システムのテストスコア統計をサポートする MySQL テーブル構造を設計するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-10-31 09:42:321250ブラウズ

オンライン試験システムのテストスコア統計をサポートする MySQL テーブル構造を設計するにはどうすればよいですか?

オンライン試験システムのテストスコア統計をサポートする MySQL テーブル構造を設計するにはどうすればよいですか?

はじめに
オンライン試験システムは現代の教育の重要な要素の 1 つです。学生のテストのスコアの統計と分析を行うには、テスト情報を保存する適切なデータベース テーブル構造を設計する必要があります。この記事では、オンライン試験システムのテストスコア統計をサポートするための MySQL テーブル構造の設計方法を紹介し、具体的なコード例を示します。

テーブル構造の設計
MySQL テーブル構造を設計するときは、学生、試験、テスト問題、スコアなどの要素を考慮する必要があります。以下は簡単なテーブル構造の設計例です。

Students テーブル (学生)

#idINT学生 ID##name学年クラスVARCHARClass作成時間DATETIME学生情報作成時間#試験フォーム (試験)
フィールド名 データ型 説明
VARCHAR 学生の名前
VARCHAR 学生の学年

フィールド名データ型idINTVARCHARDATETIMEVARCHARDATETIME質問 (質問)
説明
試験 ID name
試験名 時間
試験時間 件名
試験科目 作成時刻
試験情報作成時刻

フィールド名データ型idINTINT TEXTVARCHARDATETIMEスコア
説明
試験 ID exam_id
試験ID 内容
質問内容 回答
正解 作成時間
テスト問題情報作成時間

##フィールド名

データ型説明idINT 学年 IDstudent_idINTStudent IDexam_idINT試験 ID スコアFLOAT スコア作成時刻DATETIMEスコア情報作成時刻上記のテーブル構造を利用したクエリのサンプルコードを以下に示します。
サンプルコード
学生のすべてのスコアをクエリする


SELECT e.name AS exam_name, s.score
FROM scores AS s
JOIN exams AS e ON s.exam_id = e.id
WHERE s.student_id = <student_id>;

    特定の試験の平均スコアをクエリする
  1. SELECT AVG(score) AS average_score
    FROM scores AS s
    WHERE s.exam_id = <exam_id>;
    特定の試験に不合格となった学生のリストをクエリする
  1. SELECT st.name AS student_name, s.score
    FROM scores AS s
    JOIN students AS st ON s.student_id = st.id
    WHERE s.exam_id = <exam_id>
    AND s.score < <passing_score>;
    特定の試験の各スコア範囲の学生の数をクエリする
  1. SELECT COUNT(*) AS count,
    CASE
      WHEN score >= 90 THEN 'A'
      WHEN score >= 80 THEN 'B'
      WHEN score >= 70 THEN 'C'
      WHEN score >= 60 THEN 'D'
      ELSE 'F'
    END AS grade
    FROM scores
    WHERE exam_id = <exam_id>
    GROUP BY grade;
概要
    デザインオンライン試験システムの試験スコア統計をサポートするための MySQL テーブル構造は、重要かつ複雑なタスクです。テーブル構造を合理的に設計し、クエリ文を柔軟に使用することで、さまざまなテストスコアの統計や分析を簡単に実行できます。上記は簡単な例であり、実際のニーズに応じて適切に調整および拡張できます。

以上がオンライン試験システムのテストスコア統計をサポートする MySQL テーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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