Maison  >  Article  >  base de données  >  Pratique de conception de tables MySQL : créer un calendrier de cours et un calendrier de sélection de cours pour les étudiants

Pratique de conception de tables MySQL : créer un calendrier de cours et un calendrier de sélection de cours pour les étudiants

WBOY
WBOYoriginal
2023-07-01 11:33:225735parcourir

Pratique de conception de tables MySQL : créez un calendrier de cours et un calendrier de sélection des cours des étudiants

Dans le processus de conception de base de données actuel, la conception de tables est l'un des liens clés. Cet article prendra comme exemple la création d'un calendrier de cours et le calendrier de sélection des cours des étudiants pour présenter l'expérience pratique et les compétences de la conception de tables MySQL. Nous utiliserons MySQL comme système de gestion de base de données et fournirons des exemples de code.

  1. Créer un calendrier de cours

Le calendrier des cours est un tableau qui stocke les informations sur les cours. Nous pouvons créer un planning de cours à l'aide de l'instruction SQL suivante :

CREATE TABLE course (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  code VARCHAR(10) NOT NULL,
  credits INT NOT NULL,
  department_id INT,
  CONSTRAINT fk_department
    FOREIGN KEY (department_id)
    REFERENCES department (id)
);

Dans le code ci-dessus, nous utilisons l'instruction CREATE TABLE pour créer une table nommée cours. Le tableau contient les champs suivants :

  • id : identifiant du cours, qui est un type entier et est la clé primaire. Nous utilisons le mot-clé AUTO_INCREMENT pour le rendre auto-incrémenté.
  • name : Nom du cours, un type de chaîne ne dépassant pas 255 caractères, et ne peut pas être vide.
  • code : Code du cours, un type de chaîne ne dépassant pas 10 caractères et ne peut pas être vide.
  • credits : crédits de cours, de type entier, et ne peut pas être vide.
  • department_id : L'identifiant du département où le cours est proposé, qui est de type entier. Nous définissons une contrainte de clé étrangère pour l'associer au champ id du département dans une autre table.
  1. Créer un tableau de sélection de cours pour étudiants

Le tableau de sélection de cours pour étudiants est un tableau qui stocke les informations de sélection de cours pour étudiants. Nous pouvons utiliser l'instruction SQL suivante pour créer une table de sélection de cours pour étudiants :

CREATE TABLE student_course (
  id INT PRIMARY KEY AUTO_INCREMENT,
  student_id INT,
  course_id INT,
  grade FLOAT,
  CONSTRAINT fk_student
    FOREIGN KEY (student_id)
    REFERENCES student (id),
  CONSTRAINT fk_course
    FOREIGN KEY (course_id)
    REFERENCES course (id)
);

Dans le code ci-dessus, nous utilisons l'instruction CREATE TABLE pour créer une table nommée student_course. Le tableau contient les champs suivants :

  • id : ID de sélection de cours, qui est de type entier et est la clé primaire. Nous utilisons le mot-clé AUTO_INCREMENT pour le rendre auto-incrémenté.
  • student_id : carte d'étudiant, un type entier. Nous définissons une contrainte de clé étrangère et l'associons au champ id d'une autre table, student.
  • course_id : ID du cours, un type entier. Nous définissons une contrainte de clé étrangère et l'associons au champ id d'une autre table, bien sûr.
  • grade : la note de sélection du cours de l'étudiant, qui est de type nombre à virgule flottante.
  1. Insérer des données

Après avoir créé la structure du tableau, nous pouvons insérer des exemples de données pour tester si la conception du tableau est correcte . Voici un exemple d'insertion de quelques exemples de données :

INSERT INTO course (name, code, credits, department_id)
VALUES ('数据库原理', 'CS101', 3, 1),
       ('计算机网络', 'CS201', 3, 1),
       ('操作系统', 'CS301', 4, 1),
       ('数据结构', 'CS401', 3, 1);

INSERT INTO student_course (student_id, course_id, grade)
VALUES (1, 1, 90),
       (1, 2, 85),
       (2, 1, 88),
       (3, 3, 92),
       (4, 4, 75);

Dans le code ci-dessus, nous utilisons l'instruction INSERT INTO pour insérer des données dans la table. Plus précisément, nous avons inséré des informations sur quatre cours dans la table des cours et inséré les enregistrements de cinq sélections de cours d'étudiants dans la table student_course.

  1. Requête de données

Une fois la conception de la table terminée, nous pouvons utiliser l'instruction SELECT pour interroger les données de la table. Voici quelques exemples de requêtes courantes :

Requête d'informations sur tous les cours :

SELECT * FROM course;

Requête d'informations sur la sélection de cours d'un étudiant spécifié :

SELECT s.name AS student_name, c.name AS course_name, sc.grade
FROM student_course sc
JOIN student s ON sc.student_id = s.id
JOIN course c ON sc.course_id = c.id
WHERE s.id = 1;

Exemple de code ci-dessus Il démontre que les trois tables student_course, student et course sont connectées via l'instruction JOIN, interrogeant les informations de sélection de cours de l'étudiant avec l'ID d'étudiant 1 et affichant le nom de l'étudiant, le nom du cours et les notes.

Résumé :

Grâce à ce cas pratique, nous avons appris à créer un horaire de cours et un tableau de sélection des cours des étudiants, et avons démontré comment créer des tableaux, insérer des données et interroger des données. à travers des exemples de code. Dans la conception réelle d'une base de données, une conception raisonnable des tables peut améliorer l'efficacité du stockage des données et les performances des requêtes. Lors de la conception de la structure de la table, des facteurs tels que les relations entre les données, la sélection du type de données et les paramètres de contrainte de clé étrangère doivent être pris en compte pour garantir l'exactitude et la cohérence des données. J'espère que cet article vous sera utile dans la conception de tables MySQL.

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