UNIVERSITE HASSAN 1ER
Année Universitaire 2023 - 2024
FACULTE DES SCIENCES ET TECHNIQUES
DEPARTEMENT MATHEMATIQUES ET INFORMATIQUE
Filière : MIP - S4
Mr. Fath Mounassif
[Link]@[Link]
TP N°02 - Base de Données
Objectifs :
— Comprendre et manipuler les bases de données relationnelles sous MySQL.
— Maîtriser les requêtes de création, insertion, mise à jour et suppression.
— Exploiter les requêtes avancées avec JOIN, GROUP BY, HAVING, CASE, et
IN(...).
Questions à répondre
1. Création de la Base de Données
1. Créez la base de données Company.
2. Création des Tables
1. Créez les tables suivantes avec leurs champs et descriptions :
— Department : Contient les informations sur les départements
de l’entreprise.
— DeptID : Identifiant unique du département (clé
primaire, auto-incrémenté).
— Name : Nom du département (chaîne de carac-
tères, obligatoire).
— Location : Localisation du département (chaîne
de caractères).
1
— Employee : Contient les informations sur les employés de l’en-
treprise.
— EmpID : Identifiant unique de l’employé (clé pri-
maire, auto-incrémenté).
— Name : Nom de l’employé (chaîne de caractères,
obligatoire).
— Age : Âge de l’employé (entier).
— Salary : Salaire de l’employé (décimal, 10 chiffres
au total, 2 décimales).
— DeptID : (clé étrangère référençant [Link]).
— Project : Contient les informations sur les projets de l’entre-
prise.
— ProjID : Identifiant unique du projet (clé pri-
maire, auto-incrémenté).
— Title : Titre du projet (chaîne de caractères,
obligatoire).
— Budget : Budget du projet (décimal, 12 chiffres
au total, 2 décimales).
— DeptID : Identifiant du département responsable
du projet (clé étrangère référençant [Link]).
3. Insertion des Données
1. Insérez des données dans les tables Department, Employee, et Project en
utilisant les enregistrements suivants :
— Department :
— (’Informatique’, ’Paris’)
— (’Ressources Humaines’, ’Lyon’)
— (’Finance’, ’Marseille’)
— Employee :
— (’Alice’, 28, 3500.00, 1)
— (’Bob’, 35, 5000.00, 1)
— (’Charlie’, 30, 4500.00, 2)
— (’David’, 40, 6000.00, 3)
— (’Emma’, 29, 3800.00, 1)
— Project :
2
— (’Migration Cloud’, 100000.00, 1)
— (’Formation Employés’, 20000.00, 2)
— (’Audit Financier’, 50000.00, 3)
4. Requêtes de Sélection avec IN(...)
1. Afficher les employés appartenant aux départements Informatique
et Finance :
2. Lister les projets avec un budget compris entre 20 000€ et 100 000€ :
3. Trouver les employés qui ont un âge de 28 ou 30 ans :
5. Requêtes avec CASE
1. Afficher les employés avec une catégorie de salaire (Bas, Moyen,
Élevé) :
2. Afficher les projets avec une classification du budget (Petit, Moyen,
Grand) :
3. Attribuer un statut aux employés en fonction de leur âge (Junior,
Senior, Expert) :
6. Requêtes combinées avec JOIN, GROUP BY, HAVING
1. Afficher les employés avec leur département et leur classification de
salaire :
2. Nombre d’employés par département, mais seulement si le départe-
ment a plus de 2 employés :
3. Afficher les départements ayant un budget moyen supérieur à 30
000€ :