Maison  >  Article  >  base de données  >  Comment concevoir la structure de table MySQL pour prendre en charge la gestion des questions de test du système d'examen en ligne ?

Comment concevoir la structure de table MySQL pour prendre en charge la gestion des questions de test du système d'examen en ligne ?

WBOY
WBOYoriginal
2023-10-31 08:01:41886parcourir

Comment concevoir la structure de table MySQL pour prendre en charge la gestion des questions de test du système dexamen en ligne ?

Comment concevoir la structure de table MySQL pour prendre en charge la gestion des questions de test du système d'examen en ligne ?

Les systèmes d'examen en ligne nécessitent généralement la gestion des questions de test, y compris l'ajout, la suppression, la modification et l'interrogation des questions de test. Afin de prendre en charge ces opérations, nous devons concevoir une structure de table MySQL raisonnable pour stocker les données des questions de test. Ce qui suit présentera comment concevoir cette structure de table et donnera des exemples de code correspondants.

Tout d'abord, nous devons créer un tableau nommé « questions » pour stocker les informations de base des questions du test, y compris l'ID de la question, le titre, les options, les réponses, etc. La structure de la table peut être conçue comme suit :

CREATE TABLE questions(

id INT NOT NULL AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
option1 VARCHAR(255) NOT NULL,
option2 VARCHAR(255) NOT NULL,
option3 VARCHAR(255) NOT NULL,
option4 VARCHAR(255) NOT NULL,
answer VARCHAR(255) NOT NULL,
PRIMARY KEY (id)

);

Dans cette table, le champ id est l'identifiant unique de la question. En définissant AUTO_INCREMENT, la base de données génère automatiquement l'ID de. la question. Le champ de titre est utilisé pour stocker le titre de la question de test, les champs option1 à option4 stockent respectivement les options de la question de test et le champ de réponse stocke la réponse à la question de test.

Ensuite, nous pouvons créer un tableau nommé « examens » pour stocker les informations sur le papier de test, y compris l'identifiant du papier de test, le nom, la description, etc. Nous pouvons également ajouter une clé étrangère à ce tableau pour associer l'identifiant de la question à l'épreuve. Cela facilite la recherche des questions incluses dans la copie d’examen. La structure du tableau est la suivante :

CREATE TABLE exams(

id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
description VARCHAR(255) NOT NULL,
PRIMARY KEY (id)

);

Dans ce tableau, le champ id est l'identifiant unique de la copie d'examen. En définissant AUTO_INCREMENT, la base de données génère automatiquement l'ID de l'examen. papier d'examen. Le champ de nom stocke le nom du papier de test et le champ de description stocke la description du papier de test.

Ensuite, nous pouvons créer une table nommée "exam_questions" pour stocker les informations sur les questions dans la copie d'examen. Ce tableau peut contenir l'ID de l'épreuve et l'ID de la question du test, qui est utilisé pour représenter les questions incluses dans l'épreuve. La structure du tableau est la suivante :

CREATE TABLE exam_questions(

exam_id INT NOT NULL,
question_id INT NOT NULL,
FOREIGN KEY (exam_id) REFERENCES exams(id),
FOREIGN KEY (question_id) REFERENCES questions(id)

);

Dans ce tableau, le champ exam_id et le champ question_id représentent respectivement l'ID de l'épreuve de test et l'ID de la question. Créez des associations avec la table des examens et la table des questions en définissant FOREIGN KEY.

Grâce à la conception ci-dessus, nous pouvons réaliser la fonction de gestion des questions du système d'examen en ligne. Vous pouvez ajouter des questions de test et des épreuves de test en insérant des données, et obtenir des informations sur les questions de test et les épreuves de test via des instructions de requête. Un exemple de code est donné ci-dessous :

  1. Insérer des questions INTO :

INSERT INTO questions (titre, option1, option2, option3, option4, réponse) VALEURS ('Question 1', 'Option A', 'Option B', 'Option C', 'Option D', 'Réponse A');

  1. Insérer DANS les examens (nom, description) VALEURS ('Examen A', 'Ceci est la description de l'examen A');

Insérer des questions dans la copie d'examen :

  1. INSERT INTO exam_questions (exam_id, question_id) VALUES (1, 1);

Requête d'informations sur la question :

  1. SELECT * FROM questions ;

Requête de questions dans la copie d'examen :

  1. SELECT questions.title FROM exam_questions
  2. JOIN questions ON exam_questions.question_id = questions.id
WHERE exam_questions.exam_id = 1;


Grâce à l'exemple de code ci-dessus, nous pouvons implémenter les fonctions de gestion et de requête des questions et des épreuves de test.

Pour résumer, concevoir la structure des tables MySQL pour prendre en charge la gestion des questions du système d'examen en ligne nécessite la création de trois tables : la table des questions, la table des examens et la table exam_questions. Ces tables peuvent être liées via des clés primaires et des clés étrangères pour réaliser les fonctions de gestion et d'interrogation des questions de test et des épreuves de test. L'exemple de code est donné ci-dessus, j'espère qu'il vous sera utile pour comprendre et mettre en œuvre la gestion des questions de test du système d'examen en ligne.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn