Maison > Article > base de données > Comment concevoir la structure de la table MySQL pour prendre en charge les statistiques des résultats des tests du système d'examen en ligne ?
Comment concevoir la structure de table MySQL pour prendre en charge les statistiques de résultats aux tests du système d'examen en ligne ?
Introduction
Le système d'examen en ligne est l'un des éléments importants de l'éducation moderne. Afin d'effectuer des statistiques et des analyses sur les résultats des tests des étudiants, il est nécessaire de concevoir une structure de table de base de données appropriée pour stocker les informations sur les tests. Cet article expliquera comment concevoir la structure de table MySQL pour prendre en charge les statistiques de résultats aux tests du système d'examen en ligne et fournira des exemples de code spécifiques.
Conception de la structure des tables
Lors de la conception de la structure des tables MySQL, des facteurs tels que les étudiants, les examens, les questions des tests et les scores doivent être pris en compte. Ce qui suit est un exemple simple de conception de structure de table.
Tableau des étudiants (étudiants)
Nom du champ | Type de données | Description |
---|---|---|
id | INT | ID étudiant |
nom | VARCHAR | Nom de l'étudiant |
grade | VARCHAR | Note de l'élève |
class | VARCHAR | Class |
Heure de création | DATETIME | Heure à laquelle les informations sur l'élève ont été créées |
Formulaire d'examen (examens)
Nom du champ | Type de données | Description |
---|---|---|
id | INT | ID de l'examen |
nom | VARCHAR | Nom de l'examen |
time | DATETIME | Heure de l'examen |
Sujets | VARCHAR | Sujets d'examen |
Heure de création | DATETIME | Heure de création des informations d'examen |
Questions (questions)
Nom du champ | Type de données | Description |
---|---|---|
id | INT | ID d'examen |
exam_id | INT | ID d'examen |
content | TEXT | Contenu de la question d'examen |
Réponse | VARCHAR | Réponse correcte Au moment de la création eDateTime |
Scores (Scores) |
InT | Score ID | |
---|---|---|
Carte d'étudiant | exam_id | |
ID d'examen | score | |
Réalisations | Heure de création | |
Heure à laquelle les informations de note ont été créées | Exemple de code | |
Vérifiez tous les scores d'un étudiant | Vérifiez la note moyenne d'un certain examen |
Vérifiez la liste des étudiants qui ont échoué à un certain examen
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>;
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;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!