Système de gestion des notes d'étudiants

SQLBeginner
Pratiquer maintenant

Introduction

Dans ce projet, vous apprendrez à créer un système de gestion d'informations sur les étudiants en utilisant MySQL. Ce système comprend deux tables : student_info et student_score, avec une relation de clé étrangère entre elles.

👀 Aperçu

MySQL [studentSys]> DESC student_info;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| Id    | int         | NO   | PRI | NULL    | auto_increment |
| name  | varchar(10) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.002 sec)

MySQL [studentSys]> DESC student_score;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| Id    | int        | NO   | PRI | NULL    |       |
| score | varchar(4) | YES  |     | NULL    |       |
| Sid   | int        | YES  | MUL | NULL    |       |
+-------+------------+------+-----+---------+-------+
3 rows in set (0.001 sec)

🎯 Tâches

Dans ce projet, vous apprendrez :

  • Comment démarrer le serveur MySQL et vous connecter au terminal MySQL
  • Comment créer une base de données et des tables en utilisant des instructions SQL
  • Comment établir une relation de clé étrangère entre deux tables

🏆 Réalisations

Après avoir terminé ce projet, vous serez en mesure de :

  • Comprendre le concept de base de données relationnelle et savoir comment créer et gérer des tables
  • Mettre en œuvre une contrainte de clé étrangère pour garantir l'intégrité des données entre les tables liées
  • Appliquer vos connaissances en SQL pour construire un simple système de gestion d'informations sur les étudiants

Démarrer MySQL et créer la base de données

Dans cette étape, vous apprendrez à démarrer le serveur MySQL et à créer la base de données studentSys.

  1. Démarrez le serveur MySQL :

    sudo /etc/init.d/mysql start
    
  2. Connectez-vous au terminal MySQL :

    mysql -uroot
    
  3. Créez un nouveau fichier nommé studentSys.sql dans le répertoire /home/labex/project.

  4. Dans le fichier studentSys.sql, créez la base de données studentSys :

    DROP DATABASE IF EXISTS studentSys;
    CREATE DATABASE IF NOT EXISTS studentSys CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    

    L'instruction DROP DATABASE IF EXISTS vérifie si la base de données studentSys existe déjà, et si c'est le cas, elle la supprime. L'instruction CREATE DATABASE IF NOT EXISTS crée ensuite la base de données studentSys avec le jeu de caractères et la collation spécifiés.

Créer la table student_info

Dans cette étape, vous apprendrez à créer la table student_info.

  1. Dans le fichier studentSys.sql, utilisez la base de données studentSys :

    USE studentSys;
    
  2. Créez la table student_info :

    DROP TABLE IF EXISTS student_info;
    CREATE TABLE student_info (
        Id INT NOT NULL AUTO_INCREMENT,
        name VARCHAR(10),
        PRIMARY KEY (Id)
    );
    

    L'instruction DROP TABLE IF EXISTS vérifie si la table student_info existe déjà, et si c'est le cas, elle la supprime. L'instruction CREATE TABLE crée ensuite la table student_info avec deux colonnes : Id et name. La colonne Id est définie comme clé primaire et est configurée pour s'incrémenter automatiquement.

Créer la table student_score et établir la relation de clé étrangère

Dans cette étape, vous apprendrez à créer la table student_score et à établir une relation de clé étrangère entre la table student_score et la table student_info.

  1. Dans le fichier studentSys.sql, créez la table student_score :

    DROP TABLE IF EXISTS student_score;
    CREATE TABLE student_score (
        Id INT NOT NULL,
        score VARCHAR(4),
        Sid INT,
        PRIMARY KEY (Id),
        FOREIGN KEY (Sid) REFERENCES student_info(Id)
    );
    

    L'instruction DROP TABLE IF EXISTS vérifie si la table student_score existe déjà, et si c'est le cas, elle la supprime. L'instruction CREATE TABLE crée ensuite la table student_score avec trois colonnes : Id, score et Sid.

    L'instruction PRIMARY KEY (Id) définit la colonne Id comme clé primaire de la table student_score.

    L'instruction FOREIGN KEY (Sid) REFERENCES student_info(Id) établit une relation de clé étrangère entre la colonne Sid de la table student_score et la colonne Id de la table student_info. Cela signifie que les valeurs de la colonne Sid de la table student_score doivent correspondre aux valeurs de la colonne Id de la table student_info.

  2. Dans l'invite MySQL, exécutez la commande suivante pour exécuter le script studentSys.sql :

SOURCE ~/project/studentSys.sql

Après avoir effectué ces étapes, vous avez créé la base de données studentSys, la table student_info et la table student_score, et établi une relation de clé étrangère entre les deux tables.

MySQL [studentSys]> DESC student_info;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| Id    | int         | NO   | PRI | NULL    | auto_increment |
| name  | varchar(10) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.002 sec)

MySQL [studentSys]> DESC student_score;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| Id    | int        | NO   | PRI | NULL    |       |
| score | varchar(4) | YES  |     | NULL    |       |
| Sid   | int        | YES  | MUL | NULL    |       |
+-------+------------+------+-----+---------+-------+
3 rows in set (0.001 sec)

Résumé

Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.

✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer