0% ont trouvé ce document utile (0 vote)
2 vues3 pages

TD1 SQL

Le document présente un exercice de TD sur SQL pour gérer un atelier de maintenance industrielle et un stock de pièces détachées. Il inclut la création de tables, l'insertion de données, des requêtes de sélection, des mises à jour et des suppressions, ainsi que des expressions en algèbre relationnelle. De plus, il aborde la gestion de mesures de capteurs avec des questions SQL et des expressions d'algèbre relationnelle.

Transféré par

manssourianas23
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues3 pages

TD1 SQL

Le document présente un exercice de TD sur SQL pour gérer un atelier de maintenance industrielle et un stock de pièces détachées. Il inclut la création de tables, l'insertion de données, des requêtes de sélection, des mises à jour et des suppressions, ainsi que des expressions en algèbre relationnelle. De plus, il aborde la gestion de mesures de capteurs avec des questions SQL et des expressions d'algèbre relationnelle.

Transféré par

manssourianas23
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Filière : 2TSI3 2025/2026

TD 1 - SQL
Exercice 1 :
On souhaite gérer un petit atelier de maintenance industrielle.

1) Création des tables


Créer les tables suivantes :
— TECHNICIEN(idT, nom, prenom, specialite, date_embauche)
— INTERVENTION(idI, machine, type_panne, date_interv, duree_h, statut)
Contraintes :
— idT et idI sont des clés primaires.
— duree_h est un réel strictement positif.
— statut appartient à {’OUVERTE’, ’EN_COURS’, ’CLOTUREE’}.
— specialite appartient à {’Mecanique’, ’Electrique’, ’Automatisme’}.

2) Insertion des données


Insérer les enregistrements suivants :

Table TECHNICIEN
— (1, ’El Amrani’, ’Youssef’, ’Mecanique’, ’2023-02-10’)
— (2, ’Berrada’, ’Sara’, ’Electrique’, ’2024-09-01’)

Table INTERVENTION
— (101, ’Robot’, ’capteur temperature HS’, ’2025-10-12’, 2.5, ’OUVERTE’)
— (102, ’Convoyeur’, ’courroie detendue’, ’2025-10-15’, 4.0, ’CLOTUREE’)

3) Requêtes de sélection
Écrire les requêtes SQL suivantes :

1. Afficher toutes les interventions.


2. Afficher machine, type_panne des interventions au statut ’OUVERTE’.
3. Afficher les interventions dont la date est comprise entre ’2025-09-01’ et ’2025-12-31’.
4. Afficher les interventions dont le champ machine contient ’Robot’.
5. Afficher les techniciens de spécialité ’Electrique’.
6. Afficher les techniciens dont la spécialité n’est pas dans (’Mecanique’, ’Automatisme’).
7. Afficher les interventions de durée supérieure ou égale à 4 heures.

4) UPDATE / DELETE
1. Mettre le statut à ’EN_COURS’ pour toutes les interventions au statut ’OUVERTE’.
2. Augmenter de 0,5 heure la durée de toutes les interventions de type_panne contenant le mot ’capteur’.
3. Supprimer les interventions ’CLOTUREE’ dont la date est antérieure à ’2024-01-01’.

5) Algèbre relationnelle
On note :
T = TECHNICIEN(idT, nom, prenom, specialite, date_embauche),
I = INTERVENTION(idI, machine, type_panne, date_interv, duree_h, statut).
Donner une expression d’algèbre relationnelle pour :

1. Les noms et prénoms des techniciens de spécialité Electrique.


2. Les machines des interventions au statut OUVERTE.
3. Les machines et dates des interventions dont la date est comprise entre 2025-09-01 et 2025-12-31.

©CPGE Settat 1 Ibtihal BAILAL


Filière : 2TSI3 2025/2026

TD 1 - SQL
Exercice 2 :
On gère un petit stock de pièces détachées.

1) Création des tables


Créer :
— FOURNISSEUR(idF, nom, pays, email)
— PIECE(idP, reference, designation, categorie, prix_unitaire, quantite, actif)
Contraintes :
— email est unique.
— prix_unitaire est strictement positif.
— quantite est un entier ≥ 0.
— actif est booléen (0/1).
— categorie appartient à {’Roulement’, ’Capteur’, ’Courroie’, ’Visserie’}.

2) Insertion
Insérer les enregistrements suivants :

Table FOURNISSEUR
— (10, ’MaghrebParts’, ’Maroc’, ’contact@[Link]’)
— (11, ’IbericaTech’, ’Espagne’, ’sales@[Link]’)

Table PIECE
— (200, ’TSI-CP-019’, ’Capteur pression 0-10bar’, ’Capteur’, 180.0, 12, 1)
— (201, ’TSI-RL-105’, ’Roulement 6205’, ’Roulement’, 35.5, 0, 1)

3) Clés primaires et clés étrangères


1. Indiquer les clés primaires de chacune des tables FOURNISSEUR et PIECE.
2. Cette modélisation ne contient aucune clé étrangère. Proposer une modification minimale des tables afin
d’introduire une relation :
“Chaque pièce est fournie par un fournisseur”.
— Indiquer l’attribut à ajouter (ou modifier) et préciser la clé étrangère correspondante.
— Écrire la contrainte SQL FOREIGN KEY correspondante.

4) Sélection
1. Afficher toutes les pièces actives.
2. Afficher reference, designation, prix_unitaire des pièces de catégorie ’Capteur’.
3. Afficher les pièces dont le prix unitaire est entre 50 et 300.
4. Afficher les pièces dont la référence commence par ’TSI-’.
5. Afficher les fournisseurs dont le pays est dans (’Maroc’, ’France’, ’Espagne’).
6. Afficher les pièces dont la catégorie n’est pas dans (’Visserie’, ’Courroie’).
7. Afficher les pièces en rupture de stock.

5) UPDATE / DELETE
1. Appliquer une augmentation de 5% du prix_unitaire pour la catégorie ’Roulement’.
2. Mettre actif = 0 pour les pièces dont la quantité est égale à 0.
3. Supprimer les pièces inactives dont le prix unitaire est inférieur à 10.

©CPGE Settat 2 Ibtihal BAILAL


Filière : 2TSI3 2025/2026

TD 1 - SQL
6) Algèbre relationnelle
On note :
F = FOURNISSEUR(idF, nom, pays, email),
P = PIECE(idP, ref erence, designation, categorie, prix_unitaire, quantite, actif ).
Exprimer en algèbre relationnelle :
1. Les références et désignations des pièces de catégorie Capteur.
2. Les références des pièces dont le prix unitaire est strictement supérieur à 300.
3. Les noms et emails des fournisseurs situés au Maroc.

Exercice 3 :
On considère la table :

MESURE(idM, capteur, grandeur, valeur, unite, date_mesure)

avec :
— capteur : identifiant du capteur (ex : ’C1’, ’C2’, ’C3’)
— grandeur dans {’Temperature’, ’Pression’, ’Vibration’}
— unite (ex : ’C’, ’bar’, ’mm/s’)

1) Jeu de données
Insérer les enregistrements suivants :
— (1, ’C1’, ’Temperature’, 72.5, ’C’, ’2025-10-03’)
— (2, ’C3’, ’Pression’, 6.8, ’bar’, ’2025-10-20’)

2) Questions SQL
1. Afficher toutes les mesures.
2. Afficher les mesures de grandeur ’Temperature’.
3. Afficher les mesures dont la valeur est entre 20 et 80.
4. Afficher les mesures dont le champ capteur est dans (’C1’, ’C3’).
5. Afficher les mesures dont la grandeur n’est pas dans (’Vibration’).
6. Afficher les mesures dont l’unité contient ’bar’.
7. Afficher les mesures entre ’2025-10-01’ et ’2025-10-31’.

3) Algèbre relationnelle
On note M = MESURE(idM, capteur, grandeur, valeur, unite, date_mesure). Exprimer :
1. Les couples (capteur, valeur) des mesures de température.
2. Les dates des mesures dont la valeur est au moins 80.
3. Les capteurs ayant des mesures en octobre 2025.

©CPGE Settat 3 Ibtihal BAILAL

Vous aimerez peut-être aussi