Introduction
Dans ce projet, vous allez apprendre à créer une base de données de gestion de personnel à l'aide de MySQL. La base de données stockera des informations sur les employés, leurs unités de travail et leurs détails de résidence.
👀 Aperçu
MariaDB [companySys]> DESC company;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| company_name | varchar(50) | NO | PRI | NULL | |
| city | varchar(10) | YES | | NULL | |
+--------------+-------------+------+-----+---------+-------+
2 rows in set (0.001 sec)
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment accéder à MySQL en utilisant la commande
sudo - Comment créer une base de données appelée
companySys - Comment créer trois tables :
company,worketemploy - Comment définir les contraintes de clé primaire et de clé étrangère appropriées pour chaque table
- Comment insérer des données dans les tables
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Comprendre les bases de la création et de la gestion de bases de données
- Mettre en œuvre les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) sur une base de données relationnelle
- Établir des relations entre les tables à l'aide de clés primaires et étrangères
- Gérer et manipuler des données dans une base de données de gestion de personnel
Accéder à MySQL et créer la base de données
Dans cette étape, vous allez apprendre à accéder à MySQL en utilisant la commande sudo et à créer la base de données companySys.
- Ouvrez un terminal et exécutez la commande suivante pour démarrer le service MySQL :
sudo service mysql start
- Accédez à MySQL en utilisant la commande
sudo:
sudo mysql
- Ouvrez le fichier
creatComDatabase.sql. - Dans le fichier
creatComDatabase.sql, créez la base de donnéescompanySysavec le jeu de caractères UTF-8 :
CREATE DATABASE IF NOT EXISTS companySys DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- Utilisez la base de données
companySys:
USE companySys;
Créer les tables
Dans cette étape, vous allez créer les trois tables : company, work et employ.
- Ouvrez le fichier
creatComDatabase.sqlet créez les tables suivantes dans le fichier dans l'ordre. - Créez la table
company:
CREATE TABLE IF NOT EXISTS company (
company_name varchar(50) NOT NULL,
city varchar(10),
PRIMARY KEY (company_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- Créez la table
work:
CREATE TABLE IF NOT EXISTS work (
per_name varchar(10) NOT NULL,
company_name varchar(50),
salary decimal(10,2),
PRIMARY KEY (per_name),
FOREIGN KEY (company_name) REFERENCES company(company_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- Créez la table
employ:
CREATE TABLE IF NOT EXISTS employ (
id int NOT NULL,
person_name varchar(10),
street varchar(100),
city varchar(10),
PRIMARY KEY (id),
FOREIGN KEY (person_name) REFERENCES work(per_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Insérer les données
Dans cette étape, vous allez insérer les données dans les trois tables.
- Ouvrez le fichier
creatComDatabase.sqlet continuez de la précédente étape pour ajouter l'énoncé SQL suivant. - Insérez des données dans la table
company:
INSERT INTO company (company_name, city) VALUES
('ABC Company', 'New York'),
('LabEx', 'London'),
('Company 3', 'Paris');
- Insérez des données dans la table
work:
INSERT INTO work (per_name, company_name, salary) VALUES
('John', 'ABC Company', 5000.00),
('Jane', 'LabEx', 6000.00),
('Mary', 'Company 3', 5500.00);
- Insérez des données dans la table
employ:
INSERT INTO employ (id, person_name, street, city) VALUES
(1, 'John', '123 Main Street', 'New York'),
(2, 'Jane', '456 Park Avenue', 'London'),
(3, 'Mary', '789 Broadway', 'Paris');
Vérifier la base de données
Dans cette étape, vous allez vérifier la base de données en décrivant les tables.
- Dans le client MySQL, exécutez la commande suivante pour exécuter le script SQL :
MariaDB [(none)]> SOURCE /home/labex/project/creatComDatabase.sql;
- Décrivez la table
company:
DESC company;
MariaDB [companySys]> DESC company;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| company_name | varchar(50) | NO | PRI | NULL | |
| city | varchar(10) | YES | | NULL | |
+--------------+-------------+------+-----+---------+-------+
2 rows in set (0.001 sec)
- Décrivez la table
employ:
DESC employ;
MariaDB [companySys]> DESC employ;
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| person_name | varchar(10) | YES | MUL | NULL | |
| street | varchar(100) | YES | | NULL | |
| city | varchar(10) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+
4 rows in set (0.001 sec)
- Décrivez la table
work:
DESC work;
MariaDB [companySys]> DESC work;
+--------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+-------+
| per_name | varchar(10) | NO | PRI | NULL | |
| company_name | varchar(50) | YES | MUL | NULL | |
| salary | decimal(10,2) | YES | | NULL | |
+--------------+---------------+------+-----+---------+-------+
3 rows in set (0.001 sec)
Vous avez maintenant créé avec succès la base de données de gestion de personnel et inséré les données. Félicitations!
Résumé
Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.
